Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool maps to a distinct action: registration, spend recording, single-agent read, system-wide read, and reallocation. Although record_spend can trigger reallocation as a side effect, the descriptions clearly separate that automatic behavior from the explicit request_reallocation decision tool.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern: register_agent, record_spend, get_remaining_budget, get_budget_snapshot, request_reallocation. The verb and noun choices are predictable and match each tool's purpose.

    Tool Count5/5

    Five tools is well-scoped for a narrow budget-management domain. Each tool earns its place, covering registration, spending, inspection, and reallocation without redundancy or bloat.

    Completeness4/5

    The core lifecycle is covered: register agents, record spend, inspect individual and global state, and manually reallocate budget. Minor gaps include no explicit unregister/agent removal or direct priority adjustment without re-registering/resetting, but these are workable limitations rather than blocking dead ends.

  • Average 4.4/5 across 5 of 5 tools scored.

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

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

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

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

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

  • This server has been verified by its author.

  • 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

  • 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. The verbs 'Return' and 'check' clearly imply a read-only operation, and the description discloses the returned fields and the concept of 'close to starved.' However, it does not explicitly state that it has no side effects, require no special permissions, or describe error behavior—though these are partially implied by the tool name and usage.

    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 filler. The first sentence front-loads the function and output fields; the second provides a directly actionable use case. 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?

    The tool has one parameter, no output schema, and no annotations. The description compensates by listing all returned fields (remaining budget, allocated, consumed, priority, protected minimum reserve) and the context for use. An agent has enough information to call the tool and interpret the result.

    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% because agent_id is described as 'The registered agent to look up.' The description adds only the notion of 'single agent,' which reinforces the semantics already present in the schema but does not add meaningful new meaning beyond it. Baseline 3 is appropriate.

    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 and resource: 'Return a single agent's current remaining token budget' along with the exact fields returned. It distinguishes from siblings by emphasizing 'single agent' (vs. get_budget_snapshot) and by connecting to the reallocation workflow (vs. request_reallocation).

    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 gives a clear use case: 'Use this to check whether an agent is close to starved before deciding whether to request a reallocation.' It implies when this tool is appropriate relative to request_reallocation, but it does not explicitly mention when not to use it or name the alternative get_budget_snapshot.

    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, and it does well: it explains the relative priority semantics (higher priority pulls from equal-or-lower, never the reverse) and explicitly discloses that re-registering resets the contract and ledger entry — a destructive repeat-call consequence. No contradiction with annotations since none exist.

    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?

    Three dense sentences, front-loaded with the primary purpose in the first sentence. The priority semantics and reset behavior earn their place and there is no fluff. Slightly dense but well structured for the information conveyed.

    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 registration tool with no output schema, the description covers the prerequisite relationship to siblings, the priority flow rules, and the reset-on-reregister consequence — everything an agent needs to call it correctly. Minor gap: no mention of expected return value or success indication, but acceptable without an output schema.

    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 mentions 'priority weight' and 'initial token budget', mapping to priority and max_tokens, but adds nothing beyond what the schema already documents for each parameter. The schema itself carries the parameter detail.

    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 opening sentence 'Register a new agent in the budget system with a priority weight and an initial token budget' uses a specific verb (register) with a specific resource (agent in budget system) and the key fields. It distinguishes itself from siblings by framing registration as a prerequisite to record_spend and request_reallocation, so an agent can tell it apart from the other four tools.

    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 gives explicit sequencing guidance: 'Call this once per agent before recording spend or requesting reallocation for it.' This tells the agent when to use the tool relative to its siblings. It doesn't explicitly state when NOT to use it (e.g., to inspect budget one should use get_budget_snapshot), but the prerequisite framing provides clear enough context.

    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 disclosure burden. It communicates a read-only aggregate behavior via 'Return' and 'snapshot', details the output as structured JSON, and explains the system-wide scope. It stops short of explicitly stating 'does not modify any state' or discussing failures, but for a zero-parameter getter the behavioral disclosure is solid.

    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, each earning its place: the first states output scope and fields, the second states exactly when the tool should be used. The most important information is front-loaded in the first sentence, and there is no redundant wording.

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

    Completeness5/5

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

    For a zero-parameter, read-only aggregation tool with no output schema, the description is complete: it specifies the returned fields, the format, the scope, and primary usage scenarios. An agent can invoke this correctly without additional context.

    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 no parameters, so the schema already fully covers this dimension. The description adds no parameter-specific meaning but also does not need to; 0-parameter tools get a baseline score of 4 since there is nothing to clarify.

    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 and resource: 'Return the full current state of every registered agent' and enumerates the exact fields (priority, allocated budget, consumed tokens, remaining budget, and min_reserve). It is clearly differentiated from siblings by emphasizing the system-wide, all-agents scope, unlike get_remaining_budget presumably, making the purpose unmistakable.

    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 gives concrete usage contexts: 'before deciding whether a reallocation is needed' and 'to let an orchestrator/human inspect overall budget health across all agents at once.' It clearly implies a system-wide monitoring role, though it does not explicitly name when not to use it or mention alternative sibling tools by name.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so thoroughly. It reveals automatic priority-weighted reallocation, donor agent involvement, response contents, structured budget_exceeded errors, and the guarantee that it never silently overspends.

    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 tool's core purpose and every sentence adds unique value: purpose, reallocation behavior, response shape, and failure mode. It is detailed enough to be actionable without being padded or redundant.

    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?

    Despite having no output schema and no annotations, the description covers the operation, side effects, return behavior, and error semantics. An agent has everything it needs to decide when to call this tool and what to expect from the call.

    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 100% coverage, so the baseline is 3. The description adds meaningful semantic context by emphasizing that input_tokens and output_tokens are raw token counts rather than dollar costs, which prevents a common misinterpretation that the schema alone does not explicitly guard against.

    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 the specific action ('record tokens actually consumed'), the resource (a registered agent for a task), and the exact unit (raw input/output token counts, not dollar cost). It clearly differentiates this from sibling tools like request_reallocation by explaining that record_spend is the recording action and reallocation happens automatically as a consequence.

    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 makes it clear this is the tool to call when reporting actual token consumption for a completed task, and it explains the reallocation behavior that may follow. It does not explicitly mention when to use request_reallocation directly or what conditions would favor that sibling, so the guidance stops short of naming exclusions.

    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?

    There are no annotations, so the description carries the full behavioral burden. It clearly discloses that this performs a real reallocation against the live ledger, is not a dry-run simulation, enforces priority-based eligibility, protects min_reserve, and may only partially cover the requested amount. This is rich, actionable behavioral 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 dense but every sentence earns its place: core action, eligibility rules, return plan, and the critical real-vs-dry-run caveat are all included. It is front-loaded with the purpose and keeps the alternative routing at the end.

    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 there is no output schema, the description compensates by specifying the return plan contents: which donors gave up tokens, which agent received them, why each donor was eligible, and how much could not be covered. With safety, side effects, and when-not-to-use all covered, nothing essential is missing for correct invocation.

    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 schema already explains both agent_id and tokens_needed. The description adds minimal new parameter-level meaning beyond restating the need for additional tokens and the requested amount, so the baseline of 3 is appropriate.

    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 identifies the tool as the core allocation-decision tool that runs priority-weighted borrowing logic to move tokens from eligible donor agents to a needy agent. It also explicitly distinguishes itself from the inspection-only sibling get_remaining_budget, so an agent can tell them apart immediately.

    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 states exactly when to use it: when an agent needs additional tokens right now and a real reallocation is desired. It explicitly names the alternative for the non-mutating case, saying to call get_remaining_budget first if you only want to inspect state without moving tokens.

    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

tbcontracts-mcp MCP server — quality and maintenance score on Glama

Copy to your README.md:

Score Badge

tbcontracts-mcp MCP server — quality and maintenance score on Glama

Copy to your README.md:

shields.io Endpoint

tbcontracts-mcp 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/swaranshu-borgaonkar/tbc-mcp'

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