Skip to main content
Glama

UniProt MCP サーバー ロゴ

UniProt MCP サーバー

UniProtタンパク質データベースへの高度なアクセスを提供する包括的なモデルコンテキストプロトコル(MCP)サーバー。このサーバーは26種類の専門的なバイオインフォマティクスツールを提供し、AIアシスタントとMCPクライアントはUniProtのREST APIを介して、高度なタンパク質研究、比較ゲノミクス、構造生物学解析、システム生物学調査を直接実行できます。

Augmented Natureによって開発

特徴

コアタンパク質分析(5つのツール)

  • タンパク質検索: UniProtデータベースをタンパク質名、キーワード、生物名で検索します

  • 詳細なタンパク質情報: 機能、構造、注釈を含む包括的なタンパク質情報を取得します。

  • 遺伝子ベースの検索: 遺伝子名またはシンボルでタンパク質を検索

  • 配列検索: FASTAまたはJSON形式でアミノ酸配列を取得します

  • 特徴解析: 機能ドメイン、活性部位、結合部位、その他のタンパク質の特徴にアクセスします

比較・進化分析(4つのツール)

  • タンパク質比較:配列と特徴の解析による複数のタンパク質の並列比較

  • 相同遺伝子探索:異なる種間で相同なタンパク質を見つける

  • オーソログ同定:進化研究のためのオーソログタンパク質を同定する

  • 系統解析:進化関係と系統データを取得する

構造と機能解析(4つのツール)

  • 3D構造情報: PDB参照と構造データにアクセス

  • 高度なドメイン分析: InterPro、Pfam、SMART アノテーションによる強化されたドメイン分析

  • 変異解析:疾患関連変異および突然変異

  • 配列構成:アミノ酸組成、疎水性、その他の配列特性

生物学的コンテキスト分析(4つのツール)

  • パスウェイ統合:KEGGとReactomeからの関連する生物学的パスウェイ

  • タンパク質相互作用:タンパク質間相互作用ネットワーク

  • 機能分類: GO用語または機能注釈による検索

  • 細胞内局在:細胞内局在からタンパク質を見つける

バッチ処理と高度な検索(3つのツール)

  • バッチ処理:複数のタンパク質を効率的に処理

  • 高度な検索: 複数のフィルター (長さ、質量、生物、機能) を使用した複雑なクエリ

  • 分類:詳細な分類で検索

文献と相互参照(3つのツール)

  • 外部データベースリンク: PDB、EMBL、RefSeq、Ensembl、その他のデータベースへのリンク

  • 文献参照:関連出版物および引用文献

  • アノテーション品質: さまざまなアノテーションの品質スコアと信頼度レベル

データエクスポートとユーティリティ(3つのツール)

  • 特殊なエクスポート: GFF、GenBank、EMBL、XML形式でデータをエクスポート

  • アクセッション番号の検証: UniProtアクセッション番号の有効性を確認する

  • 分類情報: 詳細な分類と系統データ

リソーステンプレート

  • URIテンプレートを介してタンパク質データに直接アクセスし、シームレスな統合を実現

Related MCP server: ChEMBL MCP Server

インストール

前提条件

  • Node.js (v16 以上)

  • npmまたはyarn

設定

  1. リポジトリをクローンします。

git clone <repository-url>
cd uniprot-server
  1. 依存関係をインストールします:

npm install
  1. プロジェクトをビルドします。

npm run build

ドッカー

Dockerイメージの構築

Docker イメージをビルドします。

docker build -t uniprot-mcp-server .

Dockerで実行する

コンテナを実行します。

docker run -i uniprot-mcp-server

MCP クライアント統合の場合、コンテナーを直接使用できます。

{
  "mcpServers": {
    "uniprot": {
      "command": "docker",
      "args": ["run", "-i", "uniprot-mcp-server"],
      "env": {}
    }
  }
}

Docker Compose(オプション)

管理を容易にするためにdocker-compose.ymlを作成します。

version: "3.8"
services:
  uniprot-mcp:
    build: .
    image: uniprot-mcp-server
    stdin_open: true
    tty: true

実行:

docker-compose up

使用法

MCPサーバーとして

サーバーは、stdio 経由で通信する MCP サーバーとして実行されるように設計されています。

npm start

MCPクライアント構成への追加

サーバーを MCP クライアント構成に追加します (例: Claude Desktop)。

{
  "mcpServers": {
    "uniprot": {
      "command": "node",
      "args": ["/path/to/uniprot-server/build/index.js"],
      "env": {}
    }
  }
}

利用可能なツール

1. 検索タンパク質

UniProt データベースで、名前、キーワード、または生物別にタンパク質を検索します。

パラメータ:

  • query (必須): 検索クエリ(タンパク質名、キーワード、または複合検索)

  • organism (オプション):結果をフィルタリングするための生物名または分類ID

  • size (オプション): 返される結果の数 (1-500、デフォルト: 25)

  • format (オプション):出力形式 - json、tsv、fasta、xml(デフォルト:json)

例:

{
  "query": "insulin",
  "organism": "human",
  "size": 5
}

2. get_protein_info

UniProt アクセスにより特定のタンパク質の詳細情報を取得します。

パラメータ:

  • accession (必須): UniProtアクセッション番号(例:P04637)

  • format (オプション):出力形式 - json、tsv、fasta、xml(デフォルト:json)

例:

{
  "accession": "P01308",
  "format": "json"
}

3. 遺伝子による検索

遺伝子名またはシンボルでタンパク質を検索します。

パラメータ:

  • gene (必須): 遺伝子名またはシンボル(例:BRCA1、INS)

  • organism (オプション):結果をフィルタリングするための生物名または分類ID

  • size (オプション): 返される結果の数 (1-500、デフォルト: 25)

例:

{
  "gene": "BRCA1",
  "organism": "human"
}

4. get_protein_sequence

タンパク質のアミノ酸配列を取得します。

パラメータ:

  • accession (必須): UniProtアクセッション番号

  • format (オプション): 出力形式 - fasta、json(デフォルト: fasta)

例:

{
  "accession": "P01308",
  "format": "fasta"
}

5. get_protein_features

タンパク質の機能特性とドメインを取得します。

パラメータ:

  • accession (必須): UniProtアクセッション番号

例:

{
  "accession": "P01308"
}

リソーステンプレート

サーバーは、URI テンプレートを通じて UniProt データへの直接アクセスを提供します。

1. タンパク質情報

  • URI : uniprot://protein/{accession}

  • 説明: UniProt アクセッション番号の完全なタンパク質情報

  • 例: uniprot://protein/P01308

2. タンパク質配列

  • URI : uniprot://sequence/{accession}

  • 説明: FASTA形式のタンパク質配列

  • 例: uniprot://sequence/P01308

3. 検索結果

  • URI : uniprot://search/{query}

  • 説明: クエリに一致するタンパク質の検索結果

  • 例: uniprot://search/insulin

例

基本的なタンパク質検索

ヒトのインスリンタンパク質を検索:

// Tool call
{
  "tool": "search_proteins",
  "arguments": {
    "query": "insulin",
    "organism": "human",
    "size": 10
  }
}

詳細なタンパク質情報を入手

ヒトインスリンに関する包括的な情報を取得します。

// Tool call
{
  "tool": "get_protein_info",
  "arguments": {
    "accession": "P01308"
  }
}

遺伝子ベースの検索

BRCA1 遺伝子に関連するタンパク質を見つけます。

// Tool call
{
  "tool": "search_by_gene",
  "arguments": {
    "gene": "BRCA1",
    "organism": "human"
  }
}

タンパク質配列の取得

ヒトインスリンのアミノ酸配列を取得します。

// Tool call
{
  "tool": "get_protein_sequence",
  "arguments": {
    "accession": "P01308",
    "format": "fasta"
  }
}

タンパク質の特徴を分析する

ヒトインスリンの機能ドメインと特徴を取得します。

// Tool call
{
  "tool": "get_protein_features",
  "arguments": {
    "accession": "P01308"
  }
}

API統合

このサーバーは、UniProt REST APIと統合されており、プログラムからタンパク質データにアクセスできます。UniProtの詳細については、以下をご覧ください。

すべての API リクエストには以下が含まれます。

  • ユーザーエージェント: UniProt-MCP-Server/1.0.0

  • タイムアウト:30秒

  • ベース URL : https://rest.uniprot.org (プログラムによるアクセスのみ)

エラー処理

サーバーには包括的なエラー処理が含まれています。

  • 入力検証: すべてのパラメータは型ガードを使用して検証されます

  • APIエラー: ネットワークおよびAPIエラーがキャッチされ、説明メッセージとともに返されます

  • タイムアウト処理: 30秒後にリクエストがタイムアウトします

  • グレースフルデグラデーション: 部分的な障害は適切に処理されます

発達

プロジェクトを構築する

npm run build

開発モード

TypeScript コンパイラをウォッチモードで実行します。

npm run dev

プロジェクト構造

uniprot-server/
├── src/
│   └── index.ts          # Main server implementation
├── build/                # Compiled JavaScript output
├── package.json          # Node.js dependencies and scripts
├── tsconfig.json         # TypeScript configuration
└── README.md            # This file

依存関係

  • @modelcontextprotocol/sdk : サーバー実装用のコア MCP SDK

  • axios : UniProt APIリクエスト用のHTTPクライアント

  • typescript : 開発用の TypeScript コンパイラ

ライセンス

MITライセンス

貢献

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

  2. 機能ブランチを作成する

  3. 変更を加える

  4. 該当する場合はテストを追加する

  5. プルリクエストを送信する

サポート

問題や質問については:

  1. UniProt APIドキュメントを確認する

  2. モデルコンテキストプロトコル仕様を確認する

  3. リポジトリで問題を開く

拡張自然について

この包括的なUniProt MCPサーバーは、AIを活用したバイオインフォマティクスおよび計算生物学ソリューションのリーディングイノベーターである**Augmented Nature**によって開発されました。Augmented Natureは、人工知能と生物学研究のギャップを埋める高度なツールの開発を専門としており、研究者が生物学データからより深い洞察を引き出すことを可能にします。

完全なツールリファレンス

コアタンパク質分析ツール

  1. search_proteins - 名前、キーワード、または生物名でUniProtデータベースを検索します

  2. get_protein_info - アクセッション番号で詳細なタンパク質情報を取得する

  3. search_by_gene - 遺伝子名またはシンボルでタンパク質を検索

  4. get_protein_sequence - アミノ酸配列を取得する

  5. get_protein_features - 機能的特徴とドメインにアクセスする

比較・進化分析ツール

  1. compare_proteins - 複数のタンパク質を並べて比較する

  2. get_protein_homologs - 種を超えて相同なタンパク質を見つける

  3. get_protein_orthologs - 相同タンパク質を特定する

  4. get_phylogenetic_info - 進化関係を取得する

構造と機能解析ツール

  1. get_protein_structure - PDBから3D構造情報にアクセスする

  2. get_protein_domains_detailed - 強化されたドメイン解析 (InterPro、Pfam、SMART)

  3. get_protein_variants - 疾患関連変異および突然変異

  4. analyze_sequence_composition - アミノ酸組成分析

生物学的コンテキストツール

  1. get_protein_pathways - 関連する生物学的経路 (KEGG、Reactome)

  2. get_protein_interactions - タンパク質間相互作用ネットワーク

  3. search_by_function - GO用語または機能注釈による検索

  4. search_by_localization - 細胞内局在でタンパク質を検索する

バッチ処理と高度な検索ツール

  1. batch_protein_lookup - 複数のアクセスを効率的に処理する

  2. advanced_search - 複数のフィルターを使用した複雑なクエリ

  3. search_by_taxonomy - 分類による検索

文献と相互参照ツール

  1. get_external_references - 他のデータベースへのリンク (PDB、EMBL、RefSeq など)

  2. get_literature_references - 関連する出版物と引用

  3. get_annotation_confidence - アノテーションの品質スコア

データエクスポートとユーティリティツール

  1. export_protein_data - 特殊な形式(GFF、GenBank、EMBL、XML)でエクスポート

  2. validate_accession - アクセス番号の有効性を確認する

  3. get_taxonomy_info - 詳細な分類情報

変更履歴

v1.0.0 - 包括的なバイオインフォマティクスプラットフォーム

  • 主な拡張:新しい特殊ツール21個を追加(合計:26個)

  • 比較分析:タンパク質の比較、相同遺伝子/相同遺伝子の同定、系統解析

  • 構造生物学:3D構造統合、詳細ドメイン解析、変異解析

  • システム生物学:経路統合、タンパク質相互作用、機能分類

  • 高度な検索: バッチ処理、複雑なフィルタリング、分類検索

  • 文献統合:外部データベースリンク、引用、注釈の信頼性

  • データエクスポート: 複数の特殊形式 (GFF、GenBank、EMBL、XML)

  • 強化された Docker サポート: セキュリティのベストプラクティスに基づいたマルチステージビルド

  • 包括的なドキュメント: 完全なツールリファレンスと例

  • Augmented Natureによって開発:プロフェッショナルバイオインフォマティクスプラットフォーム

Available Tools

26 tools
analyze_sequence_compositionC

Amino acid composition, hydrophobicity, and other sequence properties

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the types of properties analyzed (amino acid composition, hydrophobicity, etc.) but lacks critical details: whether this is a read-only operation, computational requirements, potential rate limits, or what the output looks like (e.g., numerical values, plots). For a tool with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that lists key analysis types without unnecessary words. It's front-loaded with the core purpose, though it could be slightly more structured by explicitly mentioning the input or output. Overall, it's concise and avoids redundancy, earning a high score for brevity and clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of sequence analysis and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a report, JSON object, or visual summary), how properties are calculated, or any limitations (e.g., supported sequence types). For a tool that likely involves computational analysis, this leaves too much unspecified for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'accession' documented as a UniProt accession number. The description adds no additional parameter semantics beyond what the schema provides—it doesn't explain how the accession is used to derive the analysis or any constraints (e.g., valid formats). Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't detract either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: analyzing amino acid composition, hydrophobicity, and other sequence properties. It specifies the verb 'analyze' and the resource 'sequence properties', distinguishing it from siblings like get_protein_sequence (which retrieves raw sequence) or get_protein_info (which provides general metadata). However, it doesn't explicitly mention the input (accession number) or output format, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't specify scenarios where this analysis is needed (e.g., for protein characterization vs. structural prediction) or differentiate it from siblings like get_protein_features (which might include some overlapping properties). Without such context, users must infer usage based on the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_protein_lookupC

Process multiple accessions efficiently

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionsYesArray of UniProt accession numbers (1-100)
formatNoOutput format (default: json)

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'Process multiple accessions efficiently' implies a read operation but lacks details on behavior: it doesn't specify what data is returned, any rate limits, error handling for invalid accessions, or performance characteristics. This is inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it appropriately concise. However, it's under-specified rather than optimally structured, as it could benefit from front-loading more specific information about the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a tool that likely returns protein-related data. It doesn't explain what 'process' yields (e.g., protein info, sequences), leaving gaps in understanding the tool's behavior and output, which is insufficient for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both parameters (accessions array with constraints, format enum with default). The description adds no meaning beyond this, as it doesn't explain parameter usage or semantics. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Process multiple accessions efficiently' states the verb ('process') and resource ('multiple accessions'), but it's vague about what processing entails compared to siblings like 'get_protein_info' or 'get_protein_sequence'. It doesn't specify if this returns protein data, sequences, or annotations, leaving ambiguity in distinguishing its exact function from similar tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_protein_info' and 'get_protein_sequence', it's unclear if this tool is for batch retrieval of general info, sequences, or something else, and there are no explicit when/when-not instructions or named alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_proteinsB

Compare multiple proteins side-by-side with sequence and feature comparison

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionsYesArray of UniProt accession numbers (2-10)
formatNoOutput format (default: json)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only mentions the comparison functionality without behavioral details. It doesn't disclose rate limits, authentication requirements, whether it's read-only or has side effects, or what the comparison output looks like (beyond format options in schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that clearly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with no annotations and no output schema, the description is minimally adequate but lacks important context. It doesn't explain what 'feature comparison' includes, how results are structured, or any limitations beyond the parameter constraints in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional parameter semantics beyond what's in the schema (e.g., doesn't explain what 'feature comparison' entails or how accessions should be formatted). Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('compare') and resource ('multiple proteins') with specific comparison aspects ('sequence and feature comparison'). It distinguishes from siblings like 'get_protein_sequence' or 'get_protein_features' by emphasizing side-by-side comparison of multiple proteins, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for comparing multiple proteins, but doesn't explicitly state when to use this versus alternatives like 'get_protein_homologs' for evolutionary comparisons or 'batch_protein_lookup' for basic data retrieval. No guidance on prerequisites or exclusions is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_protein_dataC

Export data in specialized formats (GFF, GenBank, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number
formatYesExport format

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states 'export' implies a read operation, but lacks details on permissions, rate limits, output behavior (e.g., file download vs. inline data), or side effects. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and includes relevant examples, making it appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like output format details, error handling, or usage context, which are critical for an export tool with two required parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both parameters (accession and format with enum). The description adds minimal value by listing example formats (GFF, GenBank) beyond the schema's enum, but doesn't explain parameter interactions or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'export' and resource 'data', specifying specialized formats like GFF and GenBank. It distinguishes from siblings by focusing on export functionality rather than search, analysis, or retrieval operations, though it doesn't explicitly contrast with specific tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description mentions formats but doesn't indicate scenarios (e.g., for data sharing, analysis compatibility) or prerequisites, leaving usage context unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_annotation_confidenceD

Quality scores for different annotations

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

D1.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only states 'Quality scores for different annotations' without explaining what 'quality scores' are (e.g., confidence values, metrics), how they are returned, or any behavioral traits like rate limits, permissions, or response format. This is inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single phrase, 'Quality scores for different annotations', which is concise but under-specified—it lacks necessary detail for clarity. While it is front-loaded and wastes no words, the brevity comes at the cost of usefulness, making it more of a placeholder than an informative description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity implied by the tool name (involving 'annotation confidence') and the lack of annotations and output schema, the description is incomplete. It does not explain what 'quality scores' are, how they are structured, or what annotations are covered, leaving significant gaps for the agent to understand the tool's functionality and output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'accession' clearly documented as a 'UniProt accession number'. The description adds no additional meaning beyond this, such as examples or constraints. Since schema coverage is high, the baseline score of 3 is appropriate, as the schema adequately handles parameter semantics without description enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Quality scores for different annotations' is vague and tautological—it essentially restates the tool name 'get_annotation_confidence' without specifying what resource it acts on or what 'quality scores' entail. It does not clearly distinguish this tool from siblings like 'get_protein_info' or 'get_protein_features', which might also provide annotation-related data. The purpose lacks a specific verb and target resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, nor does it refer to sibling tools. This leaves the agent with no information to decide between this tool and others like 'get_protein_info' or 'get_protein_features' for annotation-related queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_external_referencesD

Links to other databases (PDB, EMBL, RefSeq, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

D1.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only lists database names without explaining what the tool does (e.g., returns URLs, IDs, or metadata), any rate limits, authentication needs, or output format. This leaves the agent guessing about the tool's behavior, warranting a score of 1.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise phrase, but it is under-specified rather than efficiently informative. It lacks front-loaded clarity (e.g., starting with a verb like 'Retrieve') and wastes space on generic examples ('PDB, EMBL, RefSeq, etc.') without adding actionable context. A score of 3 reflects this balance between brevity and insufficient detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a read operation with one parameter) and the absence of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., links, identifiers, or metadata), leaving gaps in understanding its functionality. While the schema covers the parameter, the overall context is inadequate, scoring 2.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'accession' parameter clearly documented as a 'UniProt accession number'. The description adds no additional meaning about parameters, such as format examples or constraints. According to the rules, with high schema coverage (>80%), the baseline is 3 even without param info in the description, so this score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Links to other databases (PDB, EMBL, RefSeq, etc.)' is vague and tautological—it essentially restates the tool name 'get_external_references' without specifying the action (e.g., 'retrieve' or 'fetch') or the resource (e.g., 'for a given protein'). It does not clearly distinguish this tool from siblings like 'get_protein_info' or 'get_protein_sequence', which might also involve external data. A score of 2 reflects this lack of specificity and differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, such as when to prefer this over 'get_protein_info' (which might include references) or 'search_by_function'. With no implied or explicit usage instructions, this is a minimal score of 1.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_literature_referencesC

Associated publications and citations

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention whether this is a read-only operation, if it requires authentication, rate limits, or what the output format might be. The description is minimal and fails to provide essential behavioral context for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient phrase with no wasted words. It is appropriately sized for a simple tool and front-loaded with the core purpose, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., list of publications, citation details) or any behavioral traits. For a tool with no structured data beyond the input schema, the description should provide more context to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'accession' clearly documented as a 'UniProt accession number'. The description adds no additional meaning beyond the schema, so it meets the baseline of 3 for high schema coverage without compensating with extra details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Associated publications and citations' states the purpose but is vague about the action. It implies retrieving references but doesn't specify the verb (e.g., 'retrieve' or 'fetch') or clearly distinguish it from sibling tools like 'get_external_references'. The purpose is understandable but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'get_external_references' or other siblings. The description does not mention any context, prerequisites, or exclusions, leaving the agent to infer usage based on the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_phylogenetic_infoC

Retrieve evolutionary relationships and phylogenetic data

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'retrieves' data, implying a read-only operation, but doesn't specify whether it's idempotent, has rate limits, requires authentication, or what the return format looks like. This is inadequate for a tool with potential complexity in phylogenetic data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose and appropriately sized for a simple retrieval tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'phylogenetic data' includes (e.g., tree formats, confidence scores) or behavioral aspects like error handling. For a tool dealing with evolutionary relationships, more context is needed to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'accession' documented as a 'UniProt accession number'. The description doesn't add any additional meaning beyond this, such as format examples or constraints, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('retrieve') and resources ('evolutionary relationships and phylogenetic data'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_taxonomy_info' or 'get_protein_homologs' which might also relate to evolutionary data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name and parameters alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_domains_detailedC

Enhanced domain analysis with InterPro, Pfam, and SMART annotations

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'enhanced domain analysis' but doesn't specify what 'enhanced' entails (e.g., more detailed data, additional sources, or computational intensity), nor does it cover aspects like rate limits, authentication needs, or response format. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Enhanced domain analysis') and key details (annotation sources). There is no wasted verbiage, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of domain analysis and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'enhanced' means, what the output includes, or how it differs from simpler tools, leaving the agent with insufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'accession' clearly documented as a 'UniProt accession number'. The description doesn't add any meaning beyond this, such as format examples or validation details, but the high schema coverage justifies the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Enhanced domain analysis' with specific annotation sources (InterPro, Pfam, SMART), which is a specific verb+resource combination. However, it doesn't explicitly distinguish this from sibling tools like 'get_protein_features' or 'get_protein_info', which might also provide domain-related information, so it doesn't reach the highest differentiation standard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or compare it to siblings like 'get_protein_features' or 'get_protein_info', leaving the agent to infer usage based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_featuresC

Get functional features and domains for a protein

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Get functional features and domains' but does not specify whether this is a read-only operation, if it requires authentication, what the output format is, or any rate limits. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for a tool that likely returns complex data (functional features and domains). It does not explain what 'features and domains' entail, the format of the response, or any limitations, leaving the agent with insufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'accession' clearly documented as a 'UniProt accession number'. The description does not add any additional meaning beyond this, such as examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and target ('functional features and domains for a protein'), making the purpose understandable. However, it does not explicitly differentiate this tool from sibling tools like 'get_protein_domains_detailed' or 'get_protein_info', which might offer overlapping or related functionality, preventing a score of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as sibling tools like 'get_protein_domains_detailed' or 'get_protein_info'. It lacks context on prerequisites, exclusions, or specific use cases, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_homologsC

Find homologous proteins across different species

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number
organismNoTarget organism to find homologs in
sizeNoNumber of results to return (1-100, default: 25)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Find homologous proteins') but doesn't describe what the tool returns (e.g., list of homologs with scores), performance characteristics, error conditions, or data sources. This is inadequate for a tool with 3 parameters and no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a straightforward lookup tool and is well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what constitutes a 'homolog' in this system, what data is returned, or how results are structured. The agent would be left guessing about the tool's behavior and output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining how 'organism' should be formatted or what 'homologous' means in this context. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Find') and resource ('homologous proteins'), and specifies the scope ('across different species'). It distinguishes from siblings like 'get_protein_orthologs' by focusing on general homology rather than orthology, but could be more explicit about this distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over 'get_protein_orthologs', 'compare_proteins', or other search tools, nor does it specify prerequisites or exclusions for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_infoC

Get detailed information for a specific protein by UniProt accession

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number (e.g., P04637)
formatNoOutput format (default: json)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions retrieving 'detailed information' but doesn't specify what that includes (e.g., sequence, structure, annotations), whether it's a read-only operation, potential rate limits, or authentication needs. This leaves significant gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every element ('Get detailed information', 'specific protein', 'UniProt accession') contributes directly to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of protein data retrieval, no annotations, no output schema, and many sibling tools, the description is insufficient. It doesn't explain what 'detailed information' encompasses, how it differs from specialized sibling tools, or what the return format looks like beyond the parameter options. This leaves too many open questions for effective tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing complete parameter documentation. The description adds no additional parameter semantics beyond what's in the schema (e.g., examples of what 'detailed information' includes, format implications). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't detract either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get detailed information') and target resource ('for a specific protein by UniProt accession'), making the purpose immediately understandable. However, it doesn't differentiate from siblings like 'get_protein_sequence' or 'get_protein_structure' that also retrieve protein information but focus on specific aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With many sibling tools (e.g., 'get_protein_sequence', 'get_protein_structure', 'search_proteins'), the description lacks context about when this general information retrieval is preferred over more specific queries or searches.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_interactionsD

Protein-protein interaction networks

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to describe any behavioral traits—such as whether this is a read-only query, if it requires authentication, rate limits, or what the output entails (e.g., network data, lists, visualizations). For a tool with no annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single phrase ('Protein-protein interaction networks') that is under-specified, not concise in a helpful way. It lacks structure and front-loading of key information, failing to earn its place with actionable details. This is brevity at the cost of clarity, not effective conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of protein interaction data and the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., network graphs, interaction lists), how results are formatted, or any limitations. For a tool with no structured output information, this leaves critical gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with one parameter ('accession') clearly documented as a 'UniProt accession number'. The description adds no additional meaning beyond the schema, such as format examples or constraints. According to the rules, with high schema coverage (>80%), the baseline is 3, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Protein-protein interaction networks' is vague and tautological—it essentially restates the tool name 'get_protein_interactions' without specifying the action (e.g., retrieve, analyze, or visualize). It lacks a clear verb and does not distinguish this tool from siblings like 'get_protein_homologs' or 'compare_proteins', which might also involve protein relationships. This falls short of a minimum viable description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. With many sibling tools related to protein data (e.g., 'get_protein_info', 'search_proteins', 'compare_proteins'), the description offers no context, prerequisites, or exclusions. This leaves the agent without direction, making it misleading in a crowded toolset.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_orthologsC

Identify orthologous proteins for evolutionary studies

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number
organismNoTarget organism to find orthologs in
sizeNoNumber of results to return (1-100, default: 25)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'identifies' orthologous proteins but doesn't explain how (e.g., algorithm, data sources), what the output looks like, or any limitations (e.g., rate limits, accuracy). This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Identify orthologous proteins for evolutionary studies.' It's front-loaded with the core purpose and contains no redundant information, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (identifying orthologs involves biological inference) and lack of annotations and output schema, the description is incomplete. It doesn't address behavioral traits, output format, or limitations, which are crucial for an agent to use it effectively in evolutionary studies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (accession, organism, size) with descriptions. The description adds no additional parameter semantics beyond what's in the schema, such as explaining relationships between parameters or usage examples. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Identify orthologous proteins for evolutionary studies.' It specifies the action (identify), resource (orthologous proteins), and context (evolutionary studies). However, it doesn't explicitly differentiate from sibling tools like 'get_protein_homologs' or 'get_phylogenetic_info,' which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare it to similar tools like 'get_protein_homologs' or 'compare_proteins,' leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_pathwaysC

Associated biological pathways (KEGG, Reactome)

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It implies a read-only operation by mentioning retrieval of pathways, but doesn't disclose rate limits, authentication needs, error handling, or output format (e.g., list vs. detailed data). This is inadequate for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient phrase with no wasted words. It's front-loaded with the core purpose, though it could be more structured (e.g., starting with a verb). Every word earns its place, but it's borderline under-specified rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a single parameter with full schema coverage, the description is incomplete. It doesn't explain what 'associated' means (e.g., direct vs. inferred pathways), the scope of results, or how KEGG/Reactome data is presented. For a biological data tool, this leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'accession' documented as a UniProt accession number. The description adds no additional meaning about the parameter (e.g., format examples, validation rules). Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Associated biological pathways (KEGG, Reactome)' states what the tool retrieves (pathways) and mentions specific databases, but it lacks a clear verb and doesn't distinguish from siblings like 'get_external_references' or 'search_by_function'. It's vague about whether this is a lookup or search operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid accession), exclusions, or how it differs from siblings such as 'get_external_references' or 'search_by_function' that might overlap with pathway-related queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_sequenceC

Get the amino acid sequence for a protein

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number
formatNoOutput format (default: fasta)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states what the tool does but reveals nothing about behavioral traits: no information about rate limits, authentication requirements, error conditions, response format details beyond format parameter, or whether this is a read-only operation. The description is minimal and lacks essential operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that states exactly what the tool does with zero wasted words. It's appropriately sized for a simple retrieval tool and is perfectly front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is insufficiently complete. For a tool with 2 parameters and no structured output documentation, the description should provide more context about what the response contains, error conditions, or usage constraints. It leaves too much undefined for proper agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain accession format requirements or when to choose different output formats. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('amino acid sequence for a protein'), making the purpose immediately understandable. It distinguishes this from siblings like 'get_protein_info' or 'get_protein_structure' by specifying the sequence aspect. However, it doesn't explicitly differentiate from 'batch_protein_lookup' which might also retrieve sequences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_protein_info' (which might include sequence), 'batch_protein_lookup', and 'search_proteins', there's no indication of when this specific sequence-fetching tool is preferred or what its limitations are.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_structureC

Retrieve 3D structure information from PDB references

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions retrieving information but lacks details on permissions, rate limits, error handling, or response format. For a tool with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It does not explain what '3D structure information' entails (e.g., coordinates, formats) or behavioral aspects like data sources or limitations, leaving gaps for effective tool use in a complex domain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'accession' documented as a 'UniProt accession number'. The description does not add any additional meaning beyond this, such as format examples or constraints, so it meets the baseline for high schema coverage without compensating further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Retrieve') and resource ('3D structure information from PDB references'), making the purpose understandable. However, it does not explicitly differentiate this tool from siblings like 'get_protein_info' or 'get_protein_features', which might also provide structural data, leaving some ambiguity about uniqueness.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available, such as 'get_protein_info' or 'search_proteins', there is no indication of specific contexts, prerequisites, or exclusions for choosing this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_protein_variantsC

Disease-associated variants and mutations

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It doesn't disclose behavioral traits such as whether this is a read-only operation, if it requires authentication, rate limits, or what the output format looks like. For a tool with no annotations, this is a significant gap in transparency about how it behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single phrase 'Disease-associated variants and mutations', which is concise and front-loaded with the core purpose. However, it's under-specified rather than efficiently informative, lacking necessary details for a tool with no annotations, which slightly reduces its effectiveness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (retrieving disease-associated variants), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error handling, or behavioral context, leaving gaps that could hinder an AI agent's ability to use it correctly in a broader context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'accession' clearly documented as a UniProt accession number. The description adds no additional meaning beyond the schema, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Disease-associated variants and mutations' states what the tool retrieves but is vague about the action. It mentions the resource (protein variants/mutations) but lacks a specific verb like 'retrieve', 'fetch', or 'list'. It doesn't distinguish from siblings like 'get_protein_features' or 'get_protein_info', which might also relate to variants.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare to siblings like 'search_by_function' or 'get_protein_homologs', which could also involve variant data. The description implies a specific focus on disease-associated variants but doesn't clarify context or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_taxonomy_infoC

Detailed taxonomic information for organisms

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool provides 'detailed taxonomic information' but doesn't describe what that includes (e.g., lineage, ranks, sources), whether it's a read-only operation, potential rate limits, or error handling. The description is too vague to inform the agent adequately about behavioral traits beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Detailed taxonomic information for organisms'. It's front-loaded with the core purpose and avoids unnecessary words. However, it could be more structured by including key details like the resource type or usage context, but it earns its place by being clear and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a tool with one parameter but no annotations or output schema, the description is incomplete. It doesn't explain what 'detailed taxonomic information' entails, how it's returned, or any behavioral aspects. For a tool that likely returns structured data, the description should provide more context to compensate for the lack of output schema and annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'accession' clearly documented as a 'UniProt accession number'. The description doesn't add any meaning beyond this, as it doesn't explain parameter usage or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the schema handles the parameter documentation effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Detailed taxonomic information for organisms' states what the tool does but is vague about the specific resource and scope. It mentions 'taxonomic information' but doesn't specify that it retrieves this for proteins via UniProt accession numbers, unlike siblings like 'get_phylogenetic_info' or 'search_by_taxonomy' which might overlap in purpose. It distinguishes minimally by focusing on 'detailed' information but lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites like needing a UniProt accession, nor does it compare to siblings such as 'get_phylogenetic_info' or 'search_by_taxonomy', which might offer similar or related data. Usage is implied only by the parameter, but no explicit context or exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_by_functionC

Search proteins by GO terms or functional annotations

ParametersJSON Schema
NameRequiredDescriptionDefault
goTermNoGene Ontology term (e.g., GO:0005524)
functionNoFunctional description or keyword
organismNoOrganism name or taxonomy ID to filter results
sizeNoNumber of results to return (1-500, default: 25)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool searches proteins but doesn't describe how results are returned (e.g., format, pagination), potential limitations (e.g., rate limits, data freshness), or error conditions. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and uses clear terminology. Every word contributes directly to understanding the tool's function without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., protein IDs, annotations), how results are structured, or any behavioral traits like performance or constraints. The high schema coverage helps with parameters, but overall context is lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds no additional parameter semantics beyond implying that 'GO terms or functional annotations' map to the 'goTerm' and 'function' parameters. It doesn't clarify parameter interactions or provide examples, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search proteins by GO terms or functional annotations.' It specifies the verb ('Search'), resource ('proteins'), and search criteria ('GO terms or functional annotations'). However, it doesn't explicitly differentiate from sibling tools like 'search_by_gene' or 'search_proteins,' which likely have overlapping purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_by_gene' or 'search_proteins,' nor does it specify prerequisites, exclusions, or contextual cues for selection. Usage is implied but not articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_by_geneC

Search for proteins by gene name or symbol

ParametersJSON Schema
NameRequiredDescriptionDefault
geneYesGene name or symbol (e.g., BRCA1, INS)
organismNoOrganism name or taxonomy ID to filter results
sizeNoNumber of results to return (1-500, default: 25)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Search' implies a read-only operation, the description doesn't address important behavioral aspects like whether this is a fuzzy or exact match search, what format results are returned in, whether there are rate limits, authentication requirements, or what happens when no matches are found. For a search tool with zero annotation coverage, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that immediately conveys the core functionality without unnecessary words. It's appropriately sized for a search tool and front-loads the essential information, making it easy for an agent to quickly understand what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for a search tool with 3 parameters. It doesn't explain what kind of results are returned (protein IDs, names, sequences?), how results are formatted, whether there's pagination, or what happens with partial/no matches. For a tool that likely returns complex protein data, more context about the output would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'gene name or symbol' which aligns with the 'gene' parameter in the schema, but doesn't add meaningful semantic context beyond what the 100% schema coverage already provides. The schema descriptions fully document each parameter's purpose, constraints, and examples, so the description adds minimal additional value regarding parameter meaning or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search for proteins') and the target resource ('by gene name or symbol'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'search_by_function' or 'search_proteins', which would require more specific language about when to use gene-based searching versus other search methods.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With multiple search-related sibling tools (search_by_function, search_by_localization, search_by_taxonomy, search_proteins), there's no indication of when gene-based searching is appropriate versus other search methods or what distinguishes this from the generic 'search_proteins' tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_by_localizationB

Find proteins by subcellular localization

ParametersJSON Schema
NameRequiredDescriptionDefault
localizationYesSubcellular localization (e.g., nucleus, mitochondria)
organismNoOrganism name or taxonomy ID to filter results
sizeNoNumber of results to return (1-500, default: 25)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the basic function. It doesn't disclose behavioral traits such as whether this is a read-only operation, performance characteristics, rate limits, or what the output format looks like (no output schema exists).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a simple search tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 3 parameters and 100% schema coverage but no output schema, the description is minimally adequate. It states what the tool does but lacks context about output format, result limitations, or how it differs from sibling tools, leaving gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any meaning beyond what the schema provides, such as examples of localization values beyond 'nucleus, mitochondria' or organism naming conventions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Find') and resource ('proteins') with a specific criterion ('by subcellular localization'). It distinguishes from siblings like 'search_by_function' or 'search_by_taxonomy' by focusing on localization, but doesn't explicitly contrast with 'search_proteins' which might be more general.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'search_proteins' or 'search_by_function'. The description implies usage for localization-based queries but doesn't specify exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_by_taxonomyC

Search by detailed taxonomic classification

ParametersJSON Schema
NameRequiredDescriptionDefault
taxonomyIdNoNCBI taxonomy ID
taxonomyNameNoTaxonomic name (e.g., Mammalia, Bacteria)
sizeNoNumber of results to return (1-500, default: 25)

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. The description only mentions 'search' without specifying what is returned (e.g., protein records, sequences), whether results are paginated, if authentication is required, or any rate limits. For a search tool with zero annotation coverage, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient phrase with no wasted words. It's appropriately sized for the tool's complexity and front-loads the core purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., protein data, sequences), how results are structured, or any behavioral traits. For a search tool with 3 parameters and no structured output information, the description should provide more context about the search scope and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear parameter descriptions in the schema (e.g., 'NCBI taxonomy ID', 'Taxonomic name', 'Number of results to return'). The description adds no additional parameter semantics beyond what the schema already provides, so it meets the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search by detailed taxonomic classification' states the action (search) and resource domain (taxonomic classification), but is vague about what exactly is being searched (proteins, sequences, etc.) and doesn't distinguish from sibling tools like 'search_by_function', 'search_by_gene', or 'get_taxonomy_info'. It provides basic purpose but lacks specificity about the search target.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'search_by_function', 'search_by_gene', 'get_taxonomy_info', or 'search_proteins'. The description doesn't mention prerequisites, exclusions, or comparative use cases, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_proteinsC

Search UniProt database for proteins by name, keyword, or organism

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (protein name, keyword, or complex search)
organismNoOrganism name or taxonomy ID to filter results
sizeNoNumber of results to return (1-500, default: 25)
formatNoOutput format (default: json)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions searching a database but lacks details on rate limits, authentication needs, pagination, error handling, or what the search returns (e.g., list of proteins with basic info). This is a significant gap for a search tool with no structured behavioral hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the search returns (e.g., protein IDs, names, sequences), potential limitations, or how results are structured. For a search tool with 4 parameters and many siblings, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds minimal value beyond the schema by hinting at search criteria ('by name, keyword, or organism'), but doesn't explain parameter interactions or provide examples. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('search') and target resource ('UniProt database for proteins'), specifying search criteria ('by name, keyword, or organism'). It distinguishes from siblings like 'search_by_function' or 'search_by_gene' by mentioning general search terms, though not explicitly contrasting them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like 'advanced_search' or 'search_by_function' is provided. The description implies usage for basic protein searches but lacks context on prerequisites, exclusions, or comparisons to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_accessionC

Check if accession numbers are valid

ParametersJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProt accession number to validate

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks validity but does not explain what 'valid' means (e.g., format, existence in a database), potential error conditions, rate limits, or authentication needs. For a validation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It is front-loaded and appropriately sized for a simple tool, making it easy for an agent to parse quickly without unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It lacks details on what constitutes validity, potential return values (e.g., boolean, error messages), or behavioral context. While concise, it does not provide enough information for an agent to fully understand the tool's operation and outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'accession' documented as 'UniProt accession number to validate'. The description adds no additional meaning beyond this, such as format examples or validation criteria. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Check if accession numbers are valid' clearly states the tool's purpose with a specific verb ('Check') and resource ('accession numbers'), but it does not distinguish this from sibling tools. While siblings like 'batch_protein_lookup' or 'get_protein_info' might involve accession numbers, this tool's specific validation focus is implied but not explicitly contrasted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context (e.g., before other operations), or exclusions, and it fails to reference sibling tools like 'batch_protein_lookup' that might overlap in functionality. This leaves the agent without clear usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 26 tool updates
    • First observedadvanced_search
    • First observedanalyze_sequence_composition
    • First observedbatch_protein_lookup
    • First observedcompare_proteins
    • First observedexport_protein_data
    • First observedget_annotation_confidence
    • First observedget_external_references
    • First observedget_literature_references
    • First observedget_phylogenetic_info
    • First observedget_protein_domains_detailed
    • First observedget_protein_features
    • First observedget_protein_homologs
    • First observedget_protein_info
    • First observedget_protein_interactions
    • First observedget_protein_orthologs
    • First observedget_protein_pathways
    • First observedget_protein_sequence
    • First observedget_protein_structure
    • First observedget_protein_variants
    • First observedget_taxonomy_info
    • First observedsearch_by_function
    • First observedsearch_by_gene
    • First observedsearch_by_localization
    • First observedsearch_by_taxonomy
    • First observedsearch_proteins
    • First observedvalidate_accession

TDQS

C2.9/5.0

Scored across 26 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific UniProt data aspects, but some overlap exists. For example, 'get_protein_info' and 'get_protein_sequence' could be confused as both retrieve protein data, though their descriptions clarify the distinction. Overall, the set is well-organized with clear boundaries for most tools.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, such as 'get_protein_info', 'search_by_function', and 'analyze_sequence_composition'. This predictability makes it easy for agents to understand and select tools without confusion, enhancing usability.

Tool Count3/5

With 26 tools, the count is borderline high for a single server, potentially overwhelming for agents. While UniProt is a complex domain, this many tools might indicate over-specialization or fragmentation, making it harder to navigate efficiently.

Completeness5/5

The tool set provides comprehensive coverage for UniProt data access, including search, retrieval, analysis, and export functions. It covers all major aspects like sequences, structures, interactions, and annotations, with no obvious gaps for typical agent workflows in this domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers