Skip to main content
Glama

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.2.20

  • Disambiguation5/5

    Each tool targets a distinct resource: operator info (archives, basic, voicelines) and story browsing (events, chapters, full activity, single chapter) plus search and page reading. No overlaps.

    Naming Consistency4/5

    Most tools follow verb_noun pattern (get_*, list_*, read_*, search_*). Minor inconsistency: 'list_stories' lists chapters for an event, not stories, and differs from 'list_story_events' and 'read_story'.

    Tool Count5/5

    9 tools is well-scoped for a specific game wiki assistant. Each tool serves a clear purpose without being too many or too few.

    Completeness4/5

    Covers operator profiles and story content comprehensively. Missing explicit operator skills/stats tools, but archives may include them. Domain coverage is good for stated purpose.

  • Average 3.8/5 across 9 of 9 tools scored. Lowest: 2.4/5.

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

    • No community issues in the last 6 months
    • 246 commits in the last 12 weeks
    • Last stable release on
    • 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.

  • This repository includes a glama.json configuration file.

  • 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.

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?

    With no annotations, the description must disclose behavior. It only states output is 'plain text' but omits details like error handling, idempotency, required permissions, or page existence behavior.

    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 concise sentence with no wasted words. However, some necessary details are omitted, so it's not perfectly balanced.

    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 has one parameter and an output schema, the description is minimally adequate but could be more complete by mentioning what happens on invalid input or additional behavioral aspects.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must explain the single parameter 'page_title'. It only vaguely refers to 'specified entry', missing details like exact title format, case sensitivity, or special characters.

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

    Purpose5/5

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

    The description clearly states the action 'reads' and the resource 'plain text content of a specified entry on the PRTS wiki'. It distinguishes from sibling tools which are operator-specific or story-specific.

    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 on when to use this tool versus alternatives like search_prts or the operator-specific tools. The description gives no context for appropriate use cases.

    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. It only states 'search and return' without mentioning side effects, permissions, rate limits, or read-only behavior. Minimal transparency beyond the basic action.

    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?

    Two concise sentences, front-loaded with the action. No unnecessary words, every sentence provides value.

    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?

    Adequate for a simple search tool, stating what it does and returns. However, lacks usage guidelines and parameter explanation, which are needed given the zero schema coverage and absence of annotations. The output schema exists but is not referenced.

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

    Parameters2/5

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

    Schema description coverage is 0%, but the description does not explain the parameters. 'query' is somewhat obvious, but 'limit' is not mentioned, leaving its purpose unclear. The description fails to compensate for the lack of schema documentation.

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

    Purpose5/5

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

    The description clearly states the tool searches PRTS Arknights Chinese wiki entries and returns titles and summaries. It distinguishes from siblings like 'read_prts_page' by identifying it as a search function.

    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 on when to use this tool vs alternatives like 'read_prts_page'. The description implies usage for searching but does not specify when not to use it or provide context for 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?

    No annotations are provided, so the description carries full burden for behavioral disclosure. It only mentions the naming convention for the parameter but omits other behavioral traits such as authentication requirements, rate limits, error handling (e.g., if operator is not found), or any side effects. The description is insufficient for a complete behavioral understanding.

    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 concise sentence that front-loads the essential information. Every word contributes value without redundancy, making it highly efficient for an AI agent to parse.

    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?

    The tool is simple with one parameter and has an output schema, so description does not need to explain return values. However, it lacks context on error handling, prerequisites (e.g., whether operator must exist), or additional behavioral constraints. It covers the most critical usage hint but leaves gaps in completeness.

    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 adds crucial meaning by specifying that operator_name should be the in-game Chinese name (e.g., '阿米娅'), which is not present in the schema. This significantly aids correct parameter usage, though it does not cover formatting details like case sensitivity.

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

    Purpose5/5

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

    The description clearly states the tool retrieves voice records of a specified operator (a specific resource) using the verb '获取' (retrieve/get). It distinguishes from siblings like get_operator_archives and get_operator_basic_info, which deal with other types of operator data.

    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 explicitly instructs using the in-game Chinese name (e.g., '阿米娅'), providing a clear usage guideline. However, it does not explicitly state when not to use this tool or compare it to alternatives, though the sibling context makes the distinction reasonably clear.

    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?

    无注释,描述承担披露责任。提到文本量大可分页,但未说明权限、错误处理或返回格式。行为方面基本但不够全面。

    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?

    描述先提主要目的,再给出使用背景,最后逐参数说明。结构清晰,没有冗余信息,长度适中。

    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?

    解释了如何使用分页处理大量文本,涵盖了所有参数和基本行为。虽然有输出模式,但未提及返回内容的具体结构,不过对于读取工具已足够。

    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?

    描述中对每个参数都给出了解释和示例(如 event_id 的 'act31side'),补充了模式中缺失的语义(模式覆盖率0%),有效指导调用。

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

    Purpose5/5

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

    明确指定了动作(读取)、资源(活动完整剧情台词)和范围(整个活动,按官方章节顺序合并)。与兄弟工具(如 read_story)自然区分开。

    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?

    提供了使用场景(需要了解完整活动故事)和分批获取的提示,但没有明确说明何时不使用或对比替代工具。

    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?

    No annotations provided, so description carries full burden. Adds naming convention hint but lacks disclosure of authentication, rate limits, error handling, or what happens if operator is not found.

    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?

    Single sentence with no waste. Front-loaded with action and resource. Efficient for a parameter with required name hint.

    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?

    Output schema exists, so return values need not be explained. Description provides basic context but could elaborate on what 'archive data' entails (e.g., background, skills? ). Adequate but not exhaustive.

    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 has 0% description coverage, so description compensates by instructing to use the in-game Chinese name, adding meaning beyond the generic string type.

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

    Purpose5/5

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

    Description clearly states the action (获取/obtain) and resource (干员的档案资料/operator archive data). It specifies to use the in-game Chinese name, which adds precision. Distinguishes from siblings like get_operator_basic_info and get_operator_voicelines.

    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?

    Implies usage for retrieving archive data but no explicit guidance on when to use vs. alternatives. No mention of when not to use or prerequisites.

    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?

    No annotations are provided, so description bears full burden. It lists return fields but does not disclose behavior for invalid names, error handling, or that it is read-only. Output schema exists but description alone is adequate but not comprehensive.

    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?

    Single sentence with key information and an example. No redundant words, front-loaded with purpose.

    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 output schema exists, description is sufficient for basic usage. It covers what the tool returns and input format. Lacks mention of error scenarios or prerequisites, but tool is simple.

    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 has 0% description coverage for the only parameter. The description adds essential meaning: it expects the in-game Chinese name (e.g., '阿米娅'), going beyond raw schema type.

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

    Purpose5/5

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

    Description clearly states the verb 'get' and resource 'basic info of a specified operator', listing specific fields like class, rarity, affiliation. It distinguishes from siblings by specifying 'basic info' vs archives or voicelines.

    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 instructs to use in-game Chinese names (e.g., 'Amiya'), which is helpful. However, it lacks explicit guidance on when to use this tool versus siblings like get_operator_archives or read_prts_page.

    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. It discloses that output is ordered, but omits details about error handling, permissions, or side effects. This is insufficient for a tool with no safety 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 extremely concise, with the purpose stated in a single sentence plus an args section. Every piece of text adds 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 simple tool (one required string param, no enums, output schema exists), the description covers the core functionality adequately. It lacks guidance on invalid inputs or empty results, but the presence of an output schema mitigates the need for return value details.

    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?

    The schema has 0% description coverage, but the description adds meaningful context: event_id is an activity ID (e.g., 'act31side') retrievable from list_story_events. This clarifies the parameter beyond the bare schema.

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

    Purpose5/5

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

    The description clearly states the action ('列出所有剧情章节') and the resource ('指定活动'), with explicit mention of ordering ('按官方顺序排列'). It distinguishes from siblings like list_story_events and read_story.

    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 explains that event_id can be obtained from list_story_events, providing a direct link for when to use this tool. However, it does not explicitly state when not to use it or mention alternative tools.

    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?

    No annotations are provided, so the description carries full burden. It explains the operation is a read and describes parameters, but does not disclose error handling, required permissions, or behavior for invalid input. Adequate but minimal.

    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?

    Extremely concise: two sentences plus bullet-like argument descriptions. Every sentence is necessary and front-loaded with the core purpose. No redundancy or fluff.

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

    Completeness5/5

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

    The tool is simple with two parameters and an output schema exists. The description adequately covers what the tool does, the required and optional parameters, and hints at integration with list_stories. No additional context needed for the given complexity.

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

    Parameters5/5

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

    With 0% schema description coverage, the description fully compensates by explaining the purpose of include_narration (whether to include narration/scene descriptions) and provides an example and source for story_key. Adds significant value beyond the schema's type info.

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

    Purpose5/5

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

    Description clearly states verb ('读取' meaning read) and resource ('单章剧情的完整台词' meaning complete dialogue of a single story chapter). It distinguishes from siblings like list_stories (listing) and read_activity (reading activity data) by focusing specifically on dialogue content.

    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 provides a concrete example for story_key and notes it can be obtained from list_stories, but does not explicitly state when to use vs alternatives or when not to use. Usage is implied rather than explicitly guided.

    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?

    No annotations are provided, so the description carries the full burden. It describes the tool as a list operation with optional filtering, but does not disclose behavioral traits such as data freshness, pagination, or error handling. For a simple read-only tool, this is adequate but not rich.

    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 concise, with a clear purpose statement followed by a structured Args section. Every sentence provides necessary information without redundancy.

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

    Completeness5/5

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

    For a simple list tool with one optional parameter and an output schema, the description covers everything needed: purpose, filter usage, and cross-tool guidance. No gaps.

    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 coverage is 0%, but the description explains the category parameter with possible values ('main', 'activities') and their meanings, adding value beyond the minimal schema. The single parameter is well documented.

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

    Purpose5/5

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

    The description clearly states the tool lists Arknights story events with an optional category filter ('main' or 'activities'), and distinguishes it from the sibling tool list_stories by suggesting using this for overview and list_stories for details.

    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 explicitly recommends using this tool first for an overall view and then list_stories for specific chapters, providing clear usage context. It does not explicitly state when not to use it, but the guidance is sufficient.

    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

prts-mcp MCP server

Copy to your README.md:

Score Badge

prts-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/3aKHP/prts-mcp'

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