Beyond MCP Server
Fornece acesso padronizado a dados de plataformas sociais e onchain utilizando a API Neynar.
Documentação
Servidor Beyond MCP
Um servidor extensível de Protocolo de Contexto de Modelo que fornece acesso padronizado a dados de plataformas sociais e dados onchain. Atualmente suporta Farcaster (via API Neynar) com espaço reservado para integração com Twitter. Mais plataformas, incluindo Telegram e dados onchain, serão adicionadas em breve.
Recursos
- Compatível com MCP: Implementa totalmente a especificação do Protocolo de Contexto de Modelo
- Multiplataforma: Projetado para suportar múltiplas plataformas de mídia social
- Extensível: Fácil adicionar novos provedores de plataforma
- Bem Formatado: Formatação de contexto otimizada para consumo por LLM
- Transporte Flexível: Suporta transportes stdio e SSE/HTTP
Plataformas Suportadas
- Farcaster: Implementação completa via API Neynar
- Twitter: Espaço reservado (não implementado)
Começando
Pré-requisitos
- Node.js 16+
- Chave da API Neynar (para acesso ao Farcaster) https://neynar.com/
Instalação
- Clone o repositório
git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
- Instale as dependências
npm install
- Crie um arquivo .env a partir do modelo
cp .env.example .env
# Edit .env with your API keys
-
Configure suas variáveis de ambiente
- Obrigatório: Defina
NEYNAR_API_KEYno seu arquivo .env - Você pode obter uma chave da API Neynar em https://neynar.com/
- Sem uma chave de API válida, a funcionalidade do Farcaster não funcionará
- Obrigatório: Defina
-
Compile e inicie o servidor
npm run build
npm start # For stdio mode (default)
# OR
npm run start:http # For HTTP/SSE mode
Usando com o Claude para Desktop
- Compile o servidor
npm run build
-
Certifique-se de que seu arquivo .env esteja configurado corretamente com suas chaves de API
- O servidor procurará o .env nos seguintes locais:
- Diretório de trabalho atual
- Diretório raiz do projeto
- Diretórios pais (até 3 níveis)
- Você também pode definir variáveis de ambiente diretamente no seu sistema
- O servidor procurará o .env nos seguintes locais:
-
Adicione o servidor à sua configuração do Claude Desktop em:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"beyond-social": {
"command": "/usr/local/bin/node",
"args": [
"/full/path/to/beyond-mcp-server/dist/index.js",
"--stdio"
]
}
}
}
- Alternativamente, você pode passar a chave da API e outras variáveis de ambiente diretamente na configuração do Claude Desktop (recomendado):
{
"mcpServers": {
"beyond-social": {
"command": "/usr/local/bin/node",
"args": [
"/full/path/to/beyond-mcp-server/dist/index.js",
"--stdio"
],
"env": {
"NEYNAR_API_KEY": "YOUR_API_KEY_HERE",
"ENABLE_FARCASTER": "true",
"ENABLE_TWITTER": "false"
}
}
}
}
- Reinicie o Claude para Desktop
Capacidades do MCP
Recursos
social://{platform}/{query}/search- Pesquisar conteúdo em uma plataformasocial://{platform}/user/{userId}/profile- Obter perfil de usuáriosocial://{platform}/wallet/{walletAddress}/profile- Obter perfil de usuário por endereço de carteira (somente Farcaster)social://{platform}/user/{userId}/balance- Obter saldo da carteira do usuário (somente Farcaster)- Aceita FID (numérico) ou nome de usuário
- Se o nome de usuário for fornecido, converte automaticamente para FID antes de buscar o saldo
social://{platform}/wallet/{walletAddress}/profile- Obter perfil de usuário por endereço de carteirasocial://{platform}/user/{userId}/content- Obter conteúdo do usuáriosocial://{platform}/thread/{threadId}- Obter thread de conversasocial://{platform}/trending- Obter tópicos em altasocial://{platform}/trending-feed- Obter conteúdo do feed em alta com suporte a múltiplos provedores (somente Farcaster)- Suporta provedores: neynar (padrão), openrank, mbd
- Parâmetros: timeWindow (1h, 6h, 12h, 24h, 7d, 30d), limit
social://{platform}/channels/search- Pesquisar canais em uma plataforma (somente Farcaster)- Parâmetros: query, limit, cursor
- Retorna detalhes do canal, incluindo nome, descrição, contagem de seguidores e metadados
social://{platform}/channels/bulk-search- Pesquisar múltiplos canais em paralelo (somente Farcaster)- Parâmetros: queries (array), limit, cursor
- Retorna resultados para cada consulta com detalhes do canal e informações de paginação
Ferramentas
search-content- Pesquisar conteúdo em uma plataforma socialget-user-profile- Obter informações do perfil de um usuárioget-user-profile-by-wallet- Obter perfil de usuário usando endereço de carteira (somente Farcaster)get-user-balance- Obter saldo da carteira do usuário (somente Farcaster)- Aceita FID (numérico) ou nome de usuário
- Gerencia automaticamente a conversão de nome de usuário para FID
get-user-content- Obter conteúdo de um usuário específicoget-thread- Obter uma thread de conversaget-trending-topics- Obter tópicos em alta atuaisgetTrendingFeed- Obter feed em alta com suporte a múltiplos provedores (somente Farcaster)get-wallet-profile- Obter perfil baseado em endereço de carteirasearch-channels- Pesquisar canais em uma plataforma (somente Farcaster)- Parâmetros: query, limit, cursor
- Retorna informações detalhadas do canal, incluindo contagem de seguidores e metadados
search-bulk-channels- Pesquisar múltiplos canais em paralelo (somente Farcaster)- Parâmetros: queries (array), limit, cursor
- Retorna resultados para cada consulta com detalhes do canal e informações de paginação
Prompts
analyze-thread- Analisar uma thread de mídia socialsummarize-user-activity- Resumir a atividade de um usuárioexplore-trending-topics- Explorar tópicos em alta em uma plataformaanalyze-search-results- Analisar resultados de pesquisa para uma consultaexplore-trending-feed- Analisar conteúdo do feed em alta em diferentes provedoresget-wallet-profile- Obter e analisar perfil de usuário por endereço de carteiracheck-user-balance- Analisar saldo da carteira e participações do usuário- Funciona com entradas de FID e nome de usuário
- Gerencia resolução automática de FID para nomes de usuário
explore-channels- Analisar e explorar canais em uma plataforma- Fornece insights sobre popularidade e conteúdo do canal
- Ajuda a descobrir canais relevantes com base em critérios de pesquisa
explore-bulk-channels- Analisar e comparar múltiplos canais em paralelo- Pesquisa e compara eficientemente múltiplos canais
- Fornece insights sobre relações e tendências entre canais
Estendendo com Novos Provedores
Para adicionar um novo provedor de plataforma social:
- Crie um novo diretório em
src/providers/ - Implemente a interface
ContentProvider - Registre o provedor no registro
Exemplo:
import { ContentProvider } from '../interfaces/provider';
export class MyPlatformProvider implements ContentProvider {
public name = 'myplatform';
public platform = 'myplatform';
// Implement all required methods
}
Desenvolvimento
Executando em Modo de Desenvolvimento
npm run dev # stdio mode
npm run dev:http # HTTP mode
Testes
npm test
Lint
npm run lint
npm run lint:fix
Licença
MIT
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Histórico de Alterações
Todas as alterações notáveis neste projeto serão documentadas neste arquivo.
[1.0.0] - 2025-Mar-10
Adicionado
- Lançamento inicial
- Integração com Farcaster via API Neynar
- Implementação de servidor compatível com MCP
- Suporte para modos stdio e HTTP
[1.0.1] - 2025-Mar-19
Adicionado
- Adicionadas novas ferramentas e recurso para buscar perfil de usuário com endereço de carteira
- Adicionados novos testes
[1.0.2] - 2025-Mar-21
Adicionado
- Adicionada funcionalidade para recuperar saldos de carteira de usuários do Farcaster via ID ou nome de usuário
- Implementado suporte a múltiplos provedores para conteúdo do feed em alta
- Aprimorado updateUserProfile com detalhes adicionais do usuário
- Adicionados testes abrangentes para garantir confiabilidade e desempenho
[1.0.3] - 2025-Mar-24
Adicionado
- Adicionado suporte para buscar informações de canais Farcaster individuais e em lote