Model Context Protocol (MCP) Server for NF-OSI について
NF-OSI向けのMCPサーバー群で、Synapseのデータキュレーションに取り組むAIアシスタントを対象としています。提供中の`nfty`はメタデータ処理とプロジェクト審査に対応し、組織の記憶を扱うサーバーは開発中です。
主な機能
- 01Synapseデータセットのメタデータ検索
- 02JSON Schemaによるメタデータ検証
- 03Synapseアノテーションの登録
- 04プロジェクトの審査と分類
- 05データ共有計画の取得
活用シーン
- 01Synapseデータセットからメタデータを抽出
- 02登録前にメタデータを確認
- 03Synapseでデータセットに注釈を追加
- 04プロジェクトと共有計画を審査
MCP 対応
独立したMCPサーバーを複数含み、クライアントで個別に設定して実行できます。提供中の`nfty`は、AIアシスタントにSynapseのキュレーションツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
NF-OSI 向け Model Context Protocol(MCP)サーバー
AI アシスタントが NF-OSI のリソースやツールにアクセスできるようにする MCP サーバーのコレクションです。
利用可能なサーバー
nfty(Python)
Synapse のデータキュレーションワークフロー向けの便利なツールです。AI アシスタントは次の操作を行えます。
- Synapse データセットからメタデータをクエリして抽出する
- JSON スキーマに照らしてメタデータを検証する
- メタデータを Synapse アノテーションとして送信する
- Synapse プロジェクトをレビューして分類する
- データ共有計画を取得する
ステータス:✅ 本番環境で利用可能 言語:Python 3.8+ 依存関係:synapseclient, mcp, requests, jsonschema
memory(近日公開)
NF-OSI の組織内の記憶とナレッジベースです。次の情報を保持します。
- 公式ドキュメントや Slack などの情報源から得たチームの歴史と設計上の決定
- 長年チームに所属するメンバーが蓄積した暗黙知
- 標準業務手順と一般的なパターン
- キュレーションの決定に関する歴史的背景
- プロジェクト固有のコンテキストと会話の状態
ステータス:🚧 開発中 言語:未定
概要
このリポジトリは、複数の独立した MCP サーバーを含むモノレポとして構成されています。各サーバーは次のとおりです。
- 独自の依存関係を持つ自己完結型です
- 個別にインストールして使用できます
- 異なるプログラミング言語で記述できます
- AI アシスタントとの連携に MCP プロトコルを使用します
クイックスタート
インストール
-
リポジトリをクローンする
git clone <repository-url> cd mcp-server -
使用するサーバーをインストールする
各サーバーのサブディレクトリに、個別のインストール手順があります。
- nfty のインストール
- memory のインストール(利用可能になった場合)
複数のサーバーを同時にインストールして使用できます。各サーバーは独立したプロセスとして実行されます。
設定
各サーバーは MCP クライアントで個別に設定します。1 つまたは複数のサーバーを有効にできます。
Claude Desktop の場合
Claude Desktop の設定ファイルに追加します。
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
Linux:~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"nfty": {
"command": "uvx",
"args": ["--from", "/absolute/path/to/mcp-server", "nfty"],
"env": {
"SYNAPSE_AUTH_TOKEN": "your-synapse-personal-access-token"
}
}
}
}
重要:/absolute/path/to/mcp-server を、リポジトリの実際のパスに置き換えてください。
複数サーバーの例:
{
"mcpServers": {
"nfty": {
"command": "uvx",
"args": ["--from", "/absolute/path/to/mcp-server", "nfty"],
"env": {
"SYNAPSE_AUTH_TOKEN": "your-synapse-personal-access-token"
}
},
"memory": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/memory/build/index.js"],
"env": {}
}
}
}
注:各サーバーは独立したプロセスとして実行されます。設定に追加または設定から削除することで、サーバーを有効または無効にできます。
#### For Other MCP Clients
Refer to your client's documentation for MCP server configuration. Each server's configuration follows this pattern:
**For nfty (Python):**
- **Command**: `uvx`
- **Args**: `["--from", "/path/to/mcp-server", "nfty"]`
- **Environment**: `SYNAPSE_AUTH_TOKEN` with your token
**For memory (Node.js example):**
- **Command**: `node`
- **Args**: `["/path/to/mcp-server/memory/build/index.js"]`
- **Environment**: Server-specific env vars
**For compiled servers (Go/Rust example):**
- **Command**: `"/path/to/mcp-server/server-name/bin/executable"`
- **Args**: `[]` (or server-specific args)
- **Environment**: Server-specific env vars
### Verify Installation
Test each server directly:
**nfty:**
```bash
export SYNAPSE_AUTH_TOKEN="your-token"
uvx --from . nfty
サーバーが起動し、MCP プロトコルのメッセージを待機します。停止するには Ctrl+C を押してください。
その他のサーバー: テスト方法については、各サーバーの README を参照してください。
使用方法
設定が完了すると、AI アシスタントは有効になっている各サーバーが提供する nifty ツールにアクセスできます。
機能の詳細や使用例については、各サーバーのドキュメントを参照してください。
- nfty のドキュメント
- memory のドキュメント(利用可能になった場合)
開発
テストの実行
テスト
- サーバー固有のディレクトリにあるテストを参照してください
- AI エージェントのテスト:
# Requires goose
export SYNAPSE_AUTH_TOKEN=$SYNAPSE_AUTH_TOKEN
goose run --recipe tests/curator_tester.yaml
新しいツールの追加
nfty
mcp_server.pyのlist_tools()にツール定義を追加します- 非同期ハンドラー関数を実装します
call_tool()ディスパッチャーにハンドラーを追加しますTOOLS.mdのドキュメントを更新しますtests/curator_tester.yamlのテスト用プロンプトを更新します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。