Firelinks.cc MCP
Create and manage short links for tracking and distributing traffic.
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 [email protected]
Related Servers
渠道洞察服务
Provides sales channel analysis, including distribution, dealer networks, and coverage, to help understand enterprise channel layouts.
Contextd
Reasoning Bank and Context folding. Let your agents learn and self-improve
Tarkov MCP Server
Provides access to Escape from Tarkov game data using the community-maintained Tarkov API.
Sidekick for InDesign
Lets your AI assistant talk to InDesign. Not about it. Actually control it.
porkbun-mcp
MCP server for Porkbun domains and DNS
mcp-dice
Rolls dice using standard notation (e.g., 1d20) and returns individual rolls and their sum.
Stockfish
Enables AI to communicate with the Stockfish chess engine.
MCP Trakt
Access real-time entertainment data and personal viewing history from the Trakt.tv API.
Scenario Word
A server for the scenario-word MCP, built with the mcp-framework.
SafeDep
Real-time malicious package protection for AI coding agents