UniProt MCP サーバー
UniProtタンパク質情報へのアクセスを提供するモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、AIアシスタントはUniProtからタンパク質の機能と配列情報を直接取得できます。
特徴
UniProtアクセッション番号でタンパク質情報を取得する
複数のタンパク質のバッチ検索
パフォーマンス向上のためのキャッシュ(24時間TTL)
エラー処理とログ記録
情報には以下が含まれます:
タンパク質名
機能の説明
フルシーケンス
シーケンスの長さ
生物
Related MCP server: AI Agent Marketplace Index Search
クイックスタート
Python 3.10以降がインストールされていることを確認してください
このリポジトリをクローンします:
git clone https://github.com/TakumiY235/uniprot-mcp-server.git cd uniprot-mcp-server依存関係をインストールします:
# Using uv (recommended) uv pip install -r requirements.txt # Or using pip pip install -r requirements.txt
構成
Claude Desktop 構成ファイルに以下を追加します:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"uniprot": {
"command": "uv",
"args": ["--directory", "path/to/uniprot-mcp-server", "run", "uniprot-mcp-server"]
}
}
}使用例
Claude Desktop でサーバーを構成した後、次のような質問をすることができます。
Can you get the protein information for UniProt accession number P98160?バッチクエリの場合:
Can you get and compare the protein information for both P04637 and P02747?APIリファレンス
ツール
get_protein_info単一のタンパク質の情報を取得する
必須パラメータ:
accession(UniProt アクセッション番号)応答例:
{ "accession": "P12345", "protein_name": "Example protein", "function": ["Description of protein function"], "sequence": "MLTVX...", "length": 123, "organism": "Homo sapiens" }
get_batch_protein_info複数のタンパク質の情報を取得する
必須パラメータ:
accessions(UniProt アクセッション番号の配列)タンパク質情報オブジェクトの配列を返します
発達
開発環境の設定
リポジトリをクローンする
仮想環境を作成します。
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate開発依存関係をインストールします。
pip install -e ".[dev]"
テストの実行
pytestコードスタイル
このプロジェクトでは以下を使用します:
コードフォーマット用の黒
インポートソート用のisort
糸くず除去用flake8
型チェックのためのmypy
セキュリティチェックの盗賊
依存関係の脆弱性チェックの安全性
すべてのチェックを実行します:
black .
isort .
flake8 .
mypy .
bandit -r src/
safety check技術的な詳細
MCP Python SDKを使用して構築
非同期HTTPリクエストにhttpxを使用する
OrderedDictベースのキャッシュを使用して24時間TTLのキャッシュを実装します
レート制限と再試行を処理する
詳細なエラーメッセージを提供する
エラー処理
サーバーはさまざまなエラー シナリオを処理します。
無効なアクセス番号(404 応答)
API接続の問題(ネットワークエラー)
レート制限(429件の回答)
不正な応答(JSON 解析エラー)
キャッシュ管理(TTLとサイズ制限)
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。貢献方法は以下の通りです。
リポジトリをフォークする
機能ブランチを作成します(
git checkout -b feature/amazing-feature)変更をコミットします (
git commit -m 'Add some amazing feature')ブランチにプッシュする (
git push origin feature/amazing-feature)プルリクエストを開く
必要に応じてテストを更新し、既存のコーディング スタイルに準拠するようにしてください。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
謝辞
タンパク質データAPIを提供するUniProt
モデルコンテキストプロトコル仕様のAnthropic
このプロジェクトの改善に協力してくれた貢献者
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.