SpecProof
Server Details
SpecProof: Search standards specs with MCP-ready precision.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 15 of 15 tools scored. Lowest: 3.1/5.
Each tool has a clearly distinct purpose: search, retrieval, analysis, test generation, diffing. Even similar 'get_' tools differ in what they retrieve (stats, content, references, etc.), so an agent can reliably distinguish them.
Most tools follow a snake_case verb_noun pattern (e.g., build_cross_spec_suite, get_requirements). The only deviation is 'semantic_search' (adjective_noun), but it remains clear and predictable.
15 tools is well-scoped for a specification analysis and conformance testing server. Each tool serves a necessary function without redundancy, striking a good balance between coverage and simplicity.
The tool surface covers the core workflow: finding documents, retrieving requirements, analyzing relationships, version diffing, and generating tests. A minor gap is the absence of a direct 'get_spec_by_number' tool, though this is mitigated by other tools.
Available Tools
17 toolsbuild_cross_spec_suiteBuild Cross-Spec SuiteARead-onlyIdempotentInspect
Assemble the normative requirements for one procedure across a spec AND the specs it normatively references — a procedure like registration or handover is never described in a single document. Returns a cited suite plan; feed the requirement_ids to generate_tests.
Args:
spec_base: The anchor spec, e.g. "23502" or "38331"
keyword: The procedure/topic, e.g. "registration", "handover", "authentication"
include_references: Also pull matching clauses from specs this one references (default: True)
limit: Max requirements in the plan (default: 20, max: 50)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| keyword | Yes | ||
| spec_base | Yes | ||
| include_references | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds that it returns a plan with requirement_ids and can be fed to generate_tests. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear purpose statement followed by an Args list. Every sentence adds value, no wasted words. It's well-structured and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity and presence of an output schema, the description covers purpose, parameter usage, and output format (cited suite plan). It even indicates integration with generate_tests, making it contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description provides full parameter explanations: spec_base (with examples), keyword (with examples), include_references (default), and limit (default and max). This compensates entirely for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assembles normative requirements for a procedure across a spec and its references, distinguishing it from get_requirements (single spec) and semantic_search. It specifies the output as a cited suite plan and hints at subsequent use with generate_tests.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use: for procedures like registration or handover that span multiple specs. It provides context but doesn't explicitly list when not to use or compare to alternatives like search_specifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diff_spec_versionsDiff Spec VersionsARead-onlyIdempotentInspect
Diff two versions of a specification at the NORMATIVE level: which requirements were added, removed, or reworded. Not a textual diff — a clause that merely moved page or was recased counts as unchanged.
Args:
spec_base: Spec identity without the version, e.g. "38331" or "23501"
from_version: Older version label, e.g. "j20" (default: the second-newest in the corpus)
to_version: Newer version label, e.g. "j30" (default: the newest in the corpus)
obligation: Only report changes at this strength — "must", "must_not", "should", "should_not", "may"
limit: Max requirements to list per bucket (default: 25)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| spec_base | Yes | ||
| obligation | No | ||
| to_version | No | ||
| from_version | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond annotations: it explains the nature of the diff (normative vs textual), specifies that moved or recased clauses are considered unchanged, and implies the output is bucketed by change type. Annotations already indicate read-only and idempotent behavior, so the description complements them well without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with the core purpose, then clarifying non-textual nature, and finally detailing each parameter. It is concise but a few lines could be trimmed (e.g., repeating 'default' in multiple places).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown), the description doesn't need to detail return values. It covers the tool's core behavior and parameter specifications. However, it lacks information about error handling or assumptions about version label existence, which could be useful for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description carries full burden for parameter meaning, and it succeeds. Each parameter is clearly explained with purpose, type, default, and example values, adding significant value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool diffs two versions of a specification at the NORMATIVE level, identifying added, removed, or reworded requirements. It explicitly distinguishes itself from a textual diff, making the purpose highly specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does not do (e.g., not a textual diff) and clarifies that moved or recased clauses count as unchanged, providing context for when to use it. However, it does not explicitly compare to sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_testsGenerate Conformance TestsARead-onlyInspect
Generate a cited, runnable conformance test that verifies one normative requirement.
The test is grounded in the requirement sentence plus its surrounding clause from the
corpus, and every test cites the spec, section and page it enforces. If the requirement
is not testable (boilerplate, scope text), the generator abstains rather than inventing
a test.
Args:
requirement_id: The requirement's id, as shown by get_requirements
target: "pytest" for a runnable Python test module, or "gherkin" for a reviewable
.feature file (default: pytest)
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | pytest | |
| requirement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, which is consistent with generating output without modifying state. The description adds valuable behavioral details: it grounds tests in requirement sentences, cites spec sections, and abstains from inventing tests for non-testable requirements. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise with two paragraphs and an Args list. The first paragraph is slightly verbose but still clear. The structure is logical: purpose, behavior, then parameters. Every sentence adds value, though minor tightening could improve conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (though not shown), the description does not need to detail return values. It covers key behaviors (citation, abstention) and parameter semantics. For a generation tool, this is adequate; it lacks details on error cases or size limits, but overall complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the full burden. It provides a clear Args section explaining both parameters: requirement_id (integer, from get_requirements) and target (string, defaults to pytest, with options). This adds meaningful context beyond the schema's field names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: generating a cited, runnable conformance test for a normative requirement. It uses specific verbs ('Generate', 'verifies') and identifies the resource ('conformance test'). Sibling tools are all read-only queries, so there is no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool: to verify a normative requirement. It also mentions when it abstains (non-testable requirements). However, it does not explicitly contrast with siblings or provide a when-not-to-use scenario, though the context makes it clear given the sibling list is all read operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_database_statsDatabase StatisticsARead-onlyIdempotentInspect
Get comprehensive database and system statistics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare safe read-only behavior (readOnlyHint, idempotentHint, destructiveHint). The description adds minimal context ('comprehensive database and system statistics') but does not disclose additional behavioral traits like required permissions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that clearly states the tool's purpose. It is appropriately sized with no extraneous words, making it easy for an AI agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature (no parameters, annotations present, output schema exists), the description provides adequate but minimal context. It does not explain what 'comprehensive statistics' include, but the output schema can fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description need not add parameter info. According to guidelines, 0 parameters sets a baseline of 4. The description does not miss any necessary parameter details because there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and identifies the resource as 'comprehensive database and system statistics'. This clearly distinguishes it from sibling tools like get_document_content or get_spec_metadata, which focus on specific entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It implies it is for broad overview statistics, but no when-not-to-use guidance or alternative names are provided, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_contentGet Document ContentARead-onlyIdempotentInspect
Get specific content from a specification document.
Args:
filename: Document filename (required)
page_range: Page range like "10-15" or single page "20" (optional)
section: Section title filter (optional)
| Name | Required | Description | Default |
|---|---|---|---|
| section | No | ||
| filename | Yes | ||
| page_range | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true. The description adds minimal behavioral context (filtering by page_range/section) but does not disclose any additional constraints. It is not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single-sentence purpose followed by a parameter list. Every line is necessary and well-structured, with no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 3 parameters and an output schema, the description covers purpose and parameter semantics. It could mention that content is returned as text, but the output schema handles that. Overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description adds value by explaining each parameter's purpose and providing format examples (e.g., page_range like '10-15'). This goes beyond the schema's type-only information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves specific content from a specification document, using a clear verb ('get') and resource. It distinguishes from sibling tools like list_documents (listing) and get_spec_metadata (metadata).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like search_specifications or semantic_search. The description only explains what it does, not the context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_most_referenced_specsAInspect
Get the most referenced (most important) specifications ranked by incoming reference count.
Args:
doc_type: Filter by "3gpp" or "ietf"
series: Filter by series number
limit: Maximum results (default: 20)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| series | No | ||
| doc_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses ranking by reference count and filter options, but lacks explicit read-only hint, rate limits, or side effects. The description is adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core purpose. The inline Args section is somewhat redundant with schema but still efficient. No unnecessary sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no required fields, and an output schema (reducing need to describe returns), the description covers the key aspects: ranking, filters, and default limit. Missing details like sort order or output content are less critical due to output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaningful parameter details: doc_type filter values ('3gpp' or 'ietf'), series filter by number, limit with default 20. This compensates for the empty schema, though series description could be more precise.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the most referenced specifications ranked by incoming reference count. It uses a specific verb and resource, and it distinguishes from sibling tools like get_spec_references which focus on references of a specific spec.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or provide context about its suitability compared to siblings like get_document_content or get_spec_references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_relationship_graphAInspect
Get a relationship graph centered on a specification, expanding N hops.
Returns JSON with nodes and edges suitable for graph visualization.
Each node includes title, series, working group, and reference counts.
Each edge includes source, target, reference type, and count.
Args:
spec_number: Center specification number
depth: Number of hops to expand (1-3, default: 1)
reference_type: Filter by type - "normative", "informative" (optional)
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | ||
| spec_number | Yes | ||
| reference_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure. It specifies that the graph expands N hops (depth 1-3), applies an optional reference_type filter, and returns JSON with nodes and edges each containing specific fields. It does not mention any destructive side effects or authorization needs, but for a read operation this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured: a one-line purpose statement, followed by a summary of the return JSON, then a bullet list of parameters. Every sentence adds value without redundancy. It is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (graph generation with multiple parameters) and the absence of schema descriptions, the description covers input semantics, return structure, and key constraints (depth range, filter options). It does not mention pagination, performance limits, or error handling, but is complete enough for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It fully describes each parameter: spec_number as 'Center specification number', depth with range and default, and reference_type with filter values and optionality. This adds essential meaning missing from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get a relationship graph centered on a specification, expanding N hops,' clearly identifying the verb (get) and resource (relationship graph centered on a specification). It distinguishes from siblings like get_spec_references (which returns linear references) and get_most_referenced_specs (which returns top specs), as it returns a graph suitable for visualization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is used to obtain a relationship graph for visualization, but it does not explicitly state when to use this tool versus alternatives like get_spec_references or get_series_overview. No 'when not to use' guidance is given, though the graph nature implies it's for broader relationship exploration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_requirementsGet RequirementsARead-onlyIdempotentInspect
List normative requirements (RFC 2119 / BCP 14 "shall/should/may" statements) extracted from specifications, each cited back to its source clause.
Args:
spec_number: Filter by spec number, e.g. "23.501" or "RFC 9110" (optional)
obligation: Filter by strength - "must", "must_not", "should", "should_not", or "may" (optional)
search: Keyword to search within the requirement text (optional)
limit: Maximum number of requirements to return (default: 30, max: 100)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| search | No | ||
| obligation | No | ||
| spec_number | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds that results are cited to source clauses, but does not add further behavioral context like authentication requirements or rate limits. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with no wasted words. It uses a clear Args section to list parameters and their meanings. Every sentence provides value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and 4 optional parameters, the description provides sufficient context for usage. It could be slightly more explicit about what is returned beyond cited requirements, but overall it is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 each parameter: spec_number filter, obligation filter, search keyword, and limit with default and max values. This adds significant meaning beyond the empty schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool's verb (list) and resource (normative requirements), and specifies they are extracted from specifications with citations. This distinguishes it from sibling tools like search_specifications and get_spec_metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists optional filters but does not explicitly state when to use this tool versus alternatives. No guidance is provided on exclusions or when not to use it. Usage context is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rfc_lineageRFC LineageARead-onlyIdempotentInspect
An RFC's revision history. RFCs are immutable — an RFC is never revised, it is obsoleted or updated by a different RFC — so this Obsoletes/Updates graph, not a version diff, IS its change history. Use it to find out whether an RFC you depend on has been superseded.
Args:
rfc: The RFC, e.g. "7231", "rfc7231" or "RFC 7231"
| Name | Required | Description | Default |
|---|---|---|---|
| rfc | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations: it explains the immutable nature of RFCs and that the lineage is a relationship graph, not a diff. This complements the readOnlyHint and idempotentHint annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences plus a parameter note. It front-loads the core purpose and includes essential context. There is no waste, though the parameter note could be slightly more integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one required parameter and an output schema, the description adequately covers the concept, input format, and usage scenario. It provides sufficient context for correct invocation without over-explaining.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description's Args section provides examples of acceptable input formats ('7231', 'rfc7231', 'RFC 7231'), adding vital meaning beyond the schema's mere type and title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as returning an RFC's revision history, specifying it is an Obsoletes/Updates graph due to RFC immutability. It distinguishes itself from a version diff and states the use case of checking supersedence, making it distinct from sibling tools like get_spec_metadata or get_spec_references.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: find out if a depended-upon RFC has been superseded. It does not explicitly exclude alternative tools or provide when-not-to-use guidance, but the context is sufficient for an agent to decide when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_schema_definitionsGet Schema DefinitionsARead-onlyIdempotentInspect
Look up formal, machine-checkable structure defined in the specifications: ASN.1 types (3GPP RRC/NAS message grammars) and JSON Schema / OpenAPI models (5G Service Based Interfaces).
Prefer this over prose search when the question is about a message's *structure* — field
names, types, ranges, optionality. The definition is returned verbatim from the spec, so
it is exact rather than recalled.
Args:
name: Type or schema name, e.g. "RRCSetup", "MeasConfig", "SmContextCreateData"
spec_number: Restrict to a spec, e.g. "38.331"
kind: "asn1", "openapi" or "json_schema"
limit: Maximum definitions to return (default: 10, max: 25)
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| name | No | ||
| limit | No | ||
| spec_number | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds that the definition is returned verbatim from the spec, 'exact rather than recalled', providing reliability context. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with a purpose paragraph, usage guidance, and parameter list. Every sentence adds value; no waste. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, and parameters adequately. Does not discuss error handling or edge cases, but output schema exists to define return values. For a tool with many siblings, it could differentiate more, but overall complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0% description coverage, but the description includes an 'Args:' section with brief explanations and examples for each parameter, adding meaning beyond the schema. Descriptions are minimal but sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it looks up formal structure definitions (ASN.1, JSON Schema, OpenAPI) from specs, with a specific verb 'look up' and resource 'machine-checkable structure'. It distinguishes from prose search, making its purpose distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends preferring this tool over prose search for structural questions. Lacks explicit exclusions for other siblings, but the contrast with prose search provides clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_series_overviewAInspect
Get an overview of all specification series with document counts, reference statistics, and working group assignments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description alone must convey behavior. The phrase 'Get an overview' implies a read operation, which is sufficient. However, it does not disclose potential costs, caching, or authentication needs, which would be helpful for a tool returning aggregated statistics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Clearly front-loaded with the action ('Get an overview') and specifics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless tool with an output schema, the description provides enough context about the return content (document counts, reference statistics, working group assignments). No additional information is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered. The description adds no parameter information, but none is needed. Baseline score of 4 applies as per rules for 0 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns an overview of all specification series, explicitly listing included data (document counts, reference statistics, working group assignments). This distinguishes it from sibling tools like get_most_referenced_specs or get_database_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. However, the purpose is clear, and the lack of parameters implies it's a global overview. For a zero-parameter read tool, this is minimally adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_spec_dependentsAInspect
Get all specifications that reference a given spec (reverse lookup).
Args:
spec_number: Specification number to find dependents of
max_results: Maximum results (default: 50)
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | ||
| spec_number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must cover behavior. It explains the function but omits details like pagination, if results include indirect dependents, or default limit behavior beyond the parameter default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two-phrase purpose line followed by parameter list with no extraneous text. Information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple; description covers purpose and parameters. Output schema exists so return format is handled. Lacks error cases or edge conditions, but adequate for a straightforward query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description explains both parameters with clear definitions (spec_number as target, max_results as cap and default), adding value beyond schema field names despite 0% schema coverage signal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool retrieves all specifications referencing a given spec, using 'reverse lookup' which distinguishes it from forward reference tools like get_spec_references.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The term 'reverse lookup' implies when to use it versus forward references, but no explicit alternatives or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_spec_metadataBInspect
Get enriched metadata for specifications with filtering.
Args:
spec_number: Filter by spec number (partial match)
series: Filter by series (e.g., "26" for 26.xxx codecs)
working_group: Filter by working group (e.g., "SA4")
doc_class: Filter by document class - "TS" or "TR"
limit: Maximum results (default: 50)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| series | No | ||
| doc_class | No | ||
| spec_number | No | ||
| working_group | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full responsibility. It does not disclose whether the tool is read-only, any authorization requirements, rate limits, or what 'enriched' metadata entails. The behavior is implied as a read operation, but not explicitly stated, and side effects or limitations are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, starting with the purpose, and then listing parameters in a clean bullet-like format. Each sentence is functional. Minor redundancy ('Filter by' repeated) does not detract from overall efficiency. At ~5 lines, it is appropriately sized for a filtering tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 optional parameters, no annotations, and an output schema, the description is moderately complete. It covers parameter meaning but omits return format, pagination details, or what 'enriched' means. For a complex tool, it could explain metadata richness or constraints, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds significant value. It explains each parameter's purpose (e.g., spec_number for partial match, series with example '26'), includes examples (e.g., 'SA4' for working_group), and clarifies the default for limit. This compensates for the sparse schema and aids correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves enriched metadata for specifications with filtering. It identifies the resource (specifications) and action (get enriched metadata), distinguishing it from sibling tools like get_spec_dependents or get_spec_references. However, it does not explicitly contrast with search_specifications, which could overlap in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It lists parameters but does not explain appropriate contexts, such as searching by text vs filtering by metadata. Sibling tools like search_specifications or get_spec_dependents are not mentioned, leaving the agent to infer usage without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_spec_referencesAInspect
Get all specifications referenced by a given spec.
Args:
spec_number: Specification number (e.g., "23.501", "26.230")
reference_type: Filter by type - "normative", "informative", "inline" (optional)
| Name | Required | Description | Default |
|---|---|---|---|
| spec_number | Yes | ||
| reference_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It describes inputs but not behavior (e.g., return type, side effects). Output schema exists, but description doesn't clarify if references include full details or just IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with clear arg documentation. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple two-parameter tool with an output schema, description covers basic functionality. However, it misses context like error handling or pagination. Sibling tools exist but no guidance on differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description adds meaning: example for spec_number and filter options for reference_type. This compensates well for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get all specifications referenced by a given spec,' which is a specific verb+resource. This distinguishes it from siblings like get_most_referenced_specs and get_spec_dependents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives provided. The description implies usage for getting references, but does not guide the agent on when to choose this over similar tools like get_spec_dependents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsList DocumentsARead-onlyIdempotentInspect
List available specification documents.
Args:
doc_type: Filter by document type - "3gpp", "ietf", or "mpeg" (optional)
search_pattern: Search pattern for spec number or title (optional)
limit: Maximum number of results (default: 20, max: 100)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| doc_type | No | ||
| search_pattern | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey safety (read-only, idempotent, not destructive). The description adds parameter explanations and constraints (default, max) but lacks details on result ordering, pagination beyond limit, or response structure. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence for purpose followed by a list of arguments. No fluff, front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the presence of an output schema, the description is sufficiently complete for a list operation. It could mention pagination but the limit parameter and schema cover basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully explains all three parameters: doc_type examples, search_pattern purpose, and limit with default and max. Adds clear context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('available specification documents'), and the parameter details distinguish it from sibling tools that fetch single documents or perform searches. However, 'available' is somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus sibling tools like search_specifications or semantic_search. The description assumes the agent understands the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_specificationsSearch SpecificationsARead-onlyIdempotentInspect
Search across 3GPP, IETF, and Multimedia specification documents using full-text search.
Args:
query: Search query terms (required)
doc_type: Filter by document type - "3gpp", "ietf", or "mpeg" (optional)
spec_number: Filter by specification number (optional)
max_results: Maximum number of results to return (default: 10, max: 50)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| doc_type | No | ||
| max_results | No | ||
| spec_number | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's behavioral addition is limited to stating 'full-text search' and parameter defaults. No contradictions, but no extra disclosure of rate limits, auth needs, or result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with a docstring-style Args block. Every sentence is informative without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description adequately covers parameters and search scope. However, it could mention result ordering or that search is across multiple sources, which would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by explaining each parameter's purpose, valid values for doc_type, and constraints for max_results (default 10, max 50). This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Search across' and the resource '3GPP, IETF, and Multimedia specification documents', specifying the scope. However, it does not differentiate from sibling tools like semantic_search, which also performs search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks any guidance on when to use this tool versus alternatives (e.g., semantic_search, get_document_content). It only implies usage for full-text search but provides no exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
semantic_searchSemantic SearchARead-onlyIdempotentInspect
Perform semantic search using vector embeddings with FAISS acceleration.
Args:
query: Natural language search query (required)
max_results: Maximum number of results to return (default: 5, max: 20)
similarity_threshold: Minimum similarity threshold 0.0-1.0 (default: 0.3)
index_type: FAISS index type - "hnsw", "ivf", or "flat" (optional, auto-selected)
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| index_type | No | ||
| max_results | No | ||
| similarity_threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds behavioral context such as FAISS acceleration, parameter explanations, and index type options (hnsw, ivf, flat) beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a summary line and a parameter list. No irrelevant information; every sentence adds value. Front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters and an output schema, the description adequately explains each parameter and the FAISS technology. However, it does not specify the corpus or scope being searched (e.g., 'specifications'), which could be inferred but not explicit. Output schema handles return format, so no deduction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, so the description carries full burden. It provides clear explanations for all four parameters: query as natural language, max_results with default and max, similarity_threshold with range, and index_type with allowed values and auto-selection. This adds significant meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs semantic search using vector embeddings with FAISS acceleration, which is a specific verb and resource. It distinguishes from siblings like 'search_specifications' and 'get_database_stats' as the only semantic search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'search_specifications'. There is no mention of appropriate contexts, exclusions, or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!