HDW MCP Server

Acesse e gerencie dados do LinkedIn e contas de usuário usando a API HorizonDataWave.

Documentação

Anysite MCP Server Logo

Anysite MCP Server

A web inteira é o seu banco de dados. Seu assistente de IA é a interface de consulta.

Um servidor Model Context Protocol que permite que Claude, Cursor, ChatGPT e qualquer cliente MCP consultem dados estruturados do LinkedIn, Instagram, Twitter/X, Reddit, YouTube, SEC EDGAR, Y Combinator, Crunchbase e qualquer URL da web — por meio de cinco ferramentas universais, além de ferramentas de gravação de CRM.

npm version License: MIT Documentation


Início rápido

Conecte-se diretamente ao servidor hospedado em https://mcp.anysite.io/mcp. Ele fala MCP sobre Streamable HTTP com OAuth 2.0 e funciona com Claude Desktop, Claude Code, Cursor, Cline, Windsurf, ChatGPT e qualquer cliente compatível com MCP.

Se o seu cliente suporta transporte HTTP, você não precisa deste pacote npm. O pacote existe como uma ponte stdio para clientes que só falam stdio.

Passo 1: Cadastre-se

Crie uma conta em anysite.io. O promo MCP30 cobre seu primeiro mês de MCP Unlimited (US$ 30/mês, 6 req/min de uso justo, sem contagem de créditos). Os planos baseados em créditos (Starter US$ 49 / Growth US$ 200 / Scale US$ 300 / Pro US$ 549 / Enterprise a partir de US$ 1.199) também incluem acesso MCP; veja docs.anysite.io/mcp-server/overview.

Passo 2: Conecte seu cliente

Claude Desktop — OAuth
  1. Configurações → Conectores → Adicionar conector personalizado
  2. URL: https://mcp.anysite.io/mcp
  3. Clique em Conectar e autorize no navegador
  4. Obrigatório: Configurações → Recursos → Acesso a ferramentas → Ferramentas já carregadas

O último passo é crítico. O modo "Carregar ferramentas quando necessário" do Claude Desktop usa correspondência por nome, que falha em nomes genéricos como discover e execute. Se você pular isso, as ferramentas existem, mas o modelo não as chamará de forma confiável.

Claude Code
claude mcp add --transport http anysite "https://mcp.anysite.io/mcp?api_key=YOUR_KEY"
claude mcp list   # should show: anysite connected

A URL carrega sua chave de API — trate-a como um segredo.

Cursor

Edite ~/.cursor/mcp.json (global) ou .cursor/mcp.json na raiz do projeto:

{
  "mcpServers": {
    "anysite": {
      "url": "https://mcp.anysite.io/mcp?api_key=YOUR_KEY",
      "transport": "http"
    }
  }
}
Cline, Windsurf, ChatGPT, qualquer cliente MCP

Aponte qualquer cliente compatível para https://mcp.anysite.io/mcp e autentique via OAuth ou ?api_key=YOUR_KEY.

Passo 3: Verifique

Pergunte ao assistente:

What MCP tools do you have from anysite?

Ele deve listar: discover, execute, get_page, query_cache, export_data — mais oito ferramentas crm_* se a integração de CRM estiver habilitada na sua conta.

Passo 4: Execute uma consulta

Use anysite to find 20 CTOs at Series B fintech startups in New York,
then show me the ones with AI or ML in their headline.

O assistente executa discover no LinkedIn, escolhe o endpoint de busca correto, chama execute e então refina no lado do servidor com query_cache.


Ponte stdio (pacote npm)

@anysiteio/mcp é um proxy local leve: ele roda em stdio e encaminha cada requisição para https://mcp.anysite.io/mcp via Streamable HTTP com seu token. Nenhuma lógica de negócio vive no pacote — ferramentas, instruções, cache e exportações vêm todas do servidor, então novos endpoints e ferramentas aparecem sem atualização do pacote.

Use-o quando seu cliente não puder falar transporte HTTP: plugins de IDE somente stdio, versões antigas de Cline/Continue, runners stdio personalizados ou ambientes onde HTTP de saída deve passar por um processo local gerenciado.

Instalação

npm install -g @anysiteio/mcp

Ou execute sob demanda com npx -y @anysiteio/mcp.

Configure seu cliente

{
  "mcpServers": {
    "anysite": {
      "command": "npx",
      "args": ["-y", "@anysiteio/mcp"],
      "env": {
        "ANYSITE_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

Essa é toda a configuração. Apenas ANYSITE_ACCESS_TOKEN é obrigatório — crie um em app.anysite.io. O token também pode ficar em ~/.anysite-mcp.env.


As ferramentas

FerramentaFinalidade
discover(source, category)Lista endpoints em uma categoria com seus parâmetros e dicas de LLM. Sempre chame antes de execute.
execute(source, category, endpoint, params)Busca dados. Retorna os primeiros 10 itens + cache_key.
get_page(cache_key, offset, limit)Pagina itens em cache sem nova busca (limite ≤ 50).
query_cache(cache_key, conditions?, sort_by?, aggregate?, group_by?)Filtra / ordena / agrega itens em cache no lado do servidor.
export_data(cache_key, output_format, list_unpack?)Despeja o conjunto completo de dados em json / jsonl / csv. Retorna uma URL de download.
crm_* (8 ferramentas)Leitura/escrita HubSpot e afins: conexões, schema, upsert de contatos/empresas, consulta, desfazer. Visível apenas quando o CRM está habilitado para sua conta.

Fontes disponibilizadas por meio de discover: LinkedIn, Instagram, Twitter/X, Reddit, YouTube, SEC EDGAR, Y Combinator, Crunchbase, DuckDuckGo, o parser web universal, além de parsers de IA para GitHub, Amazon, Google Maps, G2, BuiltWith, Apify, GLEIF, Newegg e mais. Novos endpoints aparecem automaticamente assim que são lançados na plataforma.

Dados buscados por execute ficam em cache no servidor por 7 dias: uma chamada execute(), depois chamadas ilimitadas get_page / query_cache / export_data sem pagar novamente créditos de API. Arquivos de exportação ficam disponíveis por 24 horas (regenerados sob demanda enquanto a entrada de cache estiver ativa).


Padrão de uso

discover("linkedin", "search")
  → endpoints: ["users", "companies", "posts", ...] with params

execute("linkedin", "search", "users", { keywords: "CTO AI" })
  → { items: [...first 10], total: 50, cache_key: "abc..." , next_offset: 10 }

get_page("abc...", offset=10)            # next page, free
query_cache("abc...", { conditions: [{ field: "location", op: "contains", value: "San Francisco" }] })
export_data("abc...", "csv")             # full dataset as a CSV download URL

O agente descobre os nomes dos parâmetros por conta própria a partir de discover.


Migrando da 2.x

v3 é uma mudança que quebra compatibilidade: o pacote não reimplementa mais o servidor localmente — ele faz proxy do servidor MCP hospedado. O que muda para você:

  • export_data retorna uma URL de download (https://mcp.anysite.io/exports/…) em vez de um caminho de arquivo local. O campo file_path não existe mais; agentes que leem o arquivo exportado do disco devem baixá-lo. A URL é acessível sem token (o nome do arquivo é impossível de adivinhar) e fica disponível por 24 horas — não compartilhe o link se os dados forem sensíveis.
  • O parâmetro export_data é output_format. O nome antigo format é reescrito de forma transparente pela ponte para compatibilidade retroativa, mas novos prompts devem usar output_format.
  • get_page limita limit a 50 (limite de tamanho de página no servidor).
  • O cache agora é no servidor (TTL de 7 dias, sobrevive a reinicializações, compartilhado entre suas sessões) em vez de em processo.
  • As ferramentas de CRM aparecem (8 ferramentas crm_*) quando a integração de CRM está habilitada na sua conta.
  • As variáveis de ambiente ANYSITE_API_URL e ANYSITE_OPENAPI_URL foram removidas — a ponte fala com o servidor MCP, não com a API bruta. Use ANYSITE_MCP_URL para apontar para um servidor MCP diferente.
  • Os aliases anysite e mcp de bin foram removidos — o comando é anysite-mcp.
  • Dois endpoints do LinkedIn que eram acessíveis na 2.x (sn_search/users, company/employees) são excluídos pela política do servidor.
  • Os resultados das ferramentas não carregam mais um mimeType nos itens de conteúdo — o servidor define o formato da resposta.
  • Cancelar um tools/call longo interrompe a espera no lado do cliente, mas o servidor continua processando a requisição (transporte sem estado não pode entregar o cancelamento) — o trabalho ainda é cobrado.

Skills — fluxos de trabalho prontos

O servidor MCP dá acesso bruto. Anysite Skills empacota esse acesso em fluxos de trabalho nomeados que você invoca por tópico, para que o assistente execute um padrão comprovado em vez de improvisar. Feito para Claude Code (também funciona em Cursor / Windsurf via o mesmo formato de plugin).

Fluxo de trabalhoO que você dizO que ele faz
Geração de leads"Encontre 50 diretores de marketing em SaaS Série A em Berlim e enriqueça com e-mail"Busca no LinkedIn → enriquecimento → CSV
Inteligência de concorrentes"Acompanhe @competitor em contratações no LinkedIn, redes sociais, YC e posts recentes"Inteligência multi-fonte + velocidade de contratação + sentimento
Analisador de pessoa"Aprofunde-se neste perfil do LinkedIn antes da nossa reunião de parceria"LinkedIn + Twitter + Reddit + GitHub + web → briefing estratégico
Pesquisa de mercado"Mapeie o cenário de legal-tech com IA — startups, financiamento, momentum"YC + Crunchbase + SEC + Reddit + sentimento no Twitter
Mineração de dores do cliente"Extraia reclamações verbatim sobre Salesforce do Reddit e Twitter"Clusters de dor + citações exatas + lacunas de espaço em branco
Reputação da marca"Qual é a conversa em torno da nossa marca esta semana?"Varredura de menções entre plataformas com pontuação de sentimento
Mapa de posicionamento"Plote 3-5 concorrentes em um mapa de posicionamento, encontre o quadrante vazio"Comparação de cinco eixos + declaração de posicionamento

Catálogo completo (17 skills, incluindo analista de VC, descoberta de influenciadores, análise de audiência, análise de conteúdo, análise de tendências): github.com/anysiteio/agent-skills.

Instalação

No Claude Code:

/plugin marketplace add https://github.com/anysiteio/agent-skills
/plugin install anysite-lead-generation@anysite-skills

Você pode instalar uma skill ou o marketplace inteiro. A conexão com o servidor MCP acima é o único pré-requisito.


Desenvolvimento local

git clone https://github.com/anysiteio/anysite-mcp.git
cd anysite-mcp
npm install
npm run build:tsc
ANYSITE_ACCESS_TOKEN=... node build/server.js

Inspecione as ferramentas interativamente:

npm run inspector

Configuração

Variável de ambienteObrigatóriaPadrãoObservações
ANYSITE_ACCESS_TOKENsimCrie uma em app.anysite.io
ANYSITE_MCP_URLnãohttps://mcp.anysite.io/mcpSubstitui a URL do servidor MCP remoto

As variáveis também podem ficar em ./.env ou ~/.anysite-mcp.env (variáveis de ambiente reais e ./.env têm precedência sobre ~/.anysite-mcp.env).

Se o servidor remoto estiver inacessível na inicialização, a ponte ainda inicia em modo degradado (lista de ferramentas vazia, erros descritivos nas chamadas), continua reconectando em segundo plano e anuncia a lista de ferramentas via tools/list_changed assim que o servidor estiver acessível novamente.


Estrutura do projeto

src/
├── server.ts   stdio entry (CLI bin): env handling, connect with retries, degraded mode
├── proxy.ts    the bridge: remote client, generic request forwarding, tools/list cache,
│               format→output_format shim, error mapping, background list refresh
├── index.ts    Smithery TypeScript runtime adapter
└── config.ts   env-derived constants

Licença

MIT