
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 BackendIntegration 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.mdSupport
For questions and support contact support@firelinks.cc
cd mcp-server
npm installRequirements
- 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 startOr for development mode with auto-reload:
npm run devDocker
- 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-serverDocker Compose
docker-compose up -dUsage
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_TOKENYou can get an API token in your Firelinks account.
Troubleshooting
Authentication Error
Problem: Missing or invalid Authorization header
Solution: Make sure the request header contains a valid token:
Authorization: Bearer YOUR_API_TOKENRequest 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