Skip to main content
Glama
Augmented-Nature

ProteinAtlas MCP Server

Server Quality Checklist

50%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. For example, 'get_protein_info' retrieves general details, while 'get_subcellular_location' focuses on localization, and 'search_by_tissue' finds proteins based on tissue expression. The descriptions clearly differentiate between retrieval, search, and comparison operations.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout, such as 'get_protein_info', 'search_proteins', and 'compare_expression_profiles'. All tools use snake_case with clear, descriptive verbs like 'get', 'search', and 'compare', making the naming predictable and easy to understand.

    Tool Count5/5

    With 16 tools, the count is well-scoped for a comprehensive protein atlas server. Each tool earns its place by covering distinct aspects like expression data, pathology, searches, and comparisons, without feeling excessive or thin for the domain's complexity.

    Completeness5/5

    The tool surface provides complete coverage for the protein atlas domain, including retrieval (e.g., 'get_protein_info'), search (e.g., 'search_proteins'), comparison (e.g., 'compare_expression_profiles'), and specialized data access (e.g., 'get_pathology_data'). There are no obvious gaps, supporting full agent workflows from basic lookups to advanced analyses.

  • Average 2.9/5 across 16 of 16 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • 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 but offers minimal behavioral insight. It mentions 'advanced search' but doesn't disclose critical traits like whether it's read-only, potential rate limits, authentication needs, or what happens with large result sets. The description lacks details on output behavior, error handling, or performance characteristics, which are essential for a tool with 10 parameters.

    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 front-loads the core function ('Perform advanced search'). There's no wasted text, but it could be more structured by hinting at the domain or key filters. It's appropriately sized for a tool name like 'advanced_search,' though slightly more detail might improve clarity without sacrificing 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 (10 parameters, no annotations, no output schema), the description is inadequate. It doesn't explain what is being searched (e.g., proteins or biological data), the return format implications, or how filters interact. For a tool with many parameters and sibling alternatives, more context is needed to guide effective use, making it incomplete 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?

    Schema description coverage is 100%, so the schema fully documents all 10 parameters with descriptions and constraints. The description adds no additional meaning beyond implying 'multiple filters,' which is redundant with the schema. With high coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract from the well-documented schema.

    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 states the tool performs 'advanced search with multiple filters and criteria,' which indicates a search function but is vague about what domain or resource is being searched. It mentions 'multiple filters' but doesn't specify the target (e.g., proteins, genes, or data). This distinguishes it from simpler search siblings like 'search_by_tissue' but lacks specificity compared to others like 'search_cancer_markers.'

    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 like 'search_by_tissue' and 'search_cancer_markers,' it's unclear if this is a comprehensive search or when to prefer it over more specific tools. No exclusions, prerequisites, or context for usage are mentioned, leaving the agent to guess based on parameter names alone.

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

  • 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 batch capability but fails to describe key traits like rate limits, authentication needs, error handling, or what the output looks like (e.g., structure, pagination). This leaves significant gaps for a tool with multiple 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 with zero waste—it directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, 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 complexity (3 parameters, no annotations, no output schema, and multiple sibling tools), the description is incomplete. It doesn't address behavioral aspects, usage context, or output expectations, leaving the agent with insufficient information to effectively invoke the tool beyond basic parameter input.

    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 thoroughly (e.g., 'genes' as an array with limits, 'format' with enum, 'columns' as optional). The description adds no meaning beyond this, such as explaining gene symbol conventions or column options, resulting in a baseline score.

    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 ('look up') and resource ('multiple proteins simultaneously'), which is specific and unambiguous. However, it doesn't distinguish this batch operation from sibling tools like 'get_protein_info' or 'get_protein_by_ensembl' that might handle individual protein lookups, missing 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?

    No guidance is provided on when to use this tool versus alternatives. With siblings like 'get_protein_info' and 'get_protein_by_ensembl', the description lacks context on whether this is for bulk efficiency, specific data types, or other use cases, offering no explicit or implied usage rules.

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

  • 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 action 'compare' but doesn't explain what the comparison entails (e.g., statistical analysis, visualization, or raw data), potential limitations (e.g., data availability), or output characteristics (e.g., format details beyond schema). This leaves significant gaps for an AI agent to understand the tool's 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 for an AI agent 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 complexity of comparing expression profiles (a non-trivial operation) and the lack of annotations and output schema, the description is insufficient. It doesn't cover what the comparison outputs (e.g., metrics, visualizations), how results are structured, or any behavioral nuances, leaving the AI agent with incomplete context for proper tool invocation.

    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 schema description coverage is 100%, with clear descriptions for all parameters (e.g., 'Array of gene symbols to compare (2-10)'). The description adds no additional meaning beyond the schema, such as explaining the significance of 'expressionType' choices or 'format' implications. 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.

    Purpose4/5

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

    The description clearly states the verb 'compare' and the resource 'expression profiles between multiple proteins', which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'get_tissue_expression' or 'get_blood_expression', which appear to fetch expression data for single proteins rather than comparing multiple ones.

    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 doesn't mention prerequisites, context, or exclusions, such as when to choose this over individual expression tools or how it relates to siblings like 'advanced_search' or 'search_by_tissue'.

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

  • 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 what the tool does but fails to describe key traits such as whether it's a read-only operation, if it requires authentication, rate limits, error handling, or the structure of returned data. 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 directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly, with no wasted information.

    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 address behavioral aspects like safety, permissions, or data format details, nor does it explain return values or potential errors. For a tool with no structured support, more context is needed 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 clear documentation for both parameters ('gene' and 'format'), including an enum for 'format'. The description does not add any meaning beyond what the schema provides, such as explaining gene symbol conventions or format implications, 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 verb 'Get' and the resource 'blood cell expression data for a protein', making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'get_brain_expression' or 'get_tissue_expression', which target different biological contexts, so it lacks sibling distinction for 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 does not mention when to choose it over sibling tools such as 'get_brain_expression' or 'get_tissue_expression', nor does it specify prerequisites or exclusions, leaving usage context implied at best.

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

  • 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 what the tool does but doesn't cover important traits like whether it's a read-only operation, potential rate limits, error handling for invalid genes, or the structure of the returned data. This leaves gaps for an AI agent to understand operational constraints.

    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's front-loaded and wastes no space, making it easy for an AI agent 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 doesn't explain what the returned expression data includes (e.g., numerical values, brain region names, statistical metrics) or how to interpret results. For a tool with 2 parameters and no structured output guidance, more context is needed to ensure proper usage.

    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 documentation for both parameters ('gene' as a gene symbol and 'format' as an output format with enum values). The description doesn't add extra meaning beyond the schema, such as examples of valid gene symbols or implications of choosing 'tsv' over 'json', but the schema provides adequate baseline information.

    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 ('brain region expression data for a protein'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_tissue_expression' or 'get_blood_expression', which might offer similar expression data for different biological contexts.

    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 'get_tissue_expression' or 'compare_expression_profiles'. The description lacks context about prerequisites, such as needing a valid gene symbol, or when this tool is preferred over others for brain-specific queries.

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

  • 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's function but lacks details on permissions, rate limits, error handling, or what 'protein information' entails (e.g., structure, function, sequences). 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, making it easy to scan and understand quickly 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 complexity of protein data retrieval, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'protein information' includes or the tool's behavior, leaving critical gaps for an agent to use it effectively in a biological 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?

    Schema description coverage is 100%, so the schema already documents both parameters thoroughly (e.g., 'ensemblId' with an example, 'format' with enum and default). The description adds no additional meaning beyond what the schema provides, meeting the baseline for high 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 protein information') and the resource identifier ('using Ensembl gene ID'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_protein_info' or 'get_protein_classes', which might also retrieve protein-related data, so it doesn't reach the highest 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. With many sibling tools available (e.g., 'get_protein_info', 'search_proteins'), there's no indication of context, prerequisites, or exclusions, leaving the agent to guess 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.

  • 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 what data is retrieved but doesn't mention critical aspects like whether this is a read-only operation, potential rate limits, authentication requirements, or what the output looks like (beyond format options). For a data retrieval 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 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 'classification and functional annotation data' includes, how results are structured, or any limitations (e.g., supported genes). For a tool in a complex domain with 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 already documents both parameters ('gene' and 'format') adequately. The description doesn't add any meaningful context beyond what's in the schema, such as explaining what 'protein classification' entails or how the 'gene' parameter maps to results. 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 verb 'Get' and the resource 'protein classification and functional annotation data', making the purpose understandable. However, it doesn't differentiate this tool from similar siblings like 'get_protein_info' or 'get_protein_by_ensembl', which likely retrieve overlapping information about proteins.

    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 focused on protein data (e.g., 'get_protein_info', 'get_tissue_expression'), users are left to guess which tool is appropriate for classification versus other protein attributes.

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

  • 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 what the tool does but lacks details on permissions, rate limits, data sources, or response structure. For a tool with no annotation coverage, this minimal description is insufficient to inform safe and effective use.

    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, direct sentence with no unnecessary words, making it highly concise and front-loaded. It efficiently communicates the core purpose without any fluff or redundancy, earning a top 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the returned data includes (e.g., localization details, confidence scores) or any behavioral aspects like error handling. For a tool with 2 parameters and no structured output, more context is needed to ensure proper usage.

    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 adds no parameter-specific information beyond what the input schema provides. Since schema description coverage is 100%, the baseline score is 3. The schema already documents the 'gene' parameter as a gene symbol and 'format' as an enum for output format, so the description doesn't enhance parameter understanding.

    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 ('Get') and resource ('subcellular localization data for a protein'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_by_subcellular_location' or 'get_protein_info', which might offer overlapping functionality, so it falls short of 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. For example, it doesn't specify if this is for single-protein lookups compared to batch operations or how it differs from 'search_by_subcellular_location'. Without such context, users must 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.

  • 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 but only states the action without details on permissions, rate limits, data sources, or response behavior. It fails to address critical aspects like whether this is a read-only operation, potential data freshness, or error handling, leaving significant gaps.

    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, direct sentence with no wasted words, effectively front-loading the core purpose. It is appropriately sized for the tool's complexity, 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 insufficient for a tool that likely returns complex expression data. It does not explain return values, data structure, or potential limitations, leaving the agent under-informed about what to expect from the tool's behavior and outputs.

    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, documenting both parameters ('gene' and 'format') clearly. The description adds no additional meaning beyond the schema, such as examples or constraints, but the schema adequately covers the semantics, meeting the baseline for high 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 verb ('Get') and resource ('tissue-specific expression data for a protein'), making the purpose specific and understandable. However, it does not explicitly differentiate from siblings like 'get_blood_expression' or 'get_brain_expression', which might handle specialized subsets, leaving room for ambiguity in tool selection.

    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 'search_by_tissue' or 'compare_expression_profiles'. The description lacks context about prerequisites, exclusions, or specific use cases, offering minimal assistance in tool selection among siblings.

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

  • 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 finds proteins but doesn't reveal key traits: whether it's a read-only operation, if it requires authentication, rate limits, pagination behavior, or what the output looks like (e.g., list format, error handling). For a search 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 that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly. Every word earns its place, contributing to 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 tool's complexity (a search function with 4 parameters) and the absence of both annotations and an output schema, the description is incomplete. It doesn't cover behavioral aspects like safety or performance, and without an output schema, it fails to explain return values (e.g., protein lists, error formats). This leaves critical gaps for an agent to invoke the tool 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 schema description coverage is 100%, meaning all parameters are well-documented in the input schema itself. The description adds no additional meaning beyond the schema, such as explaining how 'location' values map to biological terms or the implications of 'reliability' levels. Since the schema handles 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.

    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: 'Find proteins localized to specific subcellular compartments.' It specifies the verb ('Find') and resource ('proteins'), and the scope ('localized to specific subcellular compartments') is well-defined. However, it doesn't explicitly differentiate from sibling tools like 'get_subcellular_location' or 'search_by_tissue,' which might offer similar functionality, preventing 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 lacks context about prerequisites, such as needing a specific location input, and doesn't mention sibling tools like 'get_subcellular_location' or 'search_by_tissue' that might be relevant for related queries. This omission 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.

  • 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 'highly expressed' but doesn't clarify what that means quantitatively, whether results are paginated, if there are rate limits, or what the output looks like beyond format options. For a search 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 front-loads the core purpose without unnecessary words. It earns its place by clearly stating what the tool does, making it easy for an agent 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 complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address key aspects like result format details beyond 'json' or 'tsv,' how 'highly expressed' maps to parameters, or usage context relative to siblings, leaving the agent under-informed.

    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 adds minimal meaning beyond the input schema, which has 100% coverage. It implies filtering by 'highly expressed' but doesn't explain how this relates to the 'expressionLevel' parameter or other inputs. With high schema coverage, the baseline is 3, as the schema already documents parameters well, and the description doesn't compensate with additional insights.

    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: 'Find proteins highly expressed in specific tissues.' It specifies the verb ('Find'), resource ('proteins'), and key constraint ('highly expressed in specific tissues'). However, it doesn't explicitly differentiate from sibling tools like 'get_tissue_expression' or 'search_proteins,' which might offer similar functionality.

    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 related to tissue expression (e.g., 'get_tissue_expression,' 'get_brain_expression,' 'search_proteins'), the lack of context leaves the agent guessing about the best choice for a given scenario.

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

  • 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 mentions the tool 'finds' proteins, implying a read operation, but lacks details on permissions, rate limits, data sources, or response format. This is inadequate for a search tool with multiple 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 front-loads the core functionality without any wasted words. It's appropriately sized for the tool's complexity, 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 tool's moderate complexity (4 parameters, no annotations, no output schema), the description is incomplete. It lacks behavioral context, usage guidelines, and details on return values, which are crucial for effective tool invocation in this 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?

    Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional meaning beyond implying that 'cancer' and 'prognostic' are key filters, but it doesn't explain parameter interactions or usage nuances, meeting 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 a specific verb ('Find') and resource ('proteins'), specifying the context of cancer association and prognostic value. It distinguishes itself from siblings like 'search_proteins' by focusing on cancer markers, though it doesn't explicitly contrast with all siblings such as 'search_by_tissue' or 'search_by_subcellular_location'.

    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_proteins' or 'search_by_tissue', nor does it specify prerequisites, exclusions, or contextual cues for selection, leaving usage decisions ambiguous.

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

  • 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 the search functionality but lacks behavioral details: no mention of rate limits, authentication needs, pagination, error handling, or what the response contains (e.g., result structure). For a search tool with 5 parameters and no output schema, 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.

    Conciseness5/5

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

    The description is a single, efficient sentence with zero waste. It front-loads the core purpose ('Search Human Protein Atlas for proteins') and specifies searchable fields concisely. Every word earns its place, 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 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., list of proteins with details), how results are ordered, or behavioral constraints. For a search tool in a rich sibling set, 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 parameters are well-documented in the schema. The description adds minimal value beyond the schema, only implying the 'query' parameter's purpose without detailing semantics for others like 'columns' or 'compress'. 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 ('Human Protein Atlas for proteins'), specifying searchable fields (name, gene symbol, description). It distinguishes from siblings like 'get_protein_by_ensembl' or 'search_by_tissue' by indicating broader keyword-based search, 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. Siblings include specialized tools like 'search_by_tissue' or 'get_protein_info', but the description doesn't mention these or provide context for choosing between them. Usage is implied by the search scope but not articulated.

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

  • 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 retrieves information but doesn't mention any behavioral traits such as rate limits, authentication requirements, data freshness, or what happens if the gene isn't found. This leaves significant gaps for an AI agent to understand how to use it effectively.

    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 any unnecessary words. It's front-loaded and wastes no space, making it easy for an AI agent to parse quickly.

    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?

    Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on usage context, behavioral traits, and output expectations. Without annotations or an output schema, more guidance would be helpful for complete 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?

    The input schema has 100% description coverage, clearly documenting both parameters ('gene' as a gene symbol and 'format' as an output format with enum values). The description doesn't add any meaningful semantic context beyond what the schema provides, such as 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 a specific verb ('Get') and resource ('antibody validation and staining information for a protein'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_protein_info' or 'get_pathology_data', which might also provide related protein information.

    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 for protein-related queries (e.g., 'get_protein_info', 'get_pathology_data'), there's no indication of what makes this tool unique or when it should be preferred over others.

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

  • 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 but does not cover aspects like authentication needs, rate limits, data freshness, or error handling. This leaves significant gaps in understanding how the tool behaves in practice.

    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, direct sentence that efficiently conveys the core purpose without unnecessary words. It is front-loaded and wastes no space, making it highly concise and well-structured for quick understanding.

    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?

    Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It states what data is retrieved but lacks details on output structure, data scope, or integration with sibling tools. Without annotations or output schema, more context would improve completeness for effective agent 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, clearly documenting the 'gene' and 'format' parameters. The description adds no additional meaning beyond the schema, such as explaining what 'cancer and pathology data' entails or providing examples. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

    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 ('cancer and pathology data for a protein'), making the purpose understandable. However, it does not distinguish this tool from siblings like 'search_cancer_markers' or 'get_protein_info', which might overlap in scope, so it 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 such as 'search_cancer_markers' or 'get_protein_info'. It implies usage for retrieving pathology data but offers no 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.

  • Behavior2/5

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

    With no annotations, the description carries full burden but only states the basic action. It does not disclose behavioral traits such as rate limits, authentication needs, error handling, or what 'detailed information' includes (e.g., structure, function, interactions). This leaves significant gaps for a tool with potential complexity.

    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 with the core purpose and appropriately sized for a simple lookup 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?

    Given no annotations, no output schema, and 2 parameters with full schema coverage, the description is minimally adequate. It covers the basic purpose but lacks details on return values, error cases, or behavioral context, leaving room for improvement in completeness.

    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 (gene symbol and format). The description adds no additional meaning beyond implying the gene parameter is required, which is already in the schema. 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 verb 'Get' and the resource 'detailed information for a specific protein', specifying the lookup method 'by gene symbol'. It distinguishes from siblings like 'get_protein_by_ensembl' (different identifier) and 'batch_protein_lookup' (batch vs single), but does not explicitly mention these distinctions.

    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 when detailed protein information is needed for a single gene symbol, but provides no explicit guidance on when to choose this over alternatives like 'advanced_search' or 'batch_protein_lookup'. It lacks exclusions or prerequisites.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

ProteinAtlas-MCP-Server MCP server

Copy to your README.md:

Score Badge

ProteinAtlas-MCP-Server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Augmented-Nature/ProteinAtlas-MCP-Server'

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