limelink-mcp-server

Servidor MCP para gerenciar links dinâmicos do Limelink com deep linking específico de plataforma (iOS/Android), prévias sociais e rastreamento UTM

Documentação

@limelink/mcp

npm version License: MIT

한국어 · Documentation · Capability reference

Um servidor Model Context Protocol (MCP) para gerenciamento de links dinâmicos do LimeLink. Crie, consulte e gerencie links dinâmicos diretamente do Claude Code, Claude Desktop ou qualquer cliente compatível com MCP.

Nenhuma chave de API necessária para começar! Os guias de documentação e configuração do SDK funcionam sem qualquer configuração. Basta conectar e começar a explorar os recursos do LimeLink com seu assistente de IA.

Recursos

  • Recursos de Documentação — Acesse a documentação do LimeLink (15 páginas + índice) diretamente do seu assistente de IA — sem necessidade de chave de API
  • 5 Ferramentas — Descubra perfis e Projetos, crie links dinâmicos e consulte links (as ferramentas de API exigem um perfil configurado)
  • Cache em Memória — Cache TTL de 1 hora para buscas de documentação

Ambiente de Execução

  • Node.js 18 ou superior
  • Apenas transporte stdio; transporte Remote MCP/HTTP não é suportado
  • Pacote npm: @limelink/mcp; executável global: limelink-mcp
  • stdout é reservado para o protocolo MCP; diagnósticos e logs do wrapper devem usar stderr

Consulte instalação e configuração e comportamento de rede para o contrato operacional completo.

O que funciona sem chave de API?

RecursoCategoriaChave de APIDescrição
limelink://docs/indexRecursoNão necessáriaÍndice completo da documentação
limelink://docs/{slug}RecursoNão necessária15 páginas individuais de documentação
list-profilesFerramentaNão necessáriaLista aliases de perfis configurados localmente sem contatar a API
list-projectsFerramentaNecessáriaLista Projetos para um perfil de Organização selecionado
list-custom-domainsFerramentaNecessáriaLista Domínios Personalizados para um Projeto selecionado
create-linkFerramentaNecessáriaCria V2 Core Links via API
get-link-by-suffixFerramentaNecessáriaConsulta links por sufixo
get-link-by-urlFerramentaNecessáriaConsulta links por URL

Início Rápido

Sem Chave de API (Documentação e Guias)

Nenhuma chave de API necessária. Conecte e comece a explorar a documentação e os guias de configuração do LimeLink imediatamente:

{
  "mcpServers": {
    "limelink": {
      "command": "npx",
      "args": ["-y", "@limelink/mcp"]
    }
  }
}

Tente perguntar ao seu assistente de IA:

  • "Leia a documentação de primeiros passos do LimeLink"
  • "Como configuro deep linking para iOS?"
  • "Mostre-me o guia de integração do SDK do LimeLink"

Com Perfis de Organização (Recursos Completos)

Crie o arquivo de perfil versão 1 mostrado abaixo e passe seu caminho absoluto:

{
  "mcpServers": {
    "limelink": {
      "command": "npx",
      "args": ["-y", "@limelink/mcp"],
      "env": {
        "LIMELINK_PROFILES_FILE": "/absolute/path/to/limelink-profiles.json"
      }
    }
  }
}

Uso com Instalação Global

npm install -g @limelink/mcp
{
  "mcpServers": {
    "limelink": {
      "command": "limelink-mcp",
      "env": {
        "LIMELINK_PROFILES_FILE": "/absolute/path/to/limelink-profiles.json"
      }
    }
  }
}

Configuração

Claude Code

A maneira mais fácil de adicionar o servidor MCP é usando o comando claude mcp add:

# Without API key (docs & guides only)
claude mcp add --scope user --transport stdio limelink -- npx -y @limelink/mcp

# With API key (full features)
claude mcp add --scope user --transport stdio limelink \
  --env LIMELINK_PROFILES_FILE=/absolute/path/to/limelink-profiles.json \
  -- npx -y @limelink/mcp

Opções de escopo:

  • --scope user — Disponível em todos os projetos
  • --scope project — Salvo em .mcp.json (compartilhável com a equipe via Git)

Claude Desktop e outros clientes MCP

Adicione a configuração JSON ao arquivo de configuração do seu cliente:

ClienteArquivo de Configuração
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json

Arquivo de perfil

{"version":1,"defaultProfile":"work","profiles":{"work":{"apiKey":"your_api_key","organizationLabel":"Work","projects":{"marketing":"11111111-1111-4111-8111-111111111111"}}}}

Variáveis de Ambiente

VariávelObrigatóriaPadrãoDescrição
LIMELINK_PROFILES_FILENão—Caminho para um arquivo JSON versão 1 contendo perfis de credenciais de Organização nomeados.

LIMELINK_API_KEY e LIMELINK_PROJECT_ID são ignorados. Quando nenhum perfil de credencial está configurado, as ferramentas baseadas em API direcionam o agente para Organizations para emitir uma chave de API de Organização e configurar o arquivo de perfil. Ferramentas baseadas em Projeto aceitam um UUID de Projeto diretamente. O mapa opcional projects de um perfil é uma conveniência recomendada para Projetos usados repetidamente, não um pré-requisito; adicione aliases após a descoberta de list-projects se for útil. Os perfis inicializam de forma preguiçosa por meio de introspecção de credenciais na primeira chamada baseada em API. Alterações no arquivo de perfil, incluindo adições de aliases, exigem reinicialização do servidor MCP.

Você pode obter sua chave de API no LimeLink Dashboard. Sem uma chave de API, os recursos de documentação e os guias de configuração do SDK estão totalmente disponíveis.

Ferramentas

list-profiles

Lista aliases configurados, rótulos de Organização, status padrão e status de inicialização atual sem contatar a API. Perfis já inicializados incluem escopos. Os valores das chaves de API permanecem secretos e nunca são retornados. Identificadores de Organização, Projeto, Domínio Personalizado e credenciais, bem como prefixos de chave, são identificadores não secretos e podem aparecer nas respostas das ferramentas baseadas em API quando úteis.

list-projects

Lista Projetos na Organização descoberta a partir da credencial do perfil selecionado. Aceita profile opcional; a credencial exige projects:read.

list-custom-domains

Lista Domínios Personalizados para project obrigatório (alias ou UUID). Aceita profile opcional; a credencial exige domains:read.

create-link

Cria um V2 Core Link com deep linking específico de plataforma, seleção de Domínio Personalizado, pré-visualizações sociais e rastreamento UTM.

Parâmetros:

ParâmetroTipoObrigatórioDescrição
dynamic_link_suffixstringNãoIdentificador de caminho de URL curto (1–100); gerado pela API quando omitido
dynamic_link_urlstringSimURL de destino (máx. 500)
dynamic_link_namestringSimNome do link (máx. 100)
projectstringSimAlias do Projeto no perfil selecionado ou UUID do Projeto
profilestringNãoAlias do perfil; caso contrário, usa o perfil padrão configurado ou o único perfil
custom_domain_idstring UUIDNãoDomínio Personalizado para o Core Link
stats_flagbooleanNãoAtiva o rastreamento de análises
apple_optionsobjectNãoOpções de deep linking para iOS
android_optionsobjectNãoOpções de deep linking para Android
additional_optionsobjectNãoOpções de pré-visualização social + UTM

Exemplo de uso no Claude:

"Crie um link dinâmico para https://example.com/product/123 com o sufixo 'product-123' e ative as análises"

get-link-by-suffix

Consulta um link dinâmico pelo seu sufixo.

ParâmetroTipoObrigatórioDescrição
suffixstringSimSufixo do link dinâmico
projectstringSimAlias do Projeto no perfil selecionado ou UUID do Projeto
profilestringNãoAlias do perfil; caso contrário, usa o perfil padrão configurado ou o único perfil

get-link-by-url

Resolve um Link através da API V2 usando sua URL completa. O backend determina se a URL pertence a um namespace padrão gratuito, hostname de Projeto ou Domínio Personalizado ativo. Nenhum seletor de Projeto ou análise local de sufixo é necessário.

A URL deve ser HTTPS absoluta com exatamente um segmento de caminho /{suffix} e sem query, fragmento, porta explícita ou credenciais.

ParâmetroTipoObrigatórioDescrição
urlstringSimURL completa do LimeLink para resolver (máx. 2048 caracteres)
profilestringNãoAlias do perfil; caso contrário, usa o perfil padrão configurado ou o único perfil

Recursos

limelink://docs/index

Retorna o índice completo da documentação do LimeLink (llms.txt).

limelink://docs/{slug}

Retorna páginas individuais de documentação. Slugs disponíveis:

introduction, getting-started, project, application, dynamic-link, create-link, link-detail, link-management, appearance, sdk-integration, ios-sdk, android-sdk, api-integration, advanced, llm-agent

Exemplo de uso no Claude:

"Leia a documentação de integração da API do LimeLink"

O Claude acessará limelink://docs/api-integration

Desenvolvimento

Pré-requisitos

  • Node.js >= 18
  • pnpm

Configuração

git clone https://github.com/hellovelop/limelink-mcp-server.git
cd limelink-mcp-server
pnpm install
pnpm run build

Executar localmente

LIMELINK_PROFILES_FILE=/absolute/path/to/limelink-profiles.json node dist/index.js

Testes

pnpm test          # Unit tests
pnpm test:e2e      # E2E tests (MCP stdio communication)
pnpm test:watch    # Unit tests in watch mode
pnpm test:coverage # Coverage report

Estrutura do Projeto

src/
├── index.ts              # Entry point
├── lib/
│   ├── config.ts         # Environment variable loading
│   ├── cache.ts          # In-memory TTL cache
│   ├── api-client.ts     # LimeLink API HTTP client
│   └── doc-fetcher.ts    # Documentation fetcher with caching
├── tools/
│   ├── create-link.ts    # create-link tool
│   ├── get-link-by-suffix.ts
│   └── get-link-by-url.ts
└── resources/
    └── documentation.ts  # Documentation resources

Licença

MIT