Firelinks MCP Server
Enables interaction with the Firelinks link shortening platform to create and manage short links, track click statistics, manage custom domains, and compare analytics periods through natural language.
README
Firelinks MCP Server
MCP (Model Context Protocol) server for the Firelinks platform, allowing external LLMs (Large Language Models) to interact with the Firelinks API - https://firelinks.cc/p/api
Description
This server implements the MCP protocol developed by Anthropic and provides a set of tools for working with the Firelinks platform:
- Link Management: create, retrieve, edit short links
- Statistics: get detailed click statistics, compare periods
- Domains: manage custom domains
- Servers: get list of available servers
Architecture
LLM client → HTTPS (mcp.firelinks.cc) → Node.js MCP Server → Firelinks API Backend
Requirements
- Node.js >= 20.0.0
- Docker and Docker Compose (for containerization)
- Firelinks API token
Installation
Local Development
- Install dependencies:
cd mcp-server
npm install
- Create
.envfile based on.env.example:
cp .env.example .env
- Configure environment variables in
.env:
PORT=3000
LARAVEL_API_URL=https://firelinks.cc/api
NODE_ENV=development
- Start the server:
npm start
Or for development mode with auto-reload:
npm run dev
Docker
- Build the image:
docker build -t firelinks-mcp-server .
- Run the container:
docker run -d \
-p 3000:3000 \
-e LARAVEL_API_URL=https://firelinks.cc/api \
--name firelinks-mcp-server \
firelinks-mcp-server
Docker Compose
docker-compose up -d
Usage
Endpoints
GET /health- server health checkPOST /mcp- main MCP endpoint (JSON-RPC 2.0)GET /sse- Server-Sent Events for streaming
Authentication
All requests to /mcp require an authentication token in the header:
Authorization: Bearer YOUR_API_TOKEN
You can get an API token in your Firelinks account.
Integration with LLM Clients
Claude Desktop
Add to Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"firelinks": {
"url": "https://mcp.firelinks.cc/mcp",
"transport": "http",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Cursor
Add to Cursor configuration (mcp.json):
{
"mcpServers": {
"firelinks": {
"url": "https://mcp.firelinks.cc/mcp",
"transport": "http",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Other MCP Clients
For connecting to other MCP-compatible clients use:
- URL:
https://mcp.firelinks.cc/mcp - Transport: HTTP
- Authentication: Bearer token in Authorization header
Available Tools
Links
firelinks_create_link- create short linkfirelinks_get_link- get link informationfirelinks_list_links- list all linksfirelinks_update_link_url- update link URLfirelinks_add_reserve_url- add reserve URL
Statistics
firelinks_stat_days- statistics by daysfirelinks_stat_total- total statistics for periodfirelinks_stat_links- statistics for all linksfirelinks_stat_clicks- detailed click statisticsfirelinks_stat_compare- compare two periods
Domains
firelinks_list_domains- list domainsfirelinks_create_domain- add domain
Servers
firelinks_list_servers- list available servers
Request Examples
Initialize
curl -X POST https://mcp.firelinks.cc/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "initialize",
"params": {},
"id": 1
}'
List Tools
curl -X POST https://mcp.firelinks.cc/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/list",
"params": {},
"id": 1
}'
Create Link
curl -X POST https://mcp.firelinks.cc/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "firelinks_create_link",
"arguments": {
"url": "https://example.com",
"type": "url",
"redirect_type": 0,
"code": "my-link"
}
},
"id": 1
}'
Required parameters:
url- Valid link with http or httpstype- The type of link (use "url" for web links)redirect_type- Redirect type: 0 (301), 1 (302), 2 (303), 4 (META Refresh)
Optional parameters:
link_name- Link namecode- Custom link code (must be unique)domain_id- Domain IDsub_domain- Subdomainkeywords- Keywords for searchkeywords_mode- Keyword search logic (1, 2, or 3)group_id- Link group IDoptions- Additional settings string
Get Statistics
curl -X POST https://mcp.firelinks.cc/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "firelinks_stat_days",
"arguments": {
"date_from": "2024-01-01",
"date_to": "2024-01-31"
}
},
"id": 1
}'
Project Structure
mcp-server/
├── src/
│ ├── index.js # Main Express server file
│ ├── lib/
│ │ ├── laravel-api.js # HTTP client for Laravel API
│ │ └── mcp-handler.js # MCP protocol handler
│ └── tools/
│ ├── links.js # Tools for links
│ ├── statistics.js # Tools for statistics
│ ├── domains.js # Tools for domains
│ └── servers.js # Tools for servers
├── package.json
├── Dockerfile
├── docker-compose.yml
├── .env.example
└── README.md
Troubleshooting
Authentication Error
Problem: Missing or invalid Authorization header
Solution: Make sure the request header contains a valid token:
Authorization: Bearer YOUR_API_TOKEN
Request Timeout
Problem: Requests to Laravel API timeout
Solution:
- Check Laravel API availability
- Increase timeout in
src/lib/laravel-api.js - Check network connectivity between containers
Server Won't Start
Problem: Error on startup
Solution:
- Check logs:
docker logs firelinks-mcp-server - Make sure port 3000 is not in use
- Check environment variables are correct
License
MIT
Support
For questions and support contact support@firelinks.cc
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.