Au-delà du serveur MCP - MCP Server sécurisé par ALMC Security 2025

Au-delà du serveur MCP

Voir sur GitHub

Serveur Beyond MCP

Un serveur extensible Model Context Protocol qui fournit un accès standardisé aux données des plateformes sociales et aux données onchain. Il prend actuellement en charge Farcaster (via l'API Neynar) avec un espace réservé pour l'intégration de Twitter. D'autres plateformes telles que Telegram et les données onchain seront bientôt ajoutées.

Caractéristiques

  • Conforme au MCP: Mise en œuvre complète de la spécification Model Context Protocol
  • Multiplateforme: Conçu pour prendre en charge plusieurs plateformes de médias sociaux
  • Extensible: Facilité d'ajout de nouveaux fournisseurs de plateformes
  • Bien formaté: formatage de contexte optimisé pour la consommation LLM
  • Transport flexible: Supporte les transports stdio et SSE/HTTP

Plates-formes supportées

  • Farcaster: Implémentation complète via l'API Neynar
  • Twitter: Placeholder (non implémenté)

Pour commencer

Conditions préalables

Installation de l'application

  1. Cloner le dépôt
git clone https://github.com/yourusername/beyond-mcp-server.git cd beyond-mcp-server
  1. Installer les dépendances
npm install
  1. Créez un fichier .env à partir du modèle
cp .env.example .env # Editez .env avec vos clés API
  1. Configurez vos variables d'environnement

    • Obligatoire: Définissez NEYNAR_API_KEY dans votre fichier .env
    • Vous pouvez obtenir une clé API Neynar à l'adresse https://neynar.com/
    • Sans clé API valide, les fonctionnalités de Farcaster ne fonctionneront pas
  2. Construire et démarrer le serveur

npm run build npm start # Pour le mode stdio (par défaut) # OU npm run start:http # Pour le mode HTTP/SSE

Utilisation avec Claude for Desktop

  1. Construire le serveur
npm run build
  1. Assurez-vous que votre fichier .env est correctement configuré avec vos clés API

    • Le serveur cherchera le fichier .env dans les emplacements suivants
      • Répertoire de travail actuel
      • Répertoire racine du projet
      • Répertoires parents (jusqu'à 3 niveaux)
    • Vous pouvez également définir des variables d'environnement directement dans votre système
  2. Ajoutez le serveur à votre configuration Claude Desktop à l'adresse suivante :

  • macOS : ~/Bibliothèque/Application Support/Claude/claude_desktop_config.json
  • Windows : %APPDATA%\Claudeclaude_desktop_config.json
{ "mcpServers" : { "beyond-social" : { "command" : "/usr/local/bin/node", "args" : ["/full/path/to/beyond-mcp-server/dist/index.js", "--stdio" ] } } }
  1. Vous pouvez également transmettre la clé API et d'autres variables d'environnement directement dans la configuration de Claude Desktop(recommandé) :
{ "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. Redémarrer Claude for Desktop

Capacités MCP

Ressources

  • social://{platform}/{query}/search - Recherche de contenu sur une plateforme
  • social://{platform}/user/{userId}/profile - Obtenir le profil de l'utilisateur
  • social://{platform}/wallet/{walletAddress}/profile - Obtenir le profil de l'utilisateur par l'adresse du portefeuille (Farcaster uniquement)
  • social://{platform}/user/{userId}/balance - Obtenir le solde du portefeuille de l'utilisateur (Farcaster uniquement)
    • Accepte soit le FID (numérique), soit le nom d'utilisateur
    • Si le nom d'utilisateur est fourni, il est automatiquement converti en FID avant de récupérer le solde
  • social://{platform}/wallet/{walletAddress}/profile - Obtenir le profil de l'utilisateur par adresse de portefeuille
  • social://{platform}/user/{userId}/content - Obtenir le contenu de l'utilisateur
  • social://{platform}/thread/{threadId} - Obtient le fil de la conversation
  • social://{platform}/trending - Obtenir les sujets en vogue
  • social://{platform}/trending-feed - Obtenir le contenu d'un flux de tendances avec prise en charge de plusieurs fournisseurs (Farcaster uniquement)
    • Fournisseurs supportés : neynar (par défaut), openrank, mbd
    • Paramètres : timeWindow (1h, 6h, 12h, 24h, 7j, 30j), limit
  • social://{plateforme}/channels/search - Recherche de chaînes sur une plateforme (Farcaster uniquement)
    • Paramètres : query, limit, cursor
    • Renvoie les détails de la chaîne, y compris le nom, la description, le nombre de followers et les métadonnées
  • social://{platform}/channels/bulk-search - Recherche de plusieurs canaux en parallèle (Farcaster uniquement)
    • Paramètres : queries (array), limit, cursor
    • Renvoie les résultats pour chaque requête avec les détails du canal et les informations de pagination

Outils

  • search-content - Recherche de contenu sur une plateforme sociale
  • get-user-profile - Obtenir des informations sur le profil d'un utilisateur
  • get-user-profile-by-wallet - Obtenir le profil d'un utilisateur en utilisant l'adresse de son portefeuille (Farcaster uniquement)
  • get-user-balance - Obtenir le solde du portefeuille de l'utilisateur (Farcaster uniquement)
    • Accepte le FID (numérique) ou le nom d'utilisateur
    • Gère automatiquement la conversion du nom d'utilisateur en FID
  • get-user-content - Obtenir le contenu d'un utilisateur spécifique
  • get-thread - Obtient un fil de conversation
  • get-trending-topics - Permet d'obtenir les sujets de conversation en cours
  • getTrendingFeed - Obtient un flux de tendances avec support multi-fournisseurs (Farcaster uniquement)
  • get-wallet-profile - Obtenir un profil basé sur l'adresse du portefeuille
  • search-channels - Recherche de canaux sur une plateforme (Farcaster uniquement)
    • Paramètres : query, limit, cursor
    • Renvoie des informations détaillées sur les chaînes, notamment le nombre de followers et les métadonnées
  • search-bulk-channels - Recherche de plusieurs canaux en parallèle (Farcaster uniquement)
    • Paramètres : queries (array), limit, cursor
    • Renvoie les résultats pour chaque requête avec les détails des chaînes et les informations de pagination

Invitations

  • analyze-thread - Analyse un fil de discussion sur les médias sociaux
  • summarize-user-activity - Résume l'activité d'un utilisateur
  • explore-trending-topics - Explore les sujets en vogue sur une plateforme
  • analyze-search-results - Analyser les résultats de recherche d'une requête
  • explore-trending-feed - Analyse le contenu d'un flux de tendances chez différents fournisseurs
  • get-wallet-profile - Obtenir et analyser le profil de l'utilisateur par adresse de portefeuille
  • check-user-balance - Analyser le solde du portefeuille de l'utilisateur et ses avoirs
    • Fonctionne avec les entrées FID et nom d'utilisateur
    • Gère la résolution automatique du FID pour les noms d'utilisateur
  • explore-channels - Analyse et explore les chaînes sur une plateforme
    • Fournit des informations sur la popularité et le contenu des chaînes
    • Permet de découvrir des chaînes pertinentes sur la base de critères de recherche
  • explore-bulk-channels - Analyser et comparer plusieurs chaînes en parallèle
    • Recherche et compare efficacement plusieurs canaux
    • Fournit des informations sur les relations et les tendances entre les canaux

Extension avec de nouveaux fournisseurs

Pour ajouter un nouveau fournisseur de plateforme sociale :

  1. Créez un nouveau répertoire dans src/providers/
  2. Mettre en œuvre l'interface ContentProvider
  3. Enregistrer le fournisseur dans le registre

Exemple :

import { ContentProvider } from '../interfaces/provider' ; export class MyPlatformProvider implements ContentProvider { public name = 'myplatform' ; public platform = 'myplatform' ; // Implémentation de toutes les méthodes requises }

Développement

Exécution en mode développement

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

Test

npm test

Linting

npm run lint npm run lint:fix

Licence

MIT

Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.

Changelog

Tous les changements notables apportés à ce projet seront documentés dans ce fichier.

[1.0.0] - 2025-Mar-10

Ajouté

  • Version initiale
  • Intégration de Farcaster via l'API Neynar
  • Implémentation d'un serveur compatible MCP
  • Support des modes stdio et HTTP

[1.0.1] - 2025-Mar-19

Ajouté

  • Ajout de nouveaux outils et ressources pour récupérer le profil de l'utilisateur avec l'adresse du portefeuille
  • Ajout de nouveaux tests

[1.0.2] - 2025-Mar-21

Ajouté

  • Ajout d'une fonctionnalité pour récupérer les soldes des portefeuilles des utilisateurs de Farcaster via l'ID ou le nom d'utilisateur
  • Mise en place d'un support multi-fournisseurs pour le contenu des flux de tendances
  • Amélioration de updateUserProfile avec des détails supplémentaires sur l'utilisateur
  • Ajout de tests complets pour assurer la fiabilité et la performance

[1.0.3] - 2025-Mar-24

Ajouté

  • Ajout de la prise en charge de la récupération des informations sur les chaînes de télédiffusion uniques et en vrac

Liés dans Communication - MCP Servers sécurisés

ServeurRésuméActions
Clash of ClansVoir
ELEMENT.FMSnippets Groupes ProjetsVoir
ElevenLabsVoir
Traitement des courrielsVoir
Serveur Dixa MCPUne implémentation de serveur FastMCP pour l'API Dixa, fournissant des ressources et des outils pour...Voir
AskMeMCPAskMeMCP est un serveur Model Context Protocol (MCP) qui permet aux assistants d'intelligence artifi...Voir