Synapse MCP サーバー
Synapse エンティティ (データセット、プロジェクト、フォルダー、ファイル、テーブル) を注釈とともに公開し、OAuth2 認証をサポートするモデル コンテキスト プロトコル (MCP) サーバー。
概要
このサーバーは、モデルコンテキストプロトコル(MCP)を介してSynapseエンティティとそのアノテーションにアクセスするためのRESTful APIを提供します。これにより、以下のことが可能になります。
- Synapseで認証する
- IDでエンティティを取得する
- 名前でエンティティを取得する
- エンティティの注釈を取得する
- エンティティの子を取得する
- さまざまな基準に基づいてエンティティをクエリする
- Synapseテーブルのクエリ
- Croissant メタデータ形式でデータセットを取得する
インストール
PyPIからのインストール
使用法
サーバーの起動
これにより、デフォルトのポート (9000) で MCP サーバーが起動します。
CLIの使用
コマンドラインオプション
テストの実行
サーバーのテスト
認証方法
環境変数
サーバーは次の環境変数をサポートしています。
HOST
: バインドするホスト(デフォルト: 127.0.0.1)PORT
: リッスンするポート(デフォルト: 9000)MCP_TRANSPORT
: 使用するトランスポートプロトコル(デフォルト: stdio)stdio
: ローカル開発に標準入出力を使用するsse
: クラウド展開に Server-Sent Events を使用する
MCP_SERVER_URL
: サーバーの公開URL (デフォルト: mcp://127.0.0.1:9000)- OAuth2リダイレクトとサーバー情報に使用されます
サーバーは次の 2 つの認証方法をサポートしています。
- 認証トークン: Synapse認証トークンを使用して認証する
- OAuth2 : SynapseのOAuth2サーバーを使用して認証する
- Synapse に OAuth2 クライアントを登録する必要があります ( https://www.synapse.org/#!PersonalAccessTokens:OAuth )
APIエンドポイント
サーバー情報
GET /info
- サーバー情報を取得する
ツール
GET /tools
- 利用可能なツールの一覧POST /tools/authenticate
- Synapseで認証するPOST /tools/get_oauth_url
- OAuth2認証URLを取得するPOST /tools/get_entity
- IDまたは名前でエンティティを取得するPOST /tools/get_entity_annotations
- エンティティの注釈を取得するPOST /tools/get_entity_children
- コンテナエンティティの子エンティティを取得しますPOST /tools/query_entities
- さまざまな基準に基づいてエンティティをクエリするPOST /tools/query_table
- Synapse テーブルをクエリする
リソース
GET /resources
- 利用可能なリソースを一覧表示するGET /resources/entity/{id}
- IDでエンティティを取得するGET /resources/entity/{id}/annotations
- エンティティのアノテーションを取得するGET /resources/entity/{id}/children
- エンティティの子を取得するGET /resources/query/entities/{entity_type}
- タイプ別にエンティティをクエリするGET /resources/query/entities/parent/{parent_id}
- 親IDでエンティティをクエリするGET /resources/query/entities/name/{name}
- 名前でエンティティをクエリするGET /resources/query/table/{id}/{query}
- SQLのような構文でテーブルをクエリする
OAuth2エンドポイント
GET /oauth/login
- Synapse OAuth2 ログインページにリダイレクトしますGET /oauth/callback
- Synapse からの OAuth2 コールバックを処理する
例
認証
サーバーを使用するには、実際の Synapse 資格情報で認証する必要があります。
OAuth2認証
1. リダイレクトフロー(ブラウザベース)
ユーザーを OAuth ログイン URL に誘導します。
2. APIベースのフロー
プログラムで使用する場合は、まず認証 URL を取得します。
エンティティの取得
エンティティアノテーションの取得
エンティティのクエリ
テーブルのクエリ
Croissant形式でデータセットを取得する
展開
ドッカー
Docker を使用してサーバーを構築および実行できます。
フライアイオー
fly.io にデプロイします。
Claude Desktopとの統合
この Synapse MCP サーバーを Claude Desktop と統合すると、Claude が会話の中で Synapse データに直接アクセスして操作できるようになります。
セットアップ手順
- まず、リポジトリのクローンを作成し、要件をインストールします。
- Synapse MCP サーバーを使用するように Claude Desktop を構成します。
- クロードデスクトップを開く
- Claude メニューをクリックし、「設定...」を選択します。
- 左側のバーにある「開発者」をクリックします
- 「設定の編集」をクリックします
mcpServers
セクションに次の構成を追加します。
- 設定ファイルを保存し、Claude Desktopを再起動します。
- クロードとの会話でSynapseデータを使用できるようになりました。例えば:
- 「SynapseからID syn123456のエンティティを取得する」
- 「Synapse プロジェクト syn123456 内のすべてのファイルをクエリする」
- 「Synapseエンティティsyn123456の注釈を取得する」
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
マサチューセッツ工科大学
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Synapse エンティティ (データセット、プロジェクト、フォルダー、ファイル、テーブル) を注釈とともに公開し、RESTful API を介して Synapse データ リソースへのプログラムによるアクセスを可能にするモデル コンテキスト プロトコル サーバー。
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server implementation for interacting with Salesforce through its REST API.Last updated -410TypeScript
- -securityFlicense-qualityA Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.Last updated -462Python
- -securityFlicense-qualityA Model Context Protocol server for accessing Confluence API using Personal Access Tokens, enabling users to retrieve space lists, view pages, create new pages, and update existing content.Last updated -TypeScript
- -securityAlicense-qualityA Model Context Protocol server that exposes over 200+ APIs from API.market as MCP resources, allowing large language models to discover and interact with various APIs through natural language commands.Last updated -1112TypeScriptMIT License