Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes, but there is some overlap between exec_function_preview and exec_proc_preview, which both execute PostgreSQL functions/procedures with similar parameters. The HTTP tools (http_get, http_post, etc.) are clearly differentiated by HTTP method, and auth tools are well-separated. Overall, the descriptions help clarify boundaries, but the function/procedure execution tools could cause confusion.

    Naming Consistency5/5

    Tool names follow a highly consistent snake_case pattern with clear verb_noun structures. Auth tools use auth_ prefix (e.g., auth_clear_session), HTTP tools use http_ prefix (e.g., http_get), and database tools use descriptive verbs like describe_, exec_, insert_, list_, preview_. There are no deviations in naming style across the set.

    Tool Count4/5

    With 19 tools, the count is slightly high but reasonable for a workbench server that combines authentication, HTTP operations, and database interactions. It covers multiple domains comprehensively without being excessive. A few tools might be consolidated (e.g., the two function execution tools), but overall the scope justifies the number.

    Completeness5/5

    The toolset provides complete coverage for its intended domains: authentication (session management), HTTP operations (full CRUD via different methods), and PostgreSQL database interactions (querying, inserting, describing objects, executing functions). There are no obvious gaps; agents can perform end-to-end workflows involving data retrieval, manipulation, and API calls with proper auth handling.

  • Average 3.9/5 across 19 of 19 tools scored. Lowest: 2.9/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
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool is 'read-only' and supports 'temporary tables within the session', which hints at safety and scope. However, it lacks critical details: whether it requires an active session, what happens on errors, rate limits, or output format. For a SQL execution tool with zero annotation coverage, this is a significant gap.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core functionality ('Execute read-only SQL batches') and adds a key feature ('with support for temporary tables within the session'). Every word earns its place, with no redundancy or fluff, making it highly concise and well-structured.

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

    Completeness3/5

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

    Given the tool's complexity (SQL execution with parameters), lack of annotations, and 0% schema description coverage, the description is incomplete. It covers the basic purpose and a feature (temporary tables), but misses behavioral details, parameter explanations, and usage context. The presence of an output schema helps by documenting return values, but doesn't fully compensate for other gaps.

    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%, so the schema provides no parameter descriptions. The tool description mentions 'SQL batches' and 'temporary tables', which loosely relates to the 'sql' parameter, but doesn't explain the 'max_rows' parameter at all. It fails to compensate for the lack of schema documentation, leaving both parameters poorly understood.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Execute read-only SQL batches with support for temporary tables within the session.' It specifies the verb ('Execute'), resource ('read-only SQL batches'), and a key capability ('support for temporary tables'). However, it doesn't explicitly differentiate from sibling tools like 'preview_query' or 'exec_function_preview', which prevents a perfect score.

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

    Usage Guidelines2/5

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

    The description provides minimal usage guidance. It implies this tool is for read-only SQL execution with temporary tables, but doesn't specify when to use it versus alternatives like 'preview_query' or 'exec_function_preview', nor does it mention prerequisites (e.g., session requirements) or exclusions. This leaves the agent with insufficient context for optimal tool selection.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Retrieve', implying a read-only operation, but does not specify permissions, rate limits, error handling, or what 'structural details' entail. This leaves significant gaps in understanding the tool's behavior and constraints.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the key action and resource without unnecessary words. It earns its place by clearly stating the tool's purpose in a compact form.

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

    Completeness3/5

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

    Given the tool's complexity (a read operation with 1 parameter) and the presence of an output schema (which handles return values), the description is minimally adequate. However, with no annotations and low schema coverage, it lacks details on behavior and parameters, making it incomplete for optimal agent use.

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

    Parameters3/5

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

    The input schema has 1 parameter with 0% description coverage, so the schema provides no semantic information. The description adds value by implying that 'object_name' refers to a 'database object', but it does not detail format, examples, or constraints. This partial compensation aligns with the baseline for low schema coverage.

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

    Purpose4/5

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

    The description clearly states the verb 'Retrieve' and the resource 'structural details, parameters, and definition for a database object', making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'list_tables_and_columns' or 'preview_query', which might also retrieve database information, so it falls short of a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives, such as 'list_tables_and_columns' or 'preview_query'. It lacks explicit context, prerequisites, or exclusions, leaving the agent with minimal usage direction beyond the basic purpose.

    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 'Execute' which implies a write operation, but doesn't clarify if this is read-only, destructive, requires authentication, has rate limits, or what happens on execution (e.g., side effects, transaction handling). For a database execution tool with zero annotation coverage, this leaves significant behavioral gaps.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core purpose ('Execute PostgreSQL functions or procedures') and adds key capabilities ('with optional parameters and result limiting'). Every word earns its place with no redundancy or unnecessary elaboration.

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

    Completeness3/5

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

    Given the tool's complexity (executing database procedures with parameters), no annotations, and an output schema (which handles return values), the description is minimally adequate. It covers the basic action and parameters but lacks critical context like safety, authentication needs, or differentiation from siblings, making it incomplete for confident use.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must compensate. It mentions 'optional parameters and result limiting', which loosely maps to the 'parameters' and 'max_rows' parameters, adding some meaning beyond the bare schema. However, it doesn't explain parameter formats (e.g., how parameters map to SQL), constraints, or provide examples, leaving the schema to do most of the work.

    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 ('Execute PostgreSQL functions or procedures') and the resource ('PostgreSQL functions or procedures'), which is specific and unambiguous. However, it doesn't differentiate from sibling tools like 'exec_function_preview' or 'execute_readonly_sql', leaving some ambiguity about when to choose this tool over those alternatives.

    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 like 'exec_function_preview' or 'execute_readonly_sql'. It mentions optional parameters and result limiting, but this is more about capabilities than usage context. There are no explicit when/when-not instructions or prerequisites stated.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'discover' and 'optional filtering,' but fails to describe critical behaviors: whether this is a read-only operation, what permissions are required, how results are structured (e.g., pagination, format), or any rate limits. For a metadata discovery tool with zero annotation coverage, this leaves significant gaps in understanding its 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 a single, efficient sentence that front-loads the core purpose ('Discover tables and columns') and follows with key parameter context. There is no wasted language, repetition, or unnecessary elaboration, making it highly concise and well-structured for quick comprehension.

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

    Completeness3/5

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

    Given the tool's moderate complexity (3 parameters, metadata discovery), no annotations, and an output schema present, the description is minimally adequate. It covers the basic purpose and hints at parameters but lacks behavioral details and explicit usage guidelines. The output schema mitigates the need to describe return values, but overall completeness is limited by gaps in transparency and parameter semantics.

    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%, so the description must compensate for undocumented parameters. It mentions 'optional filtering by schema or keyword search,' which partially explains 'schema_name' and 'search_term,' but omits 'limit' entirely and provides no details on parameter formats, constraints, or interactions. With 3 parameters and low coverage, the description adds only marginal value beyond the schema.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Discover tables and columns' specifies both the verb (discover) and resources (tables, columns). It distinguishes itself from siblings like 'describe_object' or 'preview_query' by focusing on metadata discovery rather than object details or query execution. However, it doesn't explicitly differentiate from potential similar tools not in the sibling list.

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

    Usage Guidelines3/5

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

    The description implies usage context through 'optional filtering by schema or keyword search,' suggesting when to use these parameters. However, it provides no explicit guidance on when to choose this tool over alternatives like 'describe_object' or 'preview_query,' nor does it mention prerequisites or exclusions. The guidance is limited to parameter usage rather than tool selection.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context about security ('without exposing secrets'), indicating that sensitive information is filtered out. However, it doesn't describe other behavioral traits such as performance characteristics, rate limits, authentication requirements, or what specific 'system status and configuration details' are included. The description provides some value but leaves significant gaps.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core purpose ('Provide system status and configuration details') and adds a critical security qualification ('without exposing secrets'). There is zero waste, and every word earns its place by clarifying scope and constraints.

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

    Completeness3/5

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

    Given the tool's simplicity (0 parameters, no annotations, but with an output schema), the description is minimally adequate. The output schema existence means the description doesn't need to explain return values, but for a system health tool, more context about what 'status and configuration details' entail would be helpful. The security note is valuable, but overall completeness is basic for this complexity level.

    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 tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description doesn't need to compensate for any parameter documentation gaps, and it appropriately doesn't mention parameters since none exist. This meets expectations for a parameterless tool.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Provide system status and configuration details' with the specific verb 'provide' and resource 'system status and configuration details'. It distinguishes itself from siblings by focusing on system health rather than authentication, data manipulation, or HTTP operations. However, it doesn't explicitly contrast with specific sibling tools like 'auth_status' which might provide authentication-specific status.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate compared to other status-related tools (like 'auth_status') or general query tools. The only contextual hint is 'without exposing secrets,' which suggests security considerations but doesn't define usage scenarios or 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?

    With no annotations provided, the description carries the full burden. It discloses that this is a destructive operation ('delete operations'), mentions JWT token forwarding, and notes API variability for delete payloads. However, it lacks details on error handling, response formats, authentication requirements beyond JWT, or rate limits.

    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 appropriately sized with three sentences. It's front-loaded with the core purpose, followed by usage notes and parameter guidance. No redundant information, though it could be slightly more structured for readability.

    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 5 parameters with 0% schema coverage, no annotations, and an output schema present, the description partially compensates but has gaps. It covers destructive behavior and some parameter semantics, but lacks comprehensive guidance on error cases, authentication, or when to use versus siblings, making it minimally adequate.

    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 meaningful context for 'body' (JSON object/array or UTF-8 text) and 'jwt_token' (forward caller's JWT for this request only). However, it doesn't explain 'url', 'content_type', or 'headers' parameters, leaving 3 of 5 parameters without semantic clarification.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Send an HTTP DELETE request' and 'Use for delete operations.' It specifies the verb (send/delete) and resource (HTTP request), but doesn't distinguish it from sibling HTTP tools like http_get or http_post beyond the method name.

    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 some usage context: 'Use for delete operations' and mentions when to use the body parameter ('Some APIs allow delete payloads; if needed...'). However, it doesn't explicitly guide when to choose this over other HTTP methods or alternatives, nor does it mention sibling HTTP tools for comparison.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that jwt_token forwards the caller's JWT 'for this request only', which adds useful context about authentication scope. However, it doesn't describe error handling, rate limits, idempotency (important for PUT), or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a moderate gap.

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

    Conciseness5/5

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

    The description is extremely concise and well-structured: a clear purpose statement followed by three focused bullet points. Every sentence earns its place by providing essential information about usage, body format, and authentication. No wasted words or redundancy.

    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 this is a mutation tool with 5 parameters, 0% schema description coverage, no annotations, but with an output schema, the description is moderately complete. The output schema existence means return values don't need explanation, but the description should do more for a PUT operation - explaining idempotency, typical status codes, or error scenarios would improve 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?

    With 0% schema description coverage, the description must compensate for parameter documentation. It provides meaningful context for two parameters: 'body accepts JSON object/array or UTF-8 text' and 'Pass jwt_token to forward the caller's JWT for this request only'. This adds valuable semantics beyond the bare schema, though it doesn't cover url, content_type, or headers parameters. The description does significant work to explain key parameters.

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

    Purpose4/5

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

    The description clearly states the tool's purpose as 'Send an HTTP PUT request' and specifies it's 'for full updates/replacements', which provides specific verb+resource context. However, it doesn't explicitly distinguish this PUT tool from its sibling HTTP methods (GET, POST, PATCH, DELETE) beyond mentioning 'full updates/replacements', which is somewhat helpful but not fully differentiating.

    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 some usage guidance with 'Use for full updates/replacements' and mentions the jwt_token parameter's purpose. However, it doesn't explicitly state when to use this versus other HTTP methods (like PATCH for partial updates or POST for creation) or when not to use it. The guidance is implied rather than 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?

    No annotations are provided, so the description carries the full burden. It discloses that the tool sends HTTP PATCH requests for partial updates and mentions JWT token forwarding, which adds useful context about authentication. However, it lacks details on error handling, rate limits, side effects, or response format, leaving behavioral gaps for an HTTP tool with no annotation coverage.

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

    Conciseness5/5

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

    The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by brief usage notes and parameter hints. Every sentence earns its place with no wasted words, making it efficient and easy to parse for an AI agent.

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

    Completeness3/5

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

    Given the tool's complexity (HTTP mutation with 5 parameters), no annotations, and an output schema (which reduces need to explain return values), the description is moderately complete. It covers purpose, partial usage, and some parameter semantics, but lacks behavioral details like error handling or side effects, making it adequate but with clear gaps for safe invocation.

    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 meaning for 'body' (accepts JSON object/array or UTF-8 text) and 'jwt_token' (forwards caller's JWT for this request only), which clarifies two of the five parameters beyond the schema. However, it doesn't cover 'url', 'content_type', or 'headers', leaving some parameters undocumented. The value added is significant but incomplete.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Send an HTTP PATCH request' and adds 'Use for partial updates.' This specifies the verb (send PATCH request) and resource (HTTP endpoints), distinguishing it from siblings like http_post or http_put. However, it doesn't explicitly differentiate from all HTTP siblings beyond mentioning 'partial updates,' which is good but not fully comprehensive.

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

    Usage Guidelines4/5

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

    The description provides clear context: 'Use for partial updates' and mentions forwarding JWT tokens. This gives guidance on when to use this tool (for partial updates) and hints at authentication needs. However, it doesn't explicitly state when not to use it or name alternatives like http_put for full updates, leaving some ambiguity compared to siblings.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context about JWT token forwarding ('Pass jwt_token to forward the caller's JWT for this request only') and body format acceptance. However, it doesn't disclose critical behavioral traits like error handling, timeout behavior, authentication requirements beyond JWT, rate limits, or what the response format will be (though an output schema exists).

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

    Conciseness5/5

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

    The description is perfectly sized and front-loaded: the first sentence states the core purpose, followed by specific usage guidance and parameter explanations. Every sentence earns its place with no wasted words, making it easy for an AI agent to quickly understand the tool's function and key parameters.

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

    Completeness4/5

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

    Given the complexity of an HTTP POST tool with 5 parameters, 0% schema description coverage, but with an output schema present, the description is reasonably complete. It explains most parameter semantics and provides usage context. The existence of an output schema means the description doesn't need to explain return values. However, for a mutation tool with no annotations, more behavioral context about side effects would be beneficial.

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

    Parameters4/5

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

    With 0% schema description coverage for 5 parameters, the description compensates well by explaining the semantics of 4 out of 5 parameters: 'body' accepts JSON object/array or UTF-8 text, 'content_type' overrides Content-Type header, 'jwt_token' forwards JWT, and 'url' requires a full URL. Only the 'headers' parameter lacks explanation in the description. This provides substantial value beyond the bare schema.

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

    Purpose4/5

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

    The description clearly states the tool's purpose: 'Send an HTTP POST request' with the specific verb 'send' and resource 'HTTP POST request'. It distinguishes from siblings by mentioning 'Use for create/actions' which differentiates it from other HTTP methods like GET, DELETE, etc. However, it doesn't explicitly contrast with all sibling HTTP tools beyond the general POST use case.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use this tool: 'Use for create/actions' and 'Provide a full URL'. It doesn't explicitly state when NOT to use it or name specific alternatives among the sibling HTTP tools (like http_get for read operations), but the 'create/actions' guidance implicitly suggests alternatives for other HTTP methods.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context about 'safety validation and row limits,' which hints at constraints and safety features, but doesn't detail specific behaviors like error handling, performance limits, or what 'safety validation' entails. This provides some value but lacks comprehensive behavioral traits.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core purpose ('Execute read-only SELECT statements and CTEs') and adds qualifying details ('with safety validation and row limits'). Every word earns its place, making it highly concise and well-structured without unnecessary elaboration.

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

    Completeness4/5

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

    Given the tool's complexity (SQL execution with safety features), no annotations, and an output schema present, the description is reasonably complete. It covers the main purpose and key constraints, but could benefit from more detail on behavioral aspects like validation specifics or error scenarios, though the output schema mitigates some gaps.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the schema provides no parameter details. The description adds minimal semantics by implying 'sql' is for SELECT/CTEs and 'max_rows' relates to row limits, but doesn't explain parameter formats, defaults, or constraints. It partially compensates for the coverage gap but leaves key aspects undocumented.

    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 specific action ('Execute read-only SELECT statements and CTEs') and the resource (SQL queries), distinguishing it from siblings like 'execute_readonly_sql' by emphasizing safety validation and row limits. It uses precise technical terms that define its scope effectively.

    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 implicitly guides usage by specifying 'read-only SELECT statements and CTEs,' indicating it's for querying data rather than modifications. However, it doesn't explicitly mention when not to use it (e.g., for INSERT/UPDATE) or name alternatives like 'insert_row' or 'execute_readonly_sql,' leaving some ambiguity in sibling differentiation.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It states this is a session-switching operation (implying mutation/state change) and mentions it's equivalent to auth_start_session, but doesn't disclose authentication requirements, permission levels, side effects, or error conditions. It provides some context about semantic intent but lacks behavioral details needed for a mutation tool.

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

    Conciseness4/5

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

    The description is well-structured with clear sections (purpose, equivalence statement, parameters, returns) and appropriately sized. Every sentence adds value, though the parameter section formatting with dashes is slightly verbose. The information is front-loaded with the core purpose stated first.

    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 session mutation tool with no annotations but an output schema, the description provides good coverage: clear purpose, usage guidance, parameter semantics, and return value reference. It lacks details about authentication requirements and error cases, but the output schema reduces the need to describe return values explicitly.

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

    Parameters4/5

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

    With 0% schema description coverage, the description compensates well by explaining both parameters: 'email' as 'The new user to impersonate' and 'reason' as 'Optional free-text description of why the switch is needed.' This adds meaningful context beyond the bare schema, though it doesn't specify email format constraints or reason length limits.

    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 specific action ('Switch the active session') and resource ('to a different user'), distinguishing it from siblings like auth_start_session (which it mentions as equivalent but semantically different) and auth_clear_session/auth_status. It explicitly defines the intent as changing the active user rather than starting fresh.

    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?

    The description provides explicit guidance on when to use this tool vs alternatives: 'when the intent is to change the active user rather than start a fresh session' and directly references auth_start_session as an equivalent alternative with different semantics. This clearly distinguishes usage contexts between the two 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?

    With no annotations provided, the description carries the full burden. It discloses that the tool executes PostgreSQL functions and returns preview rows, but doesn't mention important behavioral aspects like error handling, transaction behavior, permission requirements, or rate limits. The description adds some value with the parameter format guidance but leaves significant gaps.

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

    Conciseness5/5

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

    The description is efficiently structured with a clear purpose statement upfront, followed by usage guidance and detailed parameter format examples. Every sentence adds value - no redundant information. The formatting with bullet points enhances readability without wasting space.

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

    Completeness4/5

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

    Given the complexity of executing database functions with 3 parameters and 0% schema coverage, the description does an excellent job explaining parameter semantics. However, with no annotations and a mutation tool (function execution), it should ideally mention more about behavioral aspects like side effects or error handling. The existence of an output schema reduces the need to describe return values.

    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 all three parameters: 'function_name' (shown in example), 'parameters' (detailed format guidance with examples for scalars, arrays, and null), and 'max_rows' (implied by 'preview rows' and 'max_rows' parameter name). It provides crucial semantic information about PostgreSQL array handling that isn't in 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 the specific action ('Execute a PostgreSQL function with positional parameters and return preview rows') and distinguishes it from siblings like 'exec_proc_preview' (for procedures) and 'execute_readonly_sql' (for SQL queries). It provides a concrete example showing the exact type of operation.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use this tool ('for function calls such as...'), but doesn't explicitly state when NOT to use it or mention alternatives like 'exec_proc_preview' for stored procedures. The example helps clarify the intended use case.

    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 provided, the description carries the full burden. It effectively discloses key behavioral traits: it's a destructive operation (clearing session token), it affects subsequent HTTP tool behavior (fallback authentication), and it returns a specific success response. It doesn't mention error cases or side effects, but covers the core behavior well.

    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 perfectly front-loaded with the core purpose in the first sentence. Every subsequent sentence adds essential information about consequences and return values without any wasted words. The structure is logical and efficient.

    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 simplicity (0 parameters, no annotations, but has output schema), the description is complete. It explains what the tool does, its effect on system state, and the return format. The output schema existence means the description doesn't need to detail return structure, which it appropriately references.

    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 tool has 0 parameters with 100% schema coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on the tool's effect and return 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 clearly states the specific action ('Clear the active session token from memory') and the resource affected ('session token'). It distinguishes this tool from its siblings (like auth_start_session or auth_status) by focusing on session termination rather than creation or status checking.

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

    Usage Guidelines4/5

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

    The description provides clear context about when to use this tool: to remove the active session token. It implies usage when authentication should revert to API_BEARER_TOKEN or unauthenticated requests. However, it doesn't explicitly state when NOT to use it or name specific 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?

    With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it's a read-only operation (implied by 'Return'), it protects sensitive data ('without exposing the raw token'), and it describes the return structure in detail. It doesn't mention rate limits, caching behavior, or error conditions, but provides substantial behavioral context for a status-checking 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?

    The description is perfectly front-loaded with the core purpose in the first sentence, followed by a clear Returns section that documents the output structure. Every sentence earns its place - the first establishes purpose and security boundary, the second documents return values. No wasted words or 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 this is a simple status-checking tool with 0 parameters, 100% schema coverage, and an output schema (implied by the detailed Returns section), the description is complete. It explains what the tool does, what it returns, and important behavioral constraints (not exposing tokens). For this level of complexity, 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?

    The tool has 0 parameters with 100% schema description coverage, so the baseline would be 4 even with no parameter information in the description. The description correctly doesn't waste space discussing non-existent parameters, which is appropriate for this parameterless 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's purpose with specific verb ('Return') and resource ('current session status'), and distinguishes it from siblings by emphasizing it doesn't expose the raw token. It explicitly differentiates from auth_clear_session, auth_start_session, and auth_switch_user by focusing on status checking rather than session management.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use this tool ('Return the current session status without exposing the raw token'), which implicitly suggests it's for checking authentication state rather than modifying it. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools for different authentication needs.

    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 discloses that this is an insert operation (implying mutation/write) and mentions the RETURNING clause behavior. However, it doesn't cover important behavioral aspects like transaction handling, error conditions, permission requirements, or whether it's idempotent. For a database mutation tool with zero annotation coverage, this leaves significant gaps.

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

    Conciseness5/5

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

    The description is efficiently structured with a clear purpose statement, usage guideline, parameter explanations, and a concrete example. Every sentence serves a distinct purpose with zero redundancy. The information is front-loaded with the most important details first, making it easy to parse.

    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 this is a database mutation tool with no annotations but with output schema present, the description does well on purpose, parameters, and usage. However, it lacks behavioral context about transactions, errors, and permissions that would be important for safe operation. The output schema existence reduces the need to describe return values, but more behavioral disclosure would improve completeness.

    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 all three parameters clearly. It defines 'table_name' as 'table target, optionally schema-qualified', 'row' as 'object mapping column names to values', and 'returning_columns' as 'optional list of columns to return via RETURNING'. The example further clarifies usage. This adds substantial value 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 specific action ('Insert a single row'), target resource ('PostgreSQL table'), and scope ('one explicit insert with structured values'). It distinguishes itself from sibling tools like 'insert_rows' by specifying single-row insertion. The verb+resource combination is precise and 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?

    The description explicitly states when to use this tool: 'when you need one explicit insert with structured values.' It distinguishes from alternatives by specifying single-row insertion (vs. 'insert_rows' for multiple rows). The guidance is clear and includes context about the type of operation suitable for this tool.

    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 discloses key behavioral traits: it's a write operation (implied by 'Insert'), handles batch processing, requires consistent column structure across rows, and mentions automatic JSON list adaptation for arrays. However, it lacks details on permissions, error handling, transaction behavior, or rate limits, leaving gaps for a mutation 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?

    The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by bullet points for parameters and notes. Every sentence adds value (e.g., usage context, parameter details, constraints), with no redundant or wasted information, making it efficient 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 the tool's complexity (a mutation with 3 parameters, 0% schema coverage, no annotations, but with an output schema), the description is largely complete. It covers purpose, usage, parameters, and constraints. However, as a mutation tool without annotations, it could benefit from more behavioral details (e.g., side effects, error cases), though the output schema reduces the need to explain return values.

    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?

    Schema description coverage is 0%, so the description must compensate fully. It adds significant meaning beyond the schema: explains 'table_name' as 'table target, optionally schema-qualified', 'rows' as 'list of objects mapping column names to values', and 'returning_columns' as 'optional list of columns to return from inserted rows'. This clarifies the purpose and format of each parameter effectively.

    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 specific action ('Insert multiple rows into a PostgreSQL table in one batch'), identifies the resource ('PostgreSQL table'), and distinguishes it from sibling tools like 'insert_row' (singular) by emphasizing 'bulk inserts' and 'multiple rows'. It explicitly defines the scope and verb.

    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?

    The description provides explicit guidance on when to use this tool ('for bulk inserts where every row has the same columns') and implicitly distinguishes it from alternatives like 'insert_row' (for single rows) and 'execute_readonly_sql' (for queries). It also includes usage notes ('Every row must use the same columns in the same order'), offering clear context for application.

    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 provided, the description carries the full burden. It discloses key behavioral traits: the read-only nature, JWT token forwarding for authentication, fallback to API_BEARER_TOKEN, and the override rule for headers.Authorization. It lacks details on rate limits or error handling, but covers essential operational context.

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

    Conciseness5/5

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

    The description is front-loaded with the core purpose, followed by specific usage notes in bullet-like sentences. Each sentence adds value—no waste. It's appropriately sized for a tool with three parameters and clear behavioral rules.

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

    Completeness4/5

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

    Given the tool's moderate complexity (HTTP request with auth handling), no annotations, 0% schema coverage, but an output schema exists, the description is largely complete. It covers purpose, usage, and key parameters, though it could mention response format or error scenarios, which the output schema may address.

    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 explains the purpose of 'url' ('Provide a full URL'), 'jwt_token' (for forwarding JWT, with fallback logic), and 'headers' (with the constraint on Authorization). This adds meaningful context beyond the bare schema, though not exhaustive for all 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 specific action ('Send an HTTP GET request') and resource ('read-only resource retrieval'), distinguishing it from siblings like http_post or http_delete. It explicitly mentions the HTTP method and purpose, avoiding tautology.

    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?

    The description provides explicit guidance: 'Use for read-only resource retrieval' defines the primary use case, and it implicitly contrasts with other HTTP methods (e.g., POST for creation) among siblings. It also specifies when to use jwt_token versus default behavior.

    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 the full burden. It discloses key behavioral traits: the tool sends an HTTP HEAD request (implying it's a read-only operation for metadata), mentions authentication handling ('Pass `jwt_token` to override the default environment token'), and notes a constraint ('`headers.Authorization` is ignored; use `jwt_token` instead'). However, it doesn't cover aspects like rate limits, error responses, or output format, leaving some gaps.

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

    Conciseness5/5

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

    The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by specific usage and parameter guidance. Every sentence adds value without redundancy, making it efficient 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 annotations, 0% schema coverage, 3 parameters, and an output schema present, the description is fairly complete. It covers purpose, usage, and key parameter semantics, but lacks details on error handling, rate limits, or exact output structure. The output schema mitigates some of this, but for a tool with authentication nuances, more behavioral context would be beneficial.

    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 meaning for parameters: it explains the purpose of `jwt_token` ('to override the default environment token') and clarifies that `headers.Authorization` is ignored in favor of `jwt_token`. However, it doesn't detail the `url` parameter or other possible headers, and with 3 parameters total, this partial coverage is good but not comprehensive.

    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: 'Send an HTTP HEAD request.' It specifies the verb (send) and resource (HTTP HEAD request), and distinguishes it from siblings like http_get, http_post, etc., by mentioning it's for 'metadata/status checks without retrieving a full body.' This is specific and avoids tautology.

    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?

    The description provides explicit guidance on when to use this tool: 'Use for metadata/status checks without retrieving a full body.' It also distinguishes it from alternatives by implying that for full body retrieval, other HTTP methods (like http_get) would be more appropriate. This is clear and contextually helpful.

    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 provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior: it acquires a JWT, establishes session-wide authentication for HTTP tools, and returns success/failure results. However, it doesn't mention potential rate limits, error conditions beyond basic failure, or what happens if called multiple times in a session. Still, it provides substantial behavioral context beyond basic purpose.

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

    Conciseness5/5

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

    The description is well-structured and appropriately sized. It begins with the core purpose, explains the behavioral impact, then provides clear parameter documentation and return value details. Every sentence earns its place, with no redundant information. The parameter and return sections are clearly labeled and informative.

    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 (authentication/session management), no annotations, and the presence of an output schema (implied by the Returns section), the description is remarkably complete. It covers purpose, usage context, parameters, return values, and behavioral consequences. The output schema information in the Returns section means the description doesn't need to explain return format details.

    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 both parameters. It clearly defines 'email' as 'The user whose identity the MCP session will impersonate' and 'reason' as 'Optional free-text description of why this session is needed. Stored in the JWT claims for audit purposes.' This adds crucial semantic meaning that the bare schema lacks.

    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: 'Acquire a session-scoped JWT for *email* from the backend broker.' This specifies both the action (acquire) and the resource (session-scoped JWT), distinguishing it from sibling tools like auth_clear_session (which ends sessions) and auth_status (which checks session state). The description goes beyond just restating the name/title.

    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?

    The description provides explicit guidance on when to use this tool: 'After a successful call every HTTP tool call in this session will automatically use the returned token (unless the tool call provides its own ``jwt_token``).' This explains the tool's role in establishing authentication for subsequent operations, making it clear this should be used at session start rather than for individual HTTP calls.

    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

mcp-dev MCP server

Copy to your README.md:

Score Badge

mcp-dev 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/antonov2010/mcp-dev'

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