Más allá del servidor MCP
Un servidor extensible de Protocolo de Contexto de Modelo que proporciona acceso estandarizado a datos de plataformas sociales y datos onchain. Actualmente soporta Farcaster (vía Neynar API) con un marcador de posición para la integración de Twitter. Pronto se añadirán más plataformas como Telegram, incluyendo datos onchain.
Características
- Compatible con MCP: Implementa completamente la especificación Model Context Protocol
- Multiplataforma: Diseñado para soportar múltiples plataformas de medios sociales
- Extensible: Fácil de añadir nuevos proveedores de plataformas
- Bien formateado: formato de contexto optimizado para el consumo de LLM
- Transporte flexible: Compatible con transportes stdio y SSE/HTTP
Plataformas compatibles
- Farcaster: Implementación completa a través de la API de Neynar
- Twitter: Marcador de posición (no implementado)
Primeros pasos
Requisitos previos
- Node.js 16+
- Clave API Neynar (para acceder a Farcaster) https://neynar.com/
Instalación
- Clona el repositorio
git clone https://github.com/yourusername/beyond-mcp-server.git cd beyond-mcp-server
- Instalar dependencias
npm install
- Crea un archivo .env a partir de la plantilla
cp .env.example .env # Edita .env con tus claves API
Configure sus variables de entorno
- Requerido: Establece
NEYNAR_API_KEY
en tu archivo .env - Puede obtener una clave API de Neynar en https://neynar.com/
- Sin una clave API válida, la funcionalidad Farcaster no funcionará
- Requerido: Establece
Construir e iniciar el servidor
npm run build npm start # Para modo stdio (por defecto) # O npm run start:http # Para modo HTTP/SSE
Uso con Claude para escritorio
- Construir el servidor
npm run build
Asegúrate de que tu archivo .env está correctamente configurado con tus claves 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 puede establecer variables de entorno directamente en su sistema
- El servidor buscará .env en las siguientes ubicaciones
Añada el servidor a su 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" ] } }
- Alternativamente, puede pasar la clave 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": "TU_CLAVE_API_AQUÍ", "ENABLE_FARCASTER": "true", "ENABLE_TWITTER": "false" } } }
- Reiniciar Claude para escritorio
Capacidades MCP
Recursos
social://{platform}/{query}/search
- Buscar contenido en una plataformasocial://{platform}/user/{userId}/profile
- Obtener el perfil de usuariosocial://{platform}/wallet/{walletAddress}/profile
- Obtener perfil de usuario por dirección de cartera (sólo Farcaster)social://{platform}/user/{userId}/balance
- Obtener el saldo del monedero del usuario (sólo Farcaster)- Acepta FID (numérico) o nombre de usuario
- Si se proporciona el nombre de usuario, se convierte automáticamente a FID antes de obtener el saldo
social://{platform}/wallet/{walletAddress}/profile
- Obtener el perfil de usuario por dirección de monederosocial://{platform}/user/{userId}/content
- Obtener el contenido del usuariosocial://{platform}/thread/{threadId}
- Obtener hilo de conversaciónsocial://{platform}/trending
- Obtener trending topicssocial://{platform}/trending-feed
- Obtener contenido de trending feed con soporte multiproveedor (sólo Farcaster)- Soporta proveedores: neynar (por defecto), openrank, mbd
- Parámetros: timeWindow (1h, 6h, 12h, 24h, 7d, 30d), limit
social://{platform}/channels/search
- Búsqueda de canales en una plataforma (sólo Farcaster)- Parámetros: query, limit, cursor
- Devuelve los detalles del canal, incluidos el nombre, la descripción, el recuento de seguidores y los metadatos
social://{platform}/channels/bulk-search
- Búsqueda de varios canales en paralelo (sólo Farcaster)- Parámetros: queries (array), limit, cursor
- Devuelve los resultados de cada consulta con los detalles del canal y la información de paginación
Herramientas
search-content
- Busca contenido en una plataforma socialget-user-profile
- Obtener información del perfil de un usuarioget-user-profile-by-wallet
- Obtener el perfil de usuario utilizando la dirección del monedero (sólo Farcaster)get-user-balance
- Obtiene el saldo de la cartera del usuario (sólo Farcaster)- Acepta FID (numérico) o nombre de usuario
- Maneja automáticamente la conversión de nombre de usuario a FID
get-user-content
- Obtiene el contenido de un usuario específicoget-thread
- Obtiene un hilo de conversaciónget-trending-topics
- Obtiene los trending topics actualesgetTrendingFeed
- Obtiene el feed de tendencias con soporte multiproveedor (sólo Farcaster)get-wallet-profile
- Obtener el perfil basado en la dirección del monederosearch-channels
- Buscar canales en una plataforma (sólo Farcaster)- Parámetros: query, limit, cursor
- Devuelve información detallada del canal incluyendo el número de seguidores y metadatos
search-bulk-channels
- Busca múltiples canales en paralelo (sólo Farcaster)- Parámetros: queries (array), limit, cursor
- Devuelve los resultados de cada consulta con detalles del canal e información de paginación
Indicaciones
analyze-thread
- Analiza un hilo de redes socialessummarize-user-activity
- Resume la actividad de un usuarioexplore-trending-topics
- Explora los temas de tendencia en una plataformaanalyze-search-results
- Analizar los resultados de búsqueda de una consultaexplore-trending-feed
- Analiza el contenido de los feeds de tendencias de diferentes proveedoresget-wallet-profile
- Obtener y analizar el perfil de usuario por dirección de monederocheck-user-balance
- Analiza el saldo del monedero del usuario y sus tenencias- Funciona tanto con FID como con nombres de usuario
- Resolución automática de FID para nombres de usuario
explore-channels
- Analiza y explora los canales de una plataforma- Proporciona información sobre la popularidad y el contenido de los canales
- Ayuda a descubrir canales relevantes basados en criterios de búsqueda
explore-bulk-channels
- Analiza y compara múltiples canales en paralelo- Busca y compara de forma eficiente varios canales
- Proporciona información sobre las relaciones y tendencias de los canales
Ampliación con nuevos proveedores
Para añadir un nuevo proveedor de plataforma social
- Cree un nuevo directorio en
src/providers/
- Implemente la interfaz
ContentProvider
- Registre el proveedor en el registro
Ejemplo:
import { ContentProvider } from '../interfaces/provider'; export class MiPlataformaProvider implements ContentProvider { public name = 'miplataforma'; public plataforma = 'miplataforma'; // Implementa todos los métodos necesarios }
Desarrollo
Ejecutando en modo desarrollo
npm run dev # modo stdio npm run dev:http # modo HTTP
Probando
npm test
Linting
npm run lint npm run lint:fix
Licencia
MIT
Contribución
¡Las contribuciones son bienvenidas! No dudes en enviar una Pull Request.
Registro de cambios
Todos los cambios notables en 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 los modos stdio y HTTP
[1.0.1] - 2025-mar-19
Añadido
- Añadidas nuevas herramientas y recursos para obtener el perfil de usuario con la dirección del monedero
- Añadidas nuevas pruebas
[1.0.2] - 2025-21-mar
Añadido
- Añadida funcionalidad para recuperar los saldos de cartera de los usuarios Farcaster a través de ID o nombre de usuario
- Implementado soporte multi-proveedor para contenido de trending feed
- Mejorado updateUserProfile con detalles adicionales del usuario
- Añadidas pruebas exhaustivas para garantizar la fiabilidad y el rendimiento
[1.0.3] - 2025-Mar-24
Añadido
- Añadido soporte para obtener información de canales farcaster individuales y masivos