Firelinks.cc MCP

Crie e gerencie links curtos para rastrear e distribuir tráfego.

Documentação

Firelinks MCP Server

Servidor MCP (Model Context Protocol) para a plataforma Firelinks, permitindo que LLMs externos (Large Language Models) interajam com a API Firelinks - https://firelinks.cc/p/api

Descrição

Este servidor implementa o protocolo MCP desenvolvido pela Anthropic e fornece um conjunto de ferramentas para trabalhar com a plataforma Firelinks:

  • Gerenciamento de Links: criar, recuperar, editar links curtos
  • Estatísticas: obter estatísticas detalhadas de cliques, comparar períodos
  • Domínios: gerenciar domínios personalizados
  • Servidores: obter lista de servidores disponíveis

Arquitetura

LLM client → HTTPS (mcp.firelinks.cc) → Node.js MCP Server → Firelinks API Backend

Requisitos

  • Node.js >= 20.0.0
  • Docker e Docker Compose (para conteinerização)
  • Token da API Firelinks

Instalação

Desenvolvimento Local

  1. Instale as dependências:
cd mcp-server
npm install
  1. Crie o arquivo .env com base no .env.example:
cp .env.example .env
  1. Configure as variáveis de ambiente no .env:
PORT=3000
LARAVEL_API_URL=https://firelinks.cc/api
NODE_ENV=development
  1. Inicie o servidor:
npm start

Ou, para modo de desenvolvimento com recarga automática:

npm run dev

Docker

  1. Construa a imagem:
docker build -t firelinks-mcp-server .
  1. Execute o contêiner:
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

Uso

Endpoints

  • GET /health - verificação de saúde do servidor
  • POST /mcp - endpoint MCP principal (JSON-RPC 2.0)
  • GET /sse - Server-Sent Events para streaming

Autenticação

Todas as solicitações ao /mcp exigem um token de autenticação no cabeçalho:

Authorization: Bearer YOUR_API_TOKEN

Você pode obter um token de API na sua conta Firelinks.

Integração com Clientes LLM

Claude Desktop

Adicione à configuração do Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "firelinks": {
      "url": "https://mcp.firelinks.cc/mcp",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cursor

Adicione à configuração do Cursor (mcp.json):

{
  "mcpServers": {
    "firelinks": {
      "url": "https://mcp.firelinks.cc/mcp",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Outros Clientes MCP

Para conectar a outros clientes compatíveis com MCP, use:

  • URL: https://mcp.firelinks.cc/mcp
  • Transporte: HTTP
  • Autenticação: token Bearer no cabeçalho Authorization

Ferramentas Disponíveis

Links

  1. firelinks_create_link - criar link curto
  2. firelinks_get_link - obter informações do link
  3. firelinks_list_links - listar todos os links
  4. firelinks_update_link_url - atualizar URL do link
  5. firelinks_add_reserve_url - adicionar URL reserva

Estatísticas

  1. firelinks_stat_days - estatísticas por dias
  2. firelinks_stat_total - estatísticas totais para o período
  3. firelinks_stat_links - estatísticas para todos os links
  4. firelinks_stat_clicks - estatísticas detalhadas de cliques
  5. firelinks_stat_compare - comparar dois períodos

Domínios

  1. firelinks_list_domains - listar domínios
  2. firelinks_create_domain - adicionar domínio

Servidores

  1. firelinks_list_servers - listar servidores disponíveis

Exemplos de Solicitações

Inicializar

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
  }'

Listar Ferramentas

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
  }'

Criar 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
  }'

Parâmetros obrigatórios:

  • url - Link válido com http ou https
  • type - O tipo de link (use "url" para links da web)
  • redirect_type - Tipo de redirecionamento: 0 (301), 1 (302), 2 (303), 4 (META Refresh)

Parâmetros opcionais:

  • link_name - Nome do link
  • code - Código personalizado do link (deve ser único)
  • domain_id - ID do domínio
  • sub_domain - Subdomínio
  • keywords - Palavras-chave para busca
  • keywords_mode - Lógica de busca por palavras-chave (1, 2 ou 3)
  • group_id - ID do grupo de links
  • options - String de configurações adicionais

Obter Estatísticas

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
  }'

Estrutura do Projeto

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

Solução de Problemas

Erro de Autenticação

Problema: Missing or invalid Authorization header

Solução: Certifique-se de que o cabeçalho da solicitação contenha um token válido:

Authorization: Bearer YOUR_API_TOKEN

Tempo Limite da Solicitação

Problema: Solicitações à API Laravel excedem o tempo limite

Solução:

  1. Verifique a disponibilidade da API Laravel
  2. Aumente o tempo limite em src/lib/laravel-api.js
  3. Verifique a conectividade de rede entre os contêineres

O Servidor Não Inicia

Problema: Erro na inicialização

Solução:

  1. Verifique os logs: docker logs firelinks-mcp-server
  2. Certifique-se de que a porta 3000 não está em uso
  3. Verifique se as variáveis de ambiente estão corretas

Licença

MIT

Suporte

Para dúvidas e suporte, entre em contato: support@firelinks.cc