Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct role: find_capability discovers, describe_capability inspects, call_capability executes. There is no overlap or ambiguity between them.

    Naming Consistency5/5

    All three tools follow the same verb_noun snake_case pattern with a consistent capability-related noun. The naming is uniform and predictable.

    Tool Count5/5

    Three tools is well-scoped for a capability routing server; each tool covers one essential step in the discover-describe-invoke workflow. No redundant tools exist.

    Completeness5/5

    The tool set covers the full workflow of finding, understanding, and calling a capability, with catalog enumeration handled via a resource. There are no obvious missing operations for the server's stated purpose.

  • Average 4.1/5 across 3 of 3 tools scored.

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

    • 26 of 26 community issues answered or closed in the last 6 months
    • 997 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under AGPL 3.0.

  • This repository includes a README.md file.

  • Tools from this server were used 4 times in the last 30 days.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

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

  • Behavior4/5

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

    The description provides significant behavioral transparency by stating that it goes through the same authorization, ACL, HITL, idempotency, and rate-limit pipeline as direct tool calls. This goes beyond the minimal annotation (openWorldHint: false) and alerts users to safety gates.

    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, concise and free of fluff. It delivers the core functionality and safety context without unnecessary detail.

    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 simplicity and absence of an output schema, the description covers the essential behavior. It explains what the tool does and the safety implications, though it does not specify return formats or error handling. This is acceptable for the scope.

    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 has no per-parameter descriptions (0% coverage), and the tool description gives only a generic explanation: 'by name with its arguments.' It clarifies that 'name' is the capability name and 'args' are the arguments, but does not detail the structure of 'args' beyond referencing the target's 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 tool's purpose: 'Invoke a capability by name with its arguments.' It distinguishes this from sibling tools like describe_capability and find_capability, which focus on inspection rather than execution.

    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 mentions routing into a safety pipeline but does not explicitly state when to use this tool versus its siblings. The name implies invocation, but the text lacks direct usage guidance or conditions.

    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 mentions returning safety hints but does not explicitly state that this operation itself is read-only. Annotations already declare readOnlyHint true and destructiveHint false, so no contradiction exists; the description adds some context but not substantial side-effect detail.

    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?

    One clear, direct sentence with no wasted words. The essential information is front-loaded and 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?

    With no output schema, the description usefully summarizes the return content: full input schema, required scopes, and safety hints. It could mention error cases or output format details, but for a simple describe operation it is reasonably 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?

    The only parameter 'name' is described as identifying 'a single capability by name,' which gives it meaning beyond the bare string schema. It does not specify format or uniqueness, but for a single simple parameter it is adequately explained.

    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 'Return' and a specific resource: the full input schema, required scopes, and safety hints for a single capability by name. This distinguishes it from siblings like call_capability and find_capability.

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

    Usage Guidelines3/5

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

    Implies use when you need metadata for a named capability, but does not explicitly contrast with call_capability or find_capability or state when one would choose this over them. The purpose is clear, but usage guidance is minimal.

    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 is transparent about the tool's read-only nature, stating it returns matching capabilities without side effects. This aligns with the annotations readOnlyHint=true and destructiveHint=false. No contradictions exist; the description adds context by specifying the return format, though the annotations already convey the safety profile.

    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, consisting of two sentences that front-load the primary purpose and then provide usage context. Every sentence adds value, with no redundancy or filler. The structure is logical, moving from 'what it does' to 'how to use it'.

    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?

    The description is complete for a search tool: it states the input type (natural-language query), the output (best-matching capabilities with name and summary), and its relationship to siblings. It lacks explicit parameter details, but those are covered under parameter semantics. Given the tool's low complexity and absence of an output schema, the description provides sufficient context for correct usage.

    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?

    The schema has two parameters (query and limit) with 0% description coverage in the schema. The description does not explicitly explain either parameter, relying on their self-explanatory names. Since schema coverage is low, the description should compensate, but it only implies 'query' via the phrase 'natural-language query' and never mentions 'limit'. This leaves room for misunderstanding about the limit parameter's purpose or constraints.

    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: 'Search this server's full tool catalog by natural-language query and return the best-matching capabilities.' It explicitly distinguishes itself from the siblings call_capability and describe_capability by focusing on discovery rather than invocation or schema retrieval.

    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 it to discover which tool to call, then describe_capability for its schema and call_capability to run it.' It also offers an alternative for enumeration: 'To enumerate the whole caller-visible catalog grouped by domain instead of searching it, read the obsidian-tc://catalog resource.' This leaves no ambiguity about when to use this tool versus alternatives.

    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

obsidian-tc MCP server — quality and maintenance score on Glama

Copy to your README.md:

Score Badge

obsidian-tc MCP server — quality and maintenance score on Glama

Copy to your README.md:

shields.io Endpoint

obsidian-tc MCP server — quality and maintenance score on Glama

For READMEs with an existing badge row. Append &style=flat-square (or any other shields.io style) to match the rest, and &metric=tools, &metric=maintenance or &metric=claim to badge a different dimension.

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/The-40-Thieves/obsidian-tc'

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