Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    The three tools have distinct primary purposes: downloading structure files, searching for structures, and retrieving comprehensive protein data. However, there is some overlap between find_protein_structures_tool and get_protein_data_tool, as both can retrieve basic information for a given PDB ID, which could cause minor confusion. The descriptions help clarify their different focuses—discovery vs. detailed data retrieval.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with underscores: download_structure_tool, find_protein_structures_tool, and get_protein_data_tool. This uniformity makes the set predictable and easy to understand, with no deviations in naming conventions.

    Tool Count3/5

    With only three tools, the server feels somewhat thin for a protein data domain, as it lacks operations like updating, deleting, or analyzing structures beyond basic retrieval. While the tools cover core functions, the count is borderline low for comprehensive protein research workflows, potentially limiting agent capabilities.

    Completeness3/5

    The tools provide good coverage for downloading, searching, and retrieving protein data, but there are notable gaps. Missing operations include updating or annotating structures, performing advanced analyses (e.g., structural alignment or visualization), and managing user data or sessions. This incompleteness may require agents to work around limitations for more complex tasks.

  • Average 3.5/5 across 3 of 3 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 is passing
  • This repository is licensed under MIT License.

  • 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. It mentions the tool returns a '完整蛋白质数据包' (complete protein data package) but doesn't disclose behavioral traits like rate limits, authentication requirements, error conditions, or whether it's a read-only operation. The description adds minimal context beyond basic functionality.

    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 moderately structured with sections (Args, Returns, Examples) but includes some redundancy (e.g., repeating tool name in examples). The Chinese text is clear but could be more front-loaded; the core purpose is stated early but followed by less essential details. Some sentences like '这个工具是蛋白质数据获取的核心' add minimal value.

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

    Completeness4/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 (3 parameters, no annotations, but has output schema), the description is reasonably complete. It explains parameters well, provides examples, and states the return value. The output schema existence means it doesn't need to detail return structure. However, it lacks behavioral context and sibling tool differentiation.

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

    Parameters4/5

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

    With 0% schema description coverage, the description compensates well by explaining all 3 parameters: pdb_id (with example), data_types (with detailed options and meanings), and chain_id (optional, with example). It provides clear semantic meaning beyond the bare schema, though it doesn't cover the ctx parameter mentioned in the description but not in the schema.

    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: '获取完整蛋白质信息包' (get complete protein information package) and '一次性获取你需要的所有信息' (get all needed information at once). It specifies the resource (protein data) and action (retrieve), though it doesn't explicitly differentiate from sibling tools like download_structure_tool or find_protein_structures_tool.

    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 the sibling tools (download_structure_tool, find_protein_structures_tool). It mentions this is the '核心' (core) tool for protein data, but doesn't specify scenarios where alternatives might be more appropriate or any prerequisites for usage.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses behavioral traits such as returning file content or download information with format explanations, and mentions progress feedback via ctx. However, it lacks details on error handling, rate limits, authentication needs, or what happens when save_local is true (e.g., file location, overwriting behavior). The description adds some context but is incomplete for a tool with mutation potential (saving files).

    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 moderately structured with sections (Args, Returns, Examples), but includes redundant elements like '结构文件工具 - 下载和管理蛋白质结构文件' which repeats the title concept. The examples are helpful but verbose, and some sentences could be more front-loaded (e.g., the purpose statement is clear but not maximally efficient). It earns its place with parameter details but has room for trimming.

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

    Completeness4/5

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

    Given the complexity (3 parameters, 0% schema coverage, no annotations, but has output schema), the description is fairly complete. It covers parameter meanings, return behavior, and usage examples. With an output schema present, it doesn't need to detail return values extensively. However, for a tool that can save files locally, it could better address potential side effects or error cases to be fully comprehensive.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It provides meaningful semantics for all parameters: pdb_id is explained with an example ('PDB ID (例如: "5G53")'), file_format includes detailed options with recommendations ('推荐,人类可读' for pdb, '现代标准' for mmcif, '二进制,速度快' for mmtf), and save_local clarifies behavior ('是否保存到本地文件 (默认False返回内容)'). This adds significant value beyond the bare schema, though it could specify default values more explicitly.

    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 '处理所有文件相关的操作,从下载到格式说明' (handles all file-related operations from download to format explanation), which is specific about downloading and managing protein structure files. It distinguishes from siblings by focusing on file operations rather than searching (find_protein_structures_tool) or general data retrieval (get_protein_data_tool). However, it could be more precise about being primarily a download tool with format management.

    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 through examples (e.g., '获取PDB文件内容' for getting content, '下载mmCIF格式并保存到本地' for saving locally), but lacks explicit guidance on when to use this tool versus alternatives like find_protein_structures_tool or get_protein_data_tool. It provides context for different scenarios (e.g., save_local parameter) but doesn't state when not to use it or compare with siblings.

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

  • Behavior3/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 describes the tool's multi-functional nature (search, example, validation) and mentions default/max values for max_results, but doesn't cover important behavioral aspects like rate limits, authentication needs, error conditions, or what happens when multiple parameters are provided simultaneously.

    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 well-structured with clear sections (description, Args, Returns, Examples) and front-loads the main purpose. While comprehensive, some redundancy exists between the opening description and the examples section. Most sentences earn their place by adding value.

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

    Completeness4/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, multi-functional) and the presence of an output schema, the description provides good coverage. It explains all parameters, shows usage examples, and describes the return value format. The main gap is lack of behavioral details that would be important for a discovery/validation tool.

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

    Parameters4/5

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

    With 0% schema description coverage, the description compensates well by explaining all 4 parameters in the Args section with clear examples. It provides semantic meaning for keywords, category (with specific enum values), pdb_id, and max_results (including default and max values). The ctx parameter is mentioned but not fully explained.

    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 a 'unified entry point for protein structure discovery' that helps 'discover and validate PDB structures.' It specifies the verb ('search, example, validate') and resource ('PDB structures'), though it doesn't explicitly differentiate from sibling tools like download_structure_tool or get_protein_data_tool.

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

    Usage Guidelines4/5

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

    The description provides clear context on when to use the tool ('starting point for protein research') and includes examples showing different usage scenarios (searching by keywords, getting examples by category, validating PDB IDs). However, it doesn't explicitly state when NOT to use it or mention alternatives among sibling tools.

    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

protein-mcp MCP server

Copy to your README.md:

Score Badge

protein-mcp 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/gqy20/protein-mcp'

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