Skip to main content
Glama

ESG Hub MCP Server

Propose Glossary Term

propose_term

Submit a new glossary term for human review. Nothing is published immediately: the call creates a pending proposal and returns a proposal_id; a reviewer decides whether it goes live, and only an approved term later appears in get_term. Use it only when the user explicitly wants to contribute a term; to look one up use get_term. name is the display name and definition must be at least 10 characters; facets is optional and its values should come from get_esg_metadata / list_industries vocabularies. Requires a write token in ESG_HUB_WRITE_TOKEN — a missing or invalid token returns 401 — and calls are rate-limited.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe glossary term name (e.g., 'Materiality Assessment')
facetsNoOptional metadata facets for the term
definitionYesFull definition of the term (min 10 characters)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYes
proposal_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the mutation/safety profile is covered. The description adds substantially more: nothing publishes immediately, a pending proposal is created, a proposal_id is returned, a reviewer gates publication, a write token in ESG_HUB_WRITE_TOKEN is required and a missing/invalid token yields 401, and calls are rate-limited.

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?

Front-loaded with the essential outcome (pending proposal, no immediate publish) and then routing, params, and auth. Dense but every clause carries information; slightly long with several semicolon-joined clauses, though nothing is wasted.

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 mutation tool with an output schema, the description covers outcome semantics (pending vs. live), the returned proposal_id, auth requirements, and rate limits. An agent has everything needed to call it correctly and to explain the result to a user.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema: it clarifies that name is the display name, that definition must be at least 10 characters, and that facets values should be drawn from the get_esg_metadata / list_industries vocabularies. That vocabulary-source guidance is genuinely new information not present 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?

States a specific verb (submit for review) and resource (glossary term), and explicitly distinguishes itself from the read path by noting that only approved terms later appear in get_term. An agent can separate this from list_terms/get_term without opening any schema.

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?

Gives an explicit when-to-use condition ('only when the user explicitly wants to contribute a term') and names the alternative ('to look one up use get_term'). The when-not is stated, not inferred.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.