mcpField
B
BioHarbor

BioHarbor

ローカル
github.com/danielLuo2科学・教育03 週間前に更新

BioHarbor について

BioHarborは、生物情報解析を実行するAIエージェント向けのMCPサーバーで、ローカルや研究室のGPUで計算する研究者を対象としています。実行前に入力を検証し、実行情報を記録し、長時間の処理にはジョブIDを返します。

主な機能

  1. 01配列検証と基本統計の計算
  2. 02配列翻訳とORF検出
  3. 03MMseqs2による相同配列検索
  4. 04ESMFoldによるタンパク質構造予測
  5. 05GPUの空き状況に応じたジョブ配置
  6. 06実行来歴と出力ファイルの記録

活用シーン

  1. 01配列を解析してORFを特定
  2. 02ローカルデータベースで相同配列を検索
  3. 03GPUでタンパク質構造を予測

MCP 対応

MCPサーバーは、配列解析、相同性検索、構造予測、ジョブ管理のツールをクライアントに公開します。stdioまたはStreamable HTTPで接続でき、長時間の処理には`job_id`を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"danielluo2-bioharbor": {
"command": "uvx",
"args": [
"bioharbor"
]
}
}
}
起動コマンドuvx bioharbor

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypibioharbor0.1.6

ツール

12

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
sequencestringはい生の配列または FASTA テキスト(1件以上のレコード)。

詳細

BioHarbor

AI エージェントから本格的なバイオインフォマティクスを実行できます。信頼性と再現性を備え、ご自身の GPU 上で動作します。

CI PyPI License BioHarbor MCP server – quality and maintenance score on Glama

🧪 アルファ版(v0.1)。 配列ツール、相同性検索(MMseqs2)、構造予測 (ESMFold、RTX 5090 で検証済み)が動作します。フィードバックをお待ちしています。ロードマップをご覧ください。

BioHarbor は、Claude、Cursor、Codex などの AI エージェントがバイオインフォマティクスツールを単に検索するのではなく、実行できるようにする MCP サーバーです。エージェントが解析を依頼すると、BioHarbor は入力を検証し、空きのある GPU にジョブを割り当て、実行方法を正確に記録して、エージェントが読み取りやすい簡潔な概要を返します。

BioHarbor のデモ

なぜ、もうひとつバイオ MCP サーバーが必要なのですか?

多くのバイオ MCP サーバーは、UniProt、PDB、PubMed などのデータベースをラップしています。そうしたサーバーも活用してください。BioHarbor は、計算処理を実行して補完します。

データベース MCP サーバーBioHarbor
実際の解析を実行(検索、折りたたみ、クラスタリング)❌✅
GPU 時間を消費する前に入力を検証❌✅
GPU を考慮したキュー。共有 GPU に配慮❌✅
長時間のジョブはタイムアウトせず、job_id を返す❌✅
簡潔な概要とディスク上のファイル(トークンを節約)❌✅
すべての実行の来歴を記録し、パイプラインにエクスポート❌✅(エクスポート:予定)

クイックスタート

pip install bioharbor
bioharbor doctor             # checks Python, GPUs, workspace, tools
bioharbor setup-db swissprot # reference database for search_homologs (needs MMseqs2)
bioharbor install            # shows how to connect Claude, Cursor or Codex

GPU で構造予測を行うには、pip install "bioharbor[esmfold]" を実行してください。docs/gpu-setup.mdをご覧ください(RTX 50xx では CUDA 12.8 以降の PyTorch が必要です)。

エージェントを接続する

BioHarbor は標準的な MCP サーバーなので、あらゆる MCP クライアントで利用できます。ひとつのコマンドで、よく使われるクライアントを設定できます(絶対パスを書き込むため、仮想環境の外でも GUI アプリから見つけられます)。

クライアント設定
Claude Codeclaude mcp add bioharbor -- bioharbor serve
Claude Desktopbioharbor install claude-desktop --write を実行し、アプリを再起動
Cursorbioharbor install cursor --write、または Cursor に追加
Codex(CLI、IDE 拡張機能、アプリ)codex mcp add bioharbor -- bioharbor serve、または bioharbor install codex --write
Biomni(Stanford の生物医学エージェント)agent.add_mcp(...)。詳しくはdocs/use-with-biomni.mdをご覧ください
その他bioharbor serve(stdio)または bioharbor serve --http(Streamable HTTP)を実行

長時間実行されるツールは、処理をブロックせず、約 20 秒以内に job_id を返すため、すべてのクライアントでツール呼び出しのタイムアウトを回避できます。

DNA 配列に対して BioHarbor の find_orfs ツールと seq_stats ツールを連鎖実行する Codex

ローカルまたは GPU サーバーでの手順ごとの設定(トラブルシューティングを含む):docs/connect-clients.md。

次のようにエージェントに依頼してみてください。

このコンティグで最も長い ORF を見つけて翻訳し、Swiss-Prot で相同配列を検索して、その構造を予測してください。信頼度が低い領域はどこですか?

エージェントを使わずに利用する

すべてのツールは、同じ動作をする CLI コマンドとしても利用できます。

bioharbor tools list
bioharbor run find_orfs [email protected] min_aa=100 --brief   # human-readable
bioharbor run seq_stats sequence=MKTAYIAKQRQISFVKSHFSRQ
bioharbor jobs
共有 GPU サーバー

ラボのサーバーに GPU があり、ノート PC でエージェントを使っていますか?サーバー上で BioHarbor を実行し、SSH トンネル経由で接続できます。サーバー上で新たにポートを開く必要はありません。

# on the GPU server
bioharbor serve --http --host 127.0.0.1 --port 8765
# on your laptop, then point Cursor / Codex / Claude Code at http://127.0.0.1:8765/mcp
ssh -N -L 8765:127.0.0.1:8765 you@gpu-server

⚠️ HTTP モードにはまだ認証機能がありません(ロードマップに記載)。そのため 127.0.0.1 でのみ待ち受け、トンネルを使用してください。詳細:docs/connect-clients.md。

ツール

ツール機能実行方式
seq_stats配列を検証します。種類、長さ、GC%、分子量を確認しますインライン
translate_sequenceDNA/RNA → タンパク質に翻訳します。1つまたは6つすべての読み枠に対応しますインライン
find_orfs両方の鎖で最長のORFを、座標とともに検索しますジョブ
search_homologsMMseqs2でローカルDBを検索します(タンパク質、または翻訳したDNA)ジョブ
predict_structureESMFoldによる構造、pLDDTの範囲、信頼度の低い領域、pTMを予測しますジョブ(GPU)
scrna_pipelinescanpyによるQC → クラスタリング → マーカー検出計画中

ランタイムツール:get_job、list_jobs、cancel_job、describe_tool、list_databases、 gpu_status、read_file。

仕組み

Agent ──MCP──▶ validate input ─▶ inline? ──yes──▶ run ─┐
                                   │ no                  ├─▶ provenance + summary ─▶ Agent
                                   ▼                     │
                     job queue (SQLite) ─▶ GPU placement ┘
                     (waits politely for a GPU with free memory)
  • すべての呼び出しはジョブとして実行されます。パラメーター、バージョン、実行時間、使用したGPUとともにSQLiteに記録され、出力の隣にprovenance.jsonが作成されます。
  • GPUの割り当てでは、空きメモリーと使用率をリアルタイムで読み取り(NVMLまたはnvidia-smi)、余裕を確保します。また、開始したジョブのメモリーを予約するため、2つのジョブが同じ領域を取得することはありません。他のユーザーのプロセスも考慮されます。
  • 迅速に失敗します。ジョブをキューに追加する前に入力、バイナリー、データベースを確認するため、不正なリクエストが使用中のGPUの後ろで待機することはありません。
  • 結果はエージェント向けの形式です:summary、message、files、suggestionsが含まれます。エラーにはhintとretryableフラグが付属します。

詳細:docs/design.md。

ツールの作成

from pydantic import BaseModel, Field
from bioharbor.registry import Resources, RunContext, tool
from bioharbor.results import ToolResult


class FoldParams(BaseModel):
    sequence: str = Field(..., description="Protein sequence")


@tool(
    version="1",
    slow=True,
    resources=Resources(gpu=True, gpu_mem_gb=lambda p: 4 + len(p.sequence) / 100),
)
def predict_structure(params: FoldParams, ctx: RunContext) -> ToolResult:
    """Predict a protein structure with ESMFold."""
    ...
    return ToolResult(summary={"mean_plddt": 87.1}, files=["model.pdb"])

プラグインは、bioharbor.toolsエントリーポイントグループを介して、独自のパッケージにツールを含めることができます。CONTRIBUTING.mdを参照してください。

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。