Beyond MCP Server について
Beyond MCP Serverは、ソーシャルデータとオンチェーンデータを扱う拡張可能なMCPサーバーです。Neynar API経由でFarcasterに接続し、AIクライアントにコンテンツ、プロフィール、チャンネル、ウォレット情報を提供します。
主な機能
- 01Farcasterの投稿やトレンド検索
- 02プロフィール、投稿、残高の取得
- 03ウォレットアドレスによるプロフィール検索
- 04チャンネルの単体・一括検索
- 05stdioとSSE/HTTPトランスポート
活用シーン
- 01スレッドや検索結果の分析
- 02ユーザーの活動とウォレット情報の要約
- 03トレンド投稿やFarcasterチャンネルの調査
MCP 対応
MCPクライアントにソーシャルデータのリソース、ツール、プロンプトを提供します。Farcasterは実装済みで、Twitter連携はプレースホルダーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバーを超えて
ソーシャルプラットフォームのデータとオンチェーンデータに標準化された方法でアクセスできる、拡張可能な Model Context Protocol サーバーです。現在は Neynar API 経由で Farcaster をサポートしており、Twitter 統合はプレースホルダーです。オンチェーンデータを含む Telegram など、ほかのプラットフォームも近日中に追加予定です。
機能
- MCP 準拠:Model Context Protocol の仕様を完全に実装しています
- マルチプラットフォーム:複数のソーシャルメディアプラットフォームをサポートできるよう設計されています
- 拡張可能:新しいプラットフォームプロバイダーを簡単に追加できます
- 適切にフォーマット:LLM での利用に最適化されたコンテキスト形式です
- 柔軟なトランスポート:stdio と SSE/HTTP の両方のトランスポートをサポートしています
サポート対象のプラットフォーム
- Farcaster:Neynar API 経由で完全に実装されています
- Twitter:プレースホルダー(未実装)
はじめに
前提条件
- Node.js 16+
- Neynar API キー(Farcaster へのアクセス用)https://neynar.com/
インストール
- リポジトリをクローンします
git clone https://github.com/yourusername/beyond-mcp-server.git
cd beyond-mcp-server
- 依存関係をインストールします
npm install
- テンプレートから .env ファイルを作成します
cp .env.example .env
# Edit .env with your API keys
-
環境変数を設定します
- 必須:.env ファイルで
NEYNAR_API_KEYを設定します - Neynar API キーは https://neynar.com/ から取得できます
- 有効な API キーがない場合、Farcaster の機能は動作しません
- 必須:.env ファイルで
-
サーバーをビルドして起動します
npm run build
npm start # For stdio mode (default)
# OR
npm run start:http # For HTTP/SSE mode
Claude for Desktop での使用
- サーバーをビルドします
npm run build
-
.env ファイルに API キーが正しく設定されていることを確認します
- サーバーは次の場所で .env を探します:
- 現在の作業ディレクトリ
- プロジェクトのルートディレクトリ
- 親ディレクトリ(最大 3 階層)
- システムに環境変数を直接設定することもできます
- サーバーは次の場所で .env を探します:
-
次の場所にある Claude Desktop の設定にサーバーを追加します:
- 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"
]
}
}
}
- または、API キーやその他の環境変数を Claude Desktop の設定に直接渡すこともできます(推奨):
{
"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"
}
}
}
}
- Claude for Desktop を再起動します
MCP の機能
リソース
social://{platform}/{query}/search- プラットフォーム上のコンテンツを検索しますsocial://{platform}/user/{userId}/profile- ユーザープロフィールを取得しますsocial://{platform}/wallet/{walletAddress}/profile- ウォレットアドレスからユーザープロフィールを取得します(Farcaster のみ)social://{platform}/user/{userId}/balance- ユーザーのウォレット残高を取得します(Farcaster のみ)- FID(数値)またはユーザー名を指定できます
- ユーザー名が指定された場合、残高を取得する前に自動的に FID に変換します
social://{platform}/wallet/{walletAddress}/profile- ウォレットアドレスからユーザープロフィールを取得しますsocial://{platform}/user/{userId}/content- ユーザーのコンテンツを取得しますsocial://{platform}/thread/{threadId}- 会話スレッドを取得しますsocial://{platform}/trending- トレンドのトピックを取得しますsocial://{platform}/trending-feed- 複数のプロバイダーに対応したトレンドフィードのコンテンツを取得します(Farcaster のみ)- 対応プロバイダー:neynar(デフォルト)、openrank、mbd
- パラメーター:timeWindow(1h、6h、12h、24h、7d、30d)、limit
social://{platform}/channels/search- プラットフォーム上のチャンネルを検索します(Farcaster のみ)- パラメーター:query、limit、cursor
- 名前、説明、フォロワー数、メタデータなどのチャンネル情報を返します
social://{platform}/channels/bulk-search- 複数のチャンネルを並行して検索します(Farcaster のみ)- パラメーター:queries(配列)、limit、cursor
- チャンネル情報とページネーション情報を含む、各クエリの結果を返します
ツール
search-content- ソーシャルプラットフォーム上のコンテンツを検索しますget-user-profile- ユーザーのプロフィール情報を取得しますget-user-profile-by-wallet- ウォレットアドレスを使ってユーザープロフィールを取得します(Farcaster のみ)get-user-balance- ユーザーのウォレット残高を取得します(Farcaster のみ)- FID(数値)またはユーザー名を受け付けます
- ユーザー名から FID への変換を自動的に処理します
get-user-content- 特定のユーザーのコンテンツを取得しますget-thread- 会話のスレッドを取得しますget-trending-topics- 現在のトレンドトピックを取得しますgetTrendingFeed- マルチプロバイダー対応のトレンドフィードを取得します(Farcaster のみ)get-wallet-profile- ウォレットアドレスに基づいてプロフィールを取得しますsearch-channels- プラットフォーム上のチャンネルを検索します(Farcaster のみ)- パラメーター:query、limit、cursor
- フォロワー数やメタデータを含む、詳細なチャンネル情報を返します
search-bulk-channels- 複数のチャンネルを並列に検索します(Farcaster のみ)- パラメーター:queries(配列)、limit、cursor
- チャンネルの詳細とページネーション情報を含む、各クエリの結果を返します
プロンプト
analyze-thread- ソーシャルメディアのスレッドを分析しますsummarize-user-activity- ユーザーのアクティビティを要約しますexplore-trending-topics- プラットフォーム上のトレンドトピックを調査しますanalyze-search-results- クエリの検索結果を分析しますexplore-trending-feed- 複数のプロバイダーにわたるトレンドフィードのコンテンツを分析しますget-wallet-profile- ウォレットアドレスからユーザープロフィールを取得して分析しますcheck-user-balance- ユーザーのウォレット残高と保有資産を分析します- FID とユーザー名のどちらの入力にも対応します
- ユーザー名から FID を自動的に解決します
explore-channels- プラットフォーム上のチャンネルを分析して調査します- チャンネルの人気度やコンテンツに関するインサイトを提供します
- 検索条件に基づいて、関連するチャンネルの発見を支援します
explore-bulk-channels- 複数のチャンネルを並列に分析して比較します- 複数のチャンネルを効率的に検索して比較します
- チャンネル間の関係やトレンドに関するインサイトを提供します
新しいプロバイダーによる拡張
新しいソーシャルプラットフォームのプロバイダーを追加するには:
src/providers/に新しいディレクトリを作成しますContentProviderインターフェースを実装します- レジストリにプロバイダーを登録します
例:
import { ContentProvider } from '../interfaces/provider';
export class MyPlatformProvider implements ContentProvider {
public name = 'myplatform';
public platform = 'myplatform';
// Implement all required methods
}
開発
開発モードでの実行
npm run dev # stdio mode
npm run dev:http # HTTP mode
テスト
npm test
リンティング
npm run lint
npm run lint:fix
ライセンス
MIT
コントリビューション
コントリビューションを歓迎します!お気軽に Pull Request を送信してください。
変更履歴
このプロジェクトのすべての重要な変更は、このファイルに記録されます。
[1.0.0] - 2025-Mar-10
追加
- 初回リリース
- Neynar API を介した Farcaster 連携
- MCP 準拠のサーバー実装
- stdio モードと HTTP モードの両方に対応
[1.0.1] - 2025-Mar-19
追加
- ウォレットアドレスを使ってユーザープロフィールを取得する新しいツールとリソースを追加
- 新しいテストを追加
[1.0.2] - 2025-Mar-21
追加
- ID またはユーザー名を指定して、Farcaster ユーザーのウォレット残高を取得する機能を追加
- トレンドフィードのコンテンツにマルチプロバイダー対応を実装
updateUserProfileに追加のユーザー詳細情報を追加- 信頼性とパフォーマンスを確保するための包括的なテストを追加
[1.0.3] - 2025-Mar-24
追加
- Farcaster チャンネルの単体および一括情報取得に対応
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。