Skip to main content
Glama
TakumiY235

UniProt MCP Server

by TakumiY235

UniProt MCP サーバー

UniProtタンパク質情報へのアクセスを提供するモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、AIアシスタントはUniProtからタンパク質の機能と配列情報を直接取得できます。

特徴

  • UniProtアクセッション番号でタンパク質情報を取得する

  • 複数のタンパク質のバッチ検索

  • パフォーマンス向上のためのキャッシュ(24時間TTL)

  • エラー処理とログ記録

  • 情報には以下が含まれます:

    • タンパク質名

    • 機能の説明

    • フルシーケンス

    • シーケンスの長さ

    • 生物

Related MCP server: AI Agent Marketplace Index Search

クイックスタート

  1. Python 3.10以降がインストールされていることを確認してください

  2. このリポジトリをクローンします:

    git clone https://github.com/TakumiY235/uniprot-mcp-server.git
    cd uniprot-mcp-server
  3. 依存関係をインストールします:

    # 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.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.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リファレンス

ツール

  1. get_protein_info

    • 単一のタンパク質の情報を取得する

    • 必須パラメータ: accession (UniProt アクセッション番号)

    • 応答例:

      {
        "accession": "P12345",
        "protein_name": "Example protein",
        "function": ["Description of protein function"],
        "sequence": "MLTVX...",
        "length": 123,
        "organism": "Homo sapiens"
      }
  2. get_batch_protein_info

    • 複数のタンパク質の情報を取得する

    • 必須パラメータ: accessions (UniProt アクセッション番号の配列)

    • タンパク質情報オブジェクトの配列を返します

発達

開発環境の設定

  1. リポジトリをクローンする

  2. 仮想環境を作成します。

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. 開発依存関係をインストールします。

    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とサイズ制限)

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。貢献方法は以下の通りです。

  1. リポジトリをフォークする

  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature

  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )

  4. ブランチにプッシュする ( git push origin feature/amazing-feature )

  5. プルリクエストを開く

必要に応じてテストを更新し、既存のコーディング スタイルに準拠するようにしてください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

謝辞

  • タンパク質データAPIを提供するUniProt

  • モデルコンテキストプロトコル仕様のAnthropic

  • このプロジェクトの改善に協力してくれた貢献者

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TakumiY235/uniprot-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server