Beyond MCP Server

Proporciona acceso estandarizado a datos de plataformas sociales y onchain mediante la API de Neynar.

Documentación

Beyond MCP Server

Un servidor extensible del Model Context Protocol que proporciona acceso estandarizado a datos de plataformas sociales y datos onchain. Actualmente soporta Farcaster (a través de la API de Neynar) con un marcador de posición para la integración de Twitter. Pronto se añadirán más plataformas como Telegram, incluidos datos onchain.

Características

  • Cumple con MCP: Implementa completamente la especificación del Model Context Protocol
  • Multiplataforma: Diseñado para soportar múltiples plataformas de redes sociales
  • Extensible: Fácil de añadir nuevos proveedores de plataformas
  • Bien formateado: Formato de contexto optimizado para el consumo de LLM
  • Transporte flexible: Soporta transportes stdio y SSE/HTTP

Plataformas soportadas

  • Farcaster: Implementación completa a través de la API de Neynar
  • Twitter: Marcador de posición (no implementado)

Primeros pasos

Requisitos previos

Instalación

  1. Clona el repositorio
git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
  1. Instala las dependencias
npm install
  1. Crea un archivo .env a partir de la plantilla
cp .env.example .env
# Edit .env with your API keys
  1. Configura tus variables de entorno

    • Requerido: Establece NEYNAR_API_KEY en tu archivo .env
    • Puedes obtener una clave de API de Neynar desde https://neynar.com/
    • Sin una clave de API válida, la funcionalidad de Farcaster no funcionará
  2. Compila e inicia el servidor

npm run build
npm start  # For stdio mode (default)
# OR
npm run start:http  # For HTTP/SSE mode

Uso con Claude for Desktop

  1. Compila el servidor
npm run build
  1. Asegúrate de que tu archivo .env esté configurado correctamente con tus claves de API

    • El servidor buscará .env en las siguientes ubicaciones:
      • Directorio de trabajo actual
      • Directorio raíz del proyecto
      • Directorios padre (hasta 3 niveles)
    • También puedes establecer variables de entorno directamente en tu sistema
  2. Añade el servidor a tu configuración de Claude Desktop en:

  • 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, puedes pasar la clave de API y otras variables de entorno directamente en la configuración de 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. Reinicia Claude for Desktop

Capacidades de MCP

Recursos

  • social://{platform}/{query}/search - Buscar contenido en una plataforma
  • social://{platform}/user/{userId}/profile - Obtener perfil de usuario
  • social://{platform}/wallet/{walletAddress}/profile - Obtener perfil de usuario por dirección de wallet (solo Farcaster)
  • social://{platform}/user/{userId}/balance - Obtener saldo de wallet del usuario (solo Farcaster)
    • Acepta FID (numérico) o nombre de usuario
    • Si se proporciona un nombre de usuario, se convierte automáticamente a FID antes de obtener el saldo
  • social://{platform}/wallet/{walletAddress}/profile - Obtener perfil de usuario por dirección de wallet
  • social://{platform}/user/{userId}/content - Obtener contenido del usuario
  • social://{platform}/thread/{threadId} - Obtener hilo de conversación
  • social://{platform}/trending - Obtener temas de tendencia
  • social://{platform}/trending-feed - Obtener contenido del feed de tendencias con soporte multiproveedor (solo Farcaster)
    • Soporta proveedores: neynar (predeterminado), openrank, mbd
    • Parámetros: timeWindow (1h, 6h, 12h, 24h, 7d, 30d), limit
  • social://{platform}/channels/search - Buscar canales en una plataforma (solo Farcaster)
    • Parámetros: query, limit, cursor
    • Devuelve detalles del canal, incluidos nombre, descripción, número de seguidores y metadatos
  • social://{platform}/channels/bulk-search - Buscar múltiples canales en paralelo (solo Farcaster)
    • Parámetros: queries (array), limit, cursor
    • Devuelve resultados para cada consulta con detalles del canal e información de paginación

Herramientas

  • search-content - Buscar contenido en una plataforma social
  • get-user-profile - Obtener información del perfil de un usuario
  • get-user-profile-by-wallet - Obtener perfil de usuario mediante dirección de wallet (solo Farcaster)
  • get-user-balance - Obtener saldo de wallet del usuario (solo Farcaster)
    • Acepta FID (numérico) o nombre de usuario
    • Maneja automáticamente la conversión de nombre de usuario a FID
  • get-user-content - Obtener contenido de un usuario específico
  • get-thread - Obtener un hilo de conversación
  • get-trending-topics - Obtener temas de tendencia actuales
  • getTrendingFeed - Obtener feed de tendencias con soporte multiproveedor (solo Farcaster)
  • get-wallet-profile - Obtener perfil basado en dirección de wallet
  • search-channels - Buscar canales en una plataforma (solo Farcaster)
    • Parámetros: query, limit, cursor
    • Devuelve información detallada del canal, incluidos el número de seguidores y metadatos
  • search-bulk-channels - Buscar múltiples canales en paralelo (solo Farcaster)
    • Parámetros: queries (array), limit, cursor
    • Devuelve resultados para cada consulta con detalles del canal e información de paginación

Prompts

  • analyze-thread - Analizar un hilo de redes sociales
  • summarize-user-activity - Resumir la actividad de un usuario
  • explore-trending-topics - Explorar temas de tendencia en una plataforma
  • analyze-search-results - Analizar resultados de búsqueda para una consulta
  • explore-trending-feed - Analizar contenido del feed de tendencias en diferentes proveedores
  • get-wallet-profile - Obtener y analizar perfil de usuario por dirección de wallet
  • check-user-balance - Analizar el saldo y las tenencias de la wallet del usuario
    • Funciona con entradas de FID y nombre de usuario
    • Maneja la resolución automática de FID para nombres de usuario
  • explore-channels - Analizar y explorar canales en una plataforma
    • Proporciona información sobre la popularidad y el contenido de los canales
    • Ayuda a descubrir canales relevantes según los criterios de búsqueda
  • explore-bulk-channels - Analizar y comparar múltiples canales en paralelo
    • Busca y compara eficientemente múltiples canales
    • Proporciona información sobre relaciones y tendencias de canales

Extensión con nuevos proveedores

Para añadir un nuevo proveedor de plataforma social:

  1. Crea un nuevo directorio en src/providers/
  2. Implementa la interfaz ContentProvider
  3. Registra el proveedor en el registro

Ejemplo:

import { ContentProvider } from '../interfaces/provider';

export class MyPlatformProvider implements ContentProvider {
  public name = 'myplatform';
  public platform = 'myplatform';
  
  // Implement all required methods
}

Desarrollo

Ejecución en modo de desarrollo

npm run dev        # stdio mode
npm run dev:http   # HTTP mode

Pruebas

npm test

Linting

npm run lint
npm run lint:fix

Licencia

MIT

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.

Registro de cambios

Todos los cambios notables de este proyecto se documentarán en este archivo.

[1.0.0] - 2025-Mar-10

Añadido

  • Versión inicial
  • Integración de Farcaster a través de la API de Neynar
  • Implementación de servidor compatible con MCP
  • Soporte para modos stdio y HTTP

[1.0.1] - 2025-Mar-19

Añadido

  • Se añadieron nuevas herramientas y recursos para obtener el perfil de usuario con dirección de wallet
  • Se añadieron nuevas pruebas

[1.0.2] - 2025-Mar-21

Añadido

  • Se añadió funcionalidad para recuperar saldos de wallet de usuarios de Farcaster mediante ID o nombre de usuario
  • Se implementó soporte multiproveedor para contenido del feed de tendencias
  • Se mejoró updateUserProfile con detalles adicionales del usuario
  • Se añadieron pruebas exhaustivas para garantizar fiabilidad y rendimiento

[1.0.3] - 2025-Mar-24

Añadido

  • Se añadió soporte para obtener información de canales de Farcaster individuales y en lote