Anysite
Transforme qualquer site em uma API
Documentação
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.
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
- Configurações → Conectores → Adicionar conector personalizado
- URL:
https://mcp.anysite.io/mcp - Clique em Conectar e autorize no navegador
- 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
| Ferramenta | Finalidade |
|---|---|
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_dataretorna uma URL de download (https://mcp.anysite.io/exports/…) em vez de um caminho de arquivo local. O campofile_pathfoi 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_dataagora éoutput_format. O nome antigoformaté reescrito de forma transparente pela ponte para compatibilidade retroativa, mas novos prompts devem usaroutput_format. get_pagelimitalimita 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_URLeANYSITE_OPENAPI_URLforam removidas — a ponte fala com o servidor MCP, não com a API bruta. UseANYSITE_MCP_URLpara apontar para um servidor MCP diferente. - Os aliases
bindeanysiteemcpforam 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
mimeTypenos itens de conteúdo — o servidor define a forma da resposta. - Cancelar um
tools/calllongo 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 trabalho | O que você diz | O 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 ambiente | Obrigatória | Padrão | Observações |
|---|---|---|---|
ANYSITE_ACCESS_TOKEN | sim | — | Crie uma em app.anysite.io |
ANYSITE_MCP_URL | não | https://mcp.anysite.io/mcp | Substitui 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