Anysite

Transforme qualquer site em uma API

Documentação

Anysite MCP Server Logo

Servidor MCP Anysite

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 de 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 em 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.

Etapa 1: Cadastre-se

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

Etapa 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 → Capacidades → Acesso a ferramentas → Ferramentas já carregadas

A última etapa é crítica. O modo "Carregar ferramentas quando necessário" do Claude Desktop usa correspondência baseada em 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 contém 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.

Etapa 3: Verifique

Pergunte ao assistente:

What MCP tools do you have from anysite?

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

Etapa 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 depois restringe no lado do servidor com query_cache.


Ponte stdio (pacote npm)

@anysiteio/mcp é um proxy local leve: ele roda em stdio e encaminha cada solicitação para https://mcp.anysite.io/mcp via Streamable HTTP com seu token. Nenhuma lógica de negócios 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, builds mais antigos 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 estar 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 re-buscar (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 de dados completo em json / jsonl / csv. Retorna uma URL de download.
crm_* (8 ferramentas)Leitura/gravação HubSpot e afins: conexões, esquema, upsert de contatos/empresas, consulta, desfazer. Visível apenas quando o CRM está habilitado para sua conta.

Fontes expostas 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 são armazenados em cache no lado do servidor por 7 dias: uma chamada de execute(), depois chamadas ilimitadas de 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 versão 2.x

v3 é uma mudança significativa: 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 foi removido; agentes que liam o arquivo exportado do disco devem baixá-lo agora. 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 agora é 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 lado do servidor).
  • O cache agora é no lado do 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 bin de anysite e mcp foram removidos — o comando é anysite-mcp.
  • Dois endpoints do LinkedIn 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 a forma da resposta.
  • Cancelar um tools/call longo interrompe a espera no lado do cliente, mas o servidor continua processando a solicitaçã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 @concorrente em contratações no LinkedIn, redes sociais, YC e postagens recentes"Inteligência multi-fonte + velocidade de contratação + sentimento
Analisador de pessoa"Faça uma análise profunda deste 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 de 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 em 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 estar 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