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

Instalação

  1. Clone o repositório
git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
  1. Instale as dependências
npm install
  1. Crie um arquivo .env a partir do modelo
cp .env.example .env
# Edit .env with your API keys
  1. Configure suas variáveis de ambiente

    • Obrigatório: Defina NEYNAR_API_KEY no 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á
  2. 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

  1. Compile o servidor
npm run build
  1. 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
  2. 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"
      ]
    }
  }
}
  1. 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"
      }
    }
  }
}
  1. Reinicie o Claude para Desktop

Capacidades do MCP

Recursos

  • social://{platform}/{query}/search - Pesquisar conteúdo em uma plataforma
  • social://{platform}/user/{userId}/profile - Obter perfil de usuário
  • social://{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 carteira
  • social://{platform}/user/{userId}/content - Obter conteúdo do usuário
  • social://{platform}/thread/{threadId} - Obter thread de conversa
  • social://{platform}/trending - Obter tópicos em alta
  • social://{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 social
  • get-user-profile - Obter informações do perfil de um usuário
  • get-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ífico
  • get-thread - Obter uma thread de conversa
  • get-trending-topics - Obter tópicos em alta atuais
  • getTrendingFeed - Obter feed em alta com suporte a múltiplos provedores (somente Farcaster)
  • get-wallet-profile - Obter perfil baseado em endereço de carteira
  • search-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 social
  • summarize-user-activity - Resumir a atividade de um usuário
  • explore-trending-topics - Explorar tópicos em alta em uma plataforma
  • analyze-search-results - Analisar resultados de pesquisa para uma consulta
  • explore-trending-feed - Analisar conteúdo do feed em alta em diferentes provedores
  • get-wallet-profile - Obter e analisar perfil de usuário por endereço de carteira
  • check-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:

  1. Crie um novo diretório em src/providers/
  2. Implemente a interface ContentProvider
  3. 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