remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
バイオマートMCP
BiomartとインターフェースするMCPサーバー
モデルコンテキストプロトコル(MCP)は、 Anthropicが開発したLLMにアプリケーションがコンテキストを提供する方法を標準化するオープンプロトコルです。ここでは、MCP Python SDKを使用して、 pybiomartパッケージを介してBiomartとインターフェースするMCPサーバーを作成します。
Claude Desktop 上で動作している MCP サーバーを示す短いデモ ビデオがあります。
インストール
リポジトリをクローンする
クロードデスクトップ
カーソル
カーソルのエージェントモードを使用すると、他のモデルもOpenAIやDeepSeekなどのMCPサーバーを利用できます。カーソル設定の歯車をクリックし、 Features
」→ MCP Servers
」→「 Add new MCP Server
に移動します。名前をbiomart
(または任意の名前)に設定し、 Type
にcommand
と入力します。
コマンドを次のように設定します。
グラマ
発達
特徴
Biomart-MCP は、Biomart データベースと対話するためのいくつかのツールを提供します。
- Mart とデータセットの検出: Biomart データベース構造を探索するために利用可能な mart とデータセットを一覧表示します
- 属性とフィルターの探索: 特定のデータセットの共通または利用可能なすべての属性とフィルターを表示します。
- データ取得: 特定の属性とフィルターを使用して Biomart をクエリし、生物学的データを取得します。
- ID 変換: 異なる生物学的識別子 (例: 遺伝子シンボルから Ensembl ID) 間の変換
貢献
プルリクエストは大歓迎です!開発に関するちょっとしたメモ:
- ここでは意図的に
@mcp.tool()
のみを使用しています。これは、ドキュメントに記載されているように、MCP をサポートするクライアントとの互換性を最大化するためです。 - 計算コストが高い関数や外部 API 呼び出しを行う関数の結果をキャッシュするために、
@lru_cache
を使用しています。 - モデルのコンテキストウィンドウを拡張しないように注意する必要があります。例えば、多くの場所で
df.to_csv(index=False).replace("\r", "")
見られます。このcsv形式の戻り値は、トークンの大部分が空白であるdf.to_string()
のような関数よりもトークン効率がはるかに高くなります。また、染色体からすべての遺伝子を取得するなど、大規模なリクエストはコンテキストウィンドウに対して大きすぎることにも注意してください。
将来の潜在的な機能
もちろん、他にも追加できる機能はたくさんあり、中にはbiomart-mcp
という名前の範囲を超えるものもあるかもしれません。いくつかアイデアをご紹介します。
bs4
を使ってリソース サイトの Web スクレイピングを追加します。たとえば、NOTCH1 の Ensembl 遺伝子 ID を取得した場合、場合によっては、 UCSC のページからComments and Description Text from UniProtKB
を取得することが役に立つ可能性があります。- Loading...
You must be authenticated.
Tools
Biomart データベースとインターフェイスするモデル コンテキスト プロトコル サーバー。モデルが生物学的データセットを検出し、属性/フィルターを探索し、生物学的データを取得し、異なる生物学的識別子間で変換できるようにします。