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
- Node.js 16+
- Clave de API de Neynar (para acceso a Farcaster) https://neynar.com/
Instalación
- Clona el repositorio
git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
- Instala las dependencias
npm install
- Crea un archivo .env a partir de la plantilla
cp .env.example .env
# Edit .env with your API keys
-
Configura tus variables de entorno
- Requerido: Establece
NEYNAR_API_KEYen 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á
- Requerido: Establece
-
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
- Compila el servidor
npm run build
-
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
- El servidor buscará .env en las siguientes ubicaciones:
-
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"
]
}
}
}
- 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"
}
}
}
}
- Reinicia Claude for Desktop
Capacidades de MCP
Recursos
social://{platform}/{query}/search- Buscar contenido en una plataformasocial://{platform}/user/{userId}/profile- Obtener perfil de usuariosocial://{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 walletsocial://{platform}/user/{userId}/content- Obtener contenido del usuariosocial://{platform}/thread/{threadId}- Obtener hilo de conversaciónsocial://{platform}/trending- Obtener temas de tendenciasocial://{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 socialget-user-profile- Obtener información del perfil de un usuarioget-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íficoget-thread- Obtener un hilo de conversaciónget-trending-topics- Obtener temas de tendencia actualesgetTrendingFeed- Obtener feed de tendencias con soporte multiproveedor (solo Farcaster)get-wallet-profile- Obtener perfil basado en dirección de walletsearch-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 socialessummarize-user-activity- Resumir la actividad de un usuarioexplore-trending-topics- Explorar temas de tendencia en una plataformaanalyze-search-results- Analizar resultados de búsqueda para una consultaexplore-trending-feed- Analizar contenido del feed de tendencias en diferentes proveedoresget-wallet-profile- Obtener y analizar perfil de usuario por dirección de walletcheck-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:
- Crea un nuevo directorio en
src/providers/ - Implementa la interfaz
ContentProvider - 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