Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose, with separate groups for Data Management, Issues, Submittals, authentication, and documentation. No two tools overlap in functionality, making it easy for an agent to select the right tool.

    Naming Consistency5/5

    All tools follow a consistent 'aps_<domain>_<action>' pattern using snake_case, with exceptions like aps_docs and aps_login that are still prefixed with 'aps_'. The naming is uniform and predictable.

    Tool Count4/5

    27 tools is slightly high but justified by the broad scope covering multiple APS APIs (Data Management, Issues, Submittals) plus authentication and docs. Each tool serves a specific need, and the count is appropriate for the coverage.

    Completeness4/5

    The tool set covers the main workflows for browsing and managing ACC projects, including hubs, projects, folders, items, issues, and submittals. Some operations like creating submittals or uploading files are only available via raw API tools, which is acceptable but leaves minor gaps.

  • Average 4.1/5 across 27 of 27 tools scored. Lowest: 3.1/5.

    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
    • Last stable release on
    • 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. It mentions that the tool returns a 'compact summary' but does not disclose read-only nature, idempotency, rate limits, or any other behavioral traits beyond the output format.

    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 two sentences, each serving a clear purpose: stating the action and detailing the output. Every word is necessary, and it is front-loaded with the primary verb.

    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 output schema, the description compensates by listing the returned fields. However, it lacks context about pagination behavior (offset semantics) and does not clarify how spec sections relate to submittal items, leaving some ambiguity for complex use cases.

    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, so parameters are already well-documented. The description adds no additional parameter semantics (e.g., constraints or default behaviors) beyond what the schema provides, earning 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 ('List spec sections for submittals') and the resource ('in an ACC project'), and explains what is returned. However, it does not differentiate from sibling tools like aps_list_submittal_items, which lists submittal items themselves.

    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 implies the tool is for retrieving spec sections but provides no explicit guidance on when to use it over siblings or when not to use it. No alternatives or exclusions are mentioned.

    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 must bear the full burden of behavioral disclosure. It states 'Returns the complete item object' but does not disclose auth requirements, rate limits, error handling, or any side effects. For a simple read tool, 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.

    Conciseness4/5

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

    The description is a single sentence that is clear and concise. However, it could include a tiny bit more context without becoming verbose.

    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 description is adequate for a simple retrieval tool with no output schema, but it could be improved by mentioning the structure of the returned object or typical use cases. It lacks completeness for an agent to fully understand what to expect.

    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 coverage is 100%, with both parameters (project_id, item_id) already documented in the input schema. The description adds no additional meaning or usage context for these parameters.

    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 ('Get full details'), the resource ('single submittal item'), and the scope ('by ID'). It also distinguishes from siblings like aps_list_submittal_items (list many) and aps_get_submittal_item_attachments (attachments).

    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 prefer this over aps_list_submittal_items or aps_get_submittal_item_attachments.

    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 return fields and hints at URN usage for download, but does not disclose authentication requirements, rate limits, or whether the operation is read-only. Minimal additional context beyond the obvious.

    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 two sentences long, front-loads the purpose, and every sentence provides useful information. There is no wasted text.

    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 output schema, the description partially explains return values by listing fields, but does not specify types, structure, pagination, error handling, or limits. For a simple getter, this is minimally adequate but leaves gaps for the 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 coverage is 100% with clear descriptions for both 'project_id' and 'item_id'. The tool description does not add any additional meaning or constraints beyond what the schema already provides, so it does not enhance parameter understanding.

    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 ('Get attachments for a specific submittal item') and specifies the return fields ('file names, URNs, revision numbers, and categories'). This distinguishes it from sibling tools like 'aps_get_submittal_item' which retrieves the item itself.

    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 does not provide guidance on when to use this tool vs alternatives. It only mentions using the URN to download via Data Management API, which is a post-retrieval step, not a selection criterion. No when-to-use or when-not-to-use advice is given.

    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 does not explicitly state that the tool is read-only or safe, though the name 'get' implies no side effects. The description adds value by listing the return fields, but lacks details on permissions or error behavior. A 3 is appropriate as it adds some context but not comprehensive behavioral disclosure.

    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 action ('Get detailed information') and then lists key return fields. No unnecessary words or repetition. It is perfectly concise and well-structured.

    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 no output schema and no annotations, the description is fairly complete. It specifies the purpose, identifies the returned fields, and the input schema (through parameter descriptions) hints that issue_id comes from aps_issues_list. It lacks error handling or rate limit info, but for a simple read tool, this is adequate. A 4 reflects good but not exhaustive 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 baseline is 3. The description does not add new information about parameters beyond the schema (e.g., project_id, issue_id, region). The main description lists return fields, which is helpful but not directly about parameters. Hence, a 3 is correct.

    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's purpose: 'Get detailed information about a single issue.' It specifies the verb (get) and resource (issue), and the scope (single), which distinguishes it from sibling tools like aps_issues_list (list multiple issues) and aps_issues_get_comments (get comments). The return fields are enumerated, leaving no ambiguity about what the tool does.

    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?

    No explicit guidance is given on when to use this tool versus alternatives. The context is implied by the input schema requiring an issue_id (suggesting it is for a single issue), but the description does not mention when to use aps_issues_list instead or provide exclusions. Thus, usage is implied but not explicit.

    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, the description carries full burden. It describes the return format but does not disclose whether the operation is read-only, any authentication needs, rate limits, or potential side effects. However, the nature of 'get' implies a safe read operation.

    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 two sentences long, with the first sentence stating the purpose and the second detailing the return format. Every word is informative, with no filler or 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?

    Given the tool has 6 parameters (2 required), no output schema, and no annotations, the description provides enough context for a simple read operation. It explains the return fields and the core action. However, it omits mention of pagination or sorting behavior, which is covered in the schema but could be summarized for 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 coverage is 100%, so the description does not need to repeat parameter details. The description adds value by summarizing the compact return list but does not enhance understanding of the parameters themselves.

    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 explicitly states 'Get all comments for a specific issue' with a clear verb and resource, and distinguishes itself from sibling tools like aps_issues_create_comment (which creates) and aps_issues_get (which gets issue details). The mention of a 'compact list' further clarifies the tool's scope.

    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 use when needing comments for an issue but provides no explicit guidance on when to use this tool versus alternatives (e.g., aps_issues_get for issue details, aps_issues_list for listing issues). No exclusions or prerequisites are mentioned.

    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 bears full responsibility for behavioral disclosure. It fails to mention authentication requirements, rate limits, pagination, or any side effects, leaving significant gaps for an agent.

    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 three sentences, each with a distinct role: purpose, return structure, and usage hint. No redundancy, concise and well-structured.

    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 a single well-documented parameter and no output schema, the description adequately conveys the tool's capability. Missing pagination info is a minor gap for a list endpoint, but not severe.

    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 already covers the hub_id parameter with 100% description coverage (format and source). The tool description adds no further semantic meaning, so it meets the baseline but does not enhance.

    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 projects in an ACC/BIM 360 hub, specifies the return fields, and distinguishes itself by referencing sibling tools (aps_get_top_folders, aps_get_folder_contents) for further actions.

    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 contextual guidance on when to use the tool and how to chain it with subsequent tools, but it omits explicit 'when not to use' or alternative approaches.

    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 must carry the behavioral burden. It discloses the required scope (data:write), which is a key behavioral trait. However, it does not mention idempotency, rate limits, or side effects (e.g., whether the issue is modified).

    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 one sentence and a warning. It is front-loaded with the action and includes scope information without unnecessary words.

    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 4 parameters, 100% schema coverage, no output schema, and moderate complexity, the description covers purpose and scope but misses return value/confirmation details. It is adequate but not fully complete.

    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?

    All 4 parameters have schema descriptions with 100% coverage. The description does not add extra meaning beyond the schema, so baseline score 3 applies. It does not clarify parameter relationships or provide additional context.

    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 'Add a comment to an issue' with a specific verb ('Add') and resource ('comment to an issue'), distinguishing it from sibling tools like aps_issues_create (creates issue) and aps_issues_get_comments (reads comments).

    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 a clear usage prerequisite ('Requires data:write in APS_SCOPE'), but does not explicitly compare with alternatives or state when not to use. However, the action is well-defined, and context signals indicate no confusion 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, the description is the sole source of behavioral info. It explains the compact output and optional parameters, but does not cover potential behaviors like pagination, caching, or permission requirements.

    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?

    Description is four sentences, front-loaded with purpose, no redundant information. Every sentence 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?

    Partially compensates for no output schema by listing return fields. Missing explanation of pagination behavior despite page_limit parameter, but overall adequate for a filtered list tool.

    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 coverage is 100%, so description's value is limited. It mentions filtering extensions and hiding hidden items, but adds little over schema descriptions for project_id, folder_id, and page_limit.

    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 gets a summarised listing of a folder's contents, specifies the returned fields (summary, folders, files), and explicitly compares to sibling aps_dm_request, making purpose unambiguous.

    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?

    Provides explicit alternative for full raw response (aps_dm_request) and mentions optional filtering, but does not specify when not to use this tool or explicitly state exclusions.

    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 the description must fully disclose behavior. It implies a read operation ('Get') and lists return fields, but does not explicitly confirm it's read-only, mention authentication requirements, or describe potential side effects. Moderate 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?

    Two sentences with no wasted words. The description is front-loaded with the core purpose and immediately provides actionable examples and usage guidance. Highly concise.

    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 two parameters and no output schema or annotations, the description covers purpose, output fields, and usage flow. It is mostly complete, though could mention pagination or limits, but not essential for a simple list tool.

    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 coverage is 100% with both parameters described (hub_id and project_id with format hints). The description does not add additional meaning beyond the schema, so baseline score of 3 applies.

    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 gets root/top-level folders for an ACC/BIM 360 project, lists common examples (Project Files, Plans, etc.), specifies returned fields (name, id, item count), and distinguishes itself from sibling aps_get_folder_contents.

    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 says to use this tool to get root folders and then use the folder id with aps_get_folder_contents, providing clear context and a follow-up action. However, it does not explicitly state when not to use this tool or list other alternatives.

    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, description carries the burden. It implies read-only via 'Get', describes return structure, but omits details like side effects, error cases, or performance considerations. Adequate but not thorough.

    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 sentences, front-loaded with purpose, no redundant words. Every statement 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?

    For a simple get operation with 3 params and no output schema, description covers the return format and ties to issue creation. Lacks info on pagination or limits, but these are likely unnecessary for categories.

    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 coverage is 100%, so baseline is 3. Description adds minimal value beyond schema: no extra context for include_subtypes or region beyond defaults. Does not explain how to get project_id beyond what schema says.

    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?

    Clearly states the verb-resource pair 'Get issue categories (types) and their types (subtypes) for a project' and specifies the returned data. Distinguishes from siblings like aps_issues_get which retrieves a specific issue.

    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?

    Provides explicit usage context: 'Use the returned subtype id when creating issues (issueSubtypeId)', indicating when to use this tool as a prerequisite. However, no explicit when-not-to-use or comparison to alternatives.

    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, the description mentions the output is a compact summary smaller than the raw API response, which adds behavioral context. However, it does not cover authentication, rate limits, or any side effects, which for a read-only tool is acceptable but not exhaustive.

    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 very concise: two sentences plus a list of output fields. It is front-loaded with the core purpose and immediately useful information without any fluff.

    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 moderate complexity (14 parameters, 1 required) and no output schema, the description covers the tool's purpose, output shape, and filtering options. It lacks explicit pagination guidance but is otherwise sufficient.

    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 coverage is 100%, so the baseline is 3. The description does not provide additional meaning beyond the schema's parameter descriptions, which already include format hints like comma-separated values. No value is added.

    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 and searches issues, specifies the compact summary fields (id, displayId, title, etc.), and distinguishes it from sibling tools like aps_issues_get which retrieves a single issue.

    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 effectively communicates that the tool is for listing and searching with filters, but it does not explicitly state when to avoid using it or compare it to alternatives. The context of sibling tools implies use cases, but no direct guidance is given.

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

  • Behavior4/5

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

    No annotations are provided, so description carries the full burden. It discloses that the tool returns a 'compact summary' with specific fields, and mentions filtering. However, it does not explain pagination behavior (limit/offset) or note that this is a read-only operation. The disclosure is good but not exhaustive.

    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 sentences with no wasted words: first sentence states the action and result, second lists key features. Information is front-loaded and efficiently presented.

    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 has 6 parameters with full schema descriptions, no output schema, and no annotations, the description covers purpose, output, and filtering options adequately. It lacks explanation of pagination behavior, which is a minor gap for a list tool. Overall sufficient.

    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%; all 6 parameters have descriptions in the schema. The tool description adds no additional parameter-level meaning beyond summarizing output fields. Baseline 3 is appropriate as schema does the heavy lifting.

    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 it lists submittal items in an ACC project, specifying the exact resource ('submittal items') and action ('list'). It also names the fields returned, distinguishing it clearly from sibling tools like 'aps_get_submittal_item' which retrieves a single item.

    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 lists filtering options (status, package, spec section, review response) but does not explicitly say when to use this tool versus alternatives like 'aps_get_submittal_item' or other list tools. The context is implied but not clarified, so usage guidelines are only adequate.

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

  • Behavior4/5

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

    No annotations provided; description carries full burden. Discloses return type (compact summary), implying limited data. Does not explicitly mention pagination, read-only nature, or project_id auto-conversion (schema does that). Still adds value beyond 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?

    Two sentences, 20 words. Front-loaded with action and resource, then output summary. No filler or redundant information.

    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?

    Adequate for a list tool with comprehensible output. Lacks distinction from similar sibling tools (e.g., vs 'aps_list_submittal_items') but schema provides pagination details. Could briefly clarify scope of 'packages' vs 'items'.

    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?

    Input schema has 100% description coverage; all parameters are already documented. Description adds no extra semantic information beyond what schema provides.

    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 action (list), resource (submittal packages), scope (in ACC project), and output (compact summary with fields). Distinguishes from sibling like 'aps_list_submittal_items' by specifying 'packages' vs 'items'.

    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?

    Description implies return format (compact summary) but does not explicitly state when to use this tool vs alternatives like 'aps_get_submittal_item' or 'aps_list_submittal_items'. No when-not-to-use or exclusions.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses the 'data:write' scope requirement and the effect of requiring project_id, title, issue_subtype_id, and status. The create operation's behavioral impact is clear.

    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: one sentence for purpose, one line for required fields, one line for optional fields, and a warning. No fluff, every sentence adds 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?

    Given 16 parameters and no output schema, the description is minimal. It does not explain the response structure, error handling, or what happens after successful creation. More detail would improve 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 baseline is 3. The description adds context for issue_subtype_id (reference to aps_issues_get_types) and the 'data:write' scope, but does not add much beyond the 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 'Create a new issue in a project.' with specific required fields (title, issueSubtypeId, status). It distinguishes from sibling tools like aps_issues_list, aps_issues_update, and aps_issues_get.

    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?

    Lists required and optional parameters, plus a warning about the required 'data:write' scope. No explicit mention of when not to use or alternatives, but the required fields give clear starting guidance.

    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 does not disclose that the tool is read‑only or that it has no side effects, but the nature of returning documentation implies safety. Some behavioral context is missing, but it is not contradictory.

    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 two sentences with no wasted words. The purpose and usage hint are front‑loaded, making it easy to parse quickly. Every sentence earns its place.

    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 has no parameters, no output schema, and no annotations, the description sufficiently covers its function and when to use it. It could specify the output format (e.g., text, structured) but is otherwise complete for its intended role as a reference 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?

    The input schema has zero parameters, so the description bears no obligation to explain them. Per rubric, 0 parameters yields a baseline of 4. The description adds value by specifying the content of the documentation, which is relevant to the agent's understanding.

    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 uses a specific verb ('Return') and resource ('ACC Issues API quick‑reference documentation') and lists detailed content (project ID format, statuses, workflow, etc.). It clearly distinguishes from sibling tools like aps_issues_list or aps_issues_get, which perform operations rather than provide reference.

    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?

    Explicitly states 'Call this before your first Issues interaction,' providing clear usage context. While it does not mention when not to use it or name alternatives, the directive is sufficient for initial guidance.

    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?

    The description discloses the browser opening, token caching, auto-refresh, and scope setting, but lacks details on failure behavior, repeated calls, or idempotency.

    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?

    Four concise sentences, front-loaded with purpose, no wasted words.

    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?

    Covers key aspects (login flow, token management, scope, logout), but omits error handling and 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?

    With 0 parameters, the baseline is 4; the description adds no parameter info but provides useful context about the OAuth flow.

    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 verb ('Start a 3‑legged OAuth login') and resource ('APS'), and distinguishes from siblings like aps_logout by explaining the token caching and auto-refresh.

    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 when to use (before other API calls needing user context) and when to stop (aps_logout), but does not explicitly mention when not to use or contrast with aps_get_token.

    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, description carries the burden. It mentions caching and auto-refresh by other tools, providing behavioral context. However, it lacks details like rate limits or whether repeated calls cause issues.

    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 sentences, no wasted words. Purpose is front-loaded, followed by actionable usage guidance. Every sentence earns its place.

    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?

    Given zero parameters, no output schema, and simple behavior, the description fully covers purpose, usage context, and relationship to siblings. No gaps remain.

    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?

    No parameters, so schema coverage is 100%. Description adds value by explaining the purpose and usage context beyond the empty schema, earning the baseline of 4.

    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?

    Clearly states it gets a 2-legged access token for Autodesk Platform Services, and explicitly distinguishes itself from sibling tools by noting that other tools cache and auto-refresh the token.

    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?

    Explicitly says to use for verifying credentials and that it's rarely needed otherwise. Implicitly names alternatives (all other tools handle token management) but does not name a specific sibling.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It discloses the required write scope, partial update nature, and suggests checking permittedAttributes for user capabilities. It does not detail side effects but adequately warns about permissions.

    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 two sentences plus a warning and tip. Every sentence adds value without 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?

    Given high schema coverage and no output schema, the description covers the key aspects: operation, partial update, required scope, and how to verify editable fields. It is complete for this tool's purpose.

    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 baseline is 3. The description adds marginal value by stating 'Only include the fields you want to change' and requiring scope, but most parameter meanings are already clear from the 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 'Update an existing issue', which is a specific verb+resource. It also mentions partial update semantics ('Only include the fields you want to change'), distinguishing it from related sibling tools like aps_issues_create or aps_issues_get.

    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 context on when to use (updating issues) and mentions required scope ('Requires 'data:write' in APS_SCOPE') and a tip to check permittedAttributes. However, it does not explicitly state when not to use or mention alternatives among siblings.

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

  • Behavior4/5

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

    No annotations provided, but description discloses that each recursion level makes an API call and warns about rate limits, adding critical behavioral context beyond the 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?

    Two concise sentences plus a critical warning, all front-loaded with purpose and usage, no wasted words.

    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 no output schema, description adequately explains the tool's output (tree with hierarchy and file counts) and key behavioral trait (API calls per level). Lacks error handling info but is otherwise complete.

    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 100%, so baseline is 3. Description adds format hints for project_id and folder_id, and repeats the max_depth default with range and rate limit implication, providing added value.

    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 states a specific verb ('Build') and resource ('recursive folder‑tree structure'), clearly distinguishing it from siblings like aps_get_folder_contents which returns flat contents.

    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?

    Explicitly says it's useful for understanding project organization and warns about API call costs per depth level, implying when to use and when to avoid deep recursion.

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

  • Behavior4/5

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

    The description adds behavioral context by stating the response is 'Much smaller than the raw JSON:API response', indicating a trimmed-down output. Although it lacks explicit safety or authorization details, the name 'get' and the description imply a read-only operation. With no annotations provided, this provides useful behavioral insight beyond the tool name.

    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 short sentences front-load the purpose and immediately follow with usage advice and a comparison. Every sentence adds value with no redundancy or fluff.

    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?

    For a simple two-parameter tool with no output schema, the description covers the return fields, use case, and performance (smaller response). It does not detail error conditions or authentication, but given the low complexity, it is sufficiently complete for quick file lookups.

    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 coverage is 100%, so baseline is 3. The description mentions 'item_id from a folder listing' but does not add extra semantic meaning or format guidance for either parameter beyond what the schema already provides.

    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 uses a specific verb 'Get summarised metadata' and clearly identifies the resource as a single file/item, listing the returned attributes (name, type, size, version number, dates). It distinguishes itself from the raw JSON:API response by noting its smaller size, and the context of 'when you already have the item_id from a folder listing' differentiates it from sibling tools like aps_get_folder_contents.

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

    Usage Guidelines5/5

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

    Explicitly states when to use the tool: 'Use for quick file lookups when you already have the item_id from a folder listing.' This implies not to use for full details or when you need raw API data, providing clear directives and an implicit alternative.

    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 must cover behavioral traits. It states it returns the full API response and warns about project ID format, but does not disclose details about authentication, rate limiting, error handling, or side effects. For a raw API tool, more transparency could be added.

    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?

    Description is concise—two short paragraphs and a bulleted warning. Every sentence serves a purpose, no fluff. The first sentence immediately establishes the tool's 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 there is no output schema, the description covers the return value by noting it returns the full API response. It mentions applicable endpoints and custom filters. It is mostly complete for the tool's intended power-user use case, though it could touch on potential error scenarios or quota implications.

    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?

    Input schema has 100% coverage with descriptions for all 5 parameters. The description adds value by clarifying the path format (must include version prefix) and providing the project ID prefix warning, which is not evident from the schema alone. This extra guidance justifies a score above baseline.

    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 it calls any ACC Issues API endpoint and returns the full API response. It contrasts with simplified tools like aps_issues_list, aps_issues_get, etc., specifying the tool's role as a power-user alternative.

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

    Usage Guidelines5/5

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

    Explicitly advises to prefer simplified tools for everyday use and provides specific scenarios for using this tool (custom filters, attribute definitions, endpoints not covered). Also includes a critical warning about omitting the 'b.' prefix for project IDs.

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

  • Behavior4/5

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

    Describes what the documentation covers. No annotations provided, so description carries full burden. No behavioral contradictions; adequate for a read-only documentation tool.

    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 sentences, front-loaded with purpose, no extraneous words. Highly efficient and well-structured.

    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?

    Given no parameters, no output schema, and a simple documentation purpose, the description fully covers what the tool does and when to use it. Complete for its complexity.

    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?

    Input schema has no parameters (schema coverage 100%). Baseline 4 applies; description adds no param info but none needed.

    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?

    Clearly states it returns APS Data Management quick-reference documentation covering specific topics like ID formats, API paths, and troubleshooting. Distinguishes from sibling action tools by being a documentation 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?

    Explicitly says to call this before first APS interaction or when unsure about IDs or API paths. Provides clear context but does not explicitly list when not to use it or name alternative 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?

    No annotations provided, so description carries full burden. It implicitly indicates a read operation but does not explicitly state it is non-destructive or safe. Appropriate for a list tool but lacks explicit safety disclaimer.

    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, no wasted words. Front-loaded with action and result details, 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.

    Completeness5/5

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

    Given no parameters or output schema, the description is fully complete for this simple list operation. It describes input (none needed), output (summary fields), and next steps.

    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 zero parameters, so coverage is 100%. The description adds meaning beyond schema by explaining the output structure and downstream use, which is relevant context for invoking the tool.

    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 ACC/BIM 360 hubs (accounts), specifies returned fields (name, id, type, region), and explains how the result is used (hub id in aps_list_projects). It distinctively identifies the resource and purpose.

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

    Usage Guidelines5/5

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

    Explicitly instructs to use the returned hub id in subsequent calls to aps_list_projects, providing clear context on when to use this tool as an entry point. No alternatives needed as it's the primary hub lister.

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

  • Behavior4/5

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

    Without annotations, the description effectively discloses the behavior: it clears the cached token and causes a fallback. It does not mention return value or irreversibility, but is adequate for a logout operation.

    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 sentences, front-loaded with the action, no unnecessary words. Every sentence adds value.

    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?

    Given zero parameters, no output schema, and a straightforward action, the description completely covers the tool's purpose and effect.

    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?

    There are no parameters, so the baseline is 4. The description need not add parameter information.

    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 specifies the action ('Clear the cached 3-legged OAuth token') and the consequence ('API calls fall back to the 2-legged token'). It distinguishes from the sibling aps_login 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 implies usage after authentication with a 3-legged token to revert to app-context, but does not explicitly state when not to use or mention alternatives. The context of login/logout pair makes it clear.

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

  • Behavior4/5

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

    Description indicates read-only return of documentation without side effects. No annotations provided, so description carries full burden. It accurately describes behavior but could explicitly confirm idempotency or lack of destructive actions.

    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 sentences, zero waste. Front-loaded with purpose, followed by usage advice. Every sentence earns its place.

    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?

    Given no parameters, no output schema, and the tool's documentation role, the description fully covers what the tool does and when to use it. No additional information is needed.

    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?

    No parameters exist; schema coverage is 100%. Description adds no param details, which is appropriate. Baseline of 4 for zero-parameter tools.

    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 it returns quick-reference documentation for ACC Submittals API, listing specific content (endpoints, query parameters, statuses, etc.). Verb "Return" + resource "documentation" is specific and distinct from sibling tools that perform actions or retrieve 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?

    Explicitly advises calling before first Submittals interaction or when unsure about API usage, providing clear context. Does not state when not to use or mention alternatives, but this is unambiguous given the tool's nature.

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

  • Behavior4/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 discloses that responses can be very large (100K+ tokens) and gives response guidance. However, it does not mention authentication requirements or idempotency; auth is implied but not stated. Still, the behavioral hints are helpful.

    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 (~150 words), well-structured with clear sections, and front-loaded with purpose. Every sentence contributes—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?

    Given no output schema, the description covers return values with specific guidance on what to focus on (folders, files) and what to ignore (relationship links, meta). It addresses complexity of a flexible endpoint and provides necessary context for effective use.

    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 100% with descriptions for all 4 parameters. The description adds value beyond schema by providing response size warning, path structure example, and guidance on focusing responses. This extra context elevates it above the baseline of 3.

    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 'Call any APS Data Management API endpoint' and positions it as a raw/power-user tool. It explicitly distinguishes from simplified tools by naming several siblings, so purpose is unambiguous.

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

    Usage Guidelines5/5

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

    Provides explicit when-to-use (full control, pagination, POST/PATCH/DELETE, unhandled endpoints) and when to avoid (prefer simplified tools for everyday browsing). Names specific alternatives, making guidance actionable.

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

  • Behavior5/5

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

    Since no annotations are provided, the description fully discloses that the tool returns raw JSON, supports POST/PATCH (method enum includes POST), and automatically strips 'b.' prefix from project ID. This is comprehensive for a raw API wrapper.

    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 paragraphs front-loaded with purpose and usage guidance. Every sentence adds value 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?

    Given the tool's complexity as a raw API endpoint, the description fully covers purpose, parameters, usage context, and relationships to siblings. No missing information for correct invocation.

    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?

    Description adds significant value beyond schema: explains base path, sub-path requirement, auto-stripping of prefix, that query is key/value pairs, and body for POST. With 100% schema coverage, the description still enriches understanding.

    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 it calls any ACC Submittals API endpoint and returns full JSON. It lists specific endpoints and distinguishes from sibling tools by naming simplified alternatives like aps_list_submittal_items.

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

    Usage Guidelines5/5

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

    Explicitly advises using simplified tools for everyday tasks and reserves this tool for full control, pagination, POST/PATCH, or uncovered endpoints. Provides clear when-to-use and when-not-to-use guidance.

    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

APS.MCP MCP server

Copy to your README.md:

Score Badge

APS.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/EverseDevelopment/APS.MCP'

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