referencesource.org
Server Details
Verified reference data; each record carries its source URL and quote. verify_quote checks claims.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Definition Quality
Average 4.3/5 across 4 of 4 tools scored.
Each tool has a unique role: get_record retrieves by ID, list_datasets enumerates available datasets, search_records performs substring search within a dataset, and verify_quote checks claims against published records. There is no overlap or ambiguity between them.
All tool names follow the same verb_noun snake_case pattern (get_record, list_datasets, search_records, verify_quote), making the action and target clear and predictable.
Four tools is an appropriate size for a focused reference/verification server. Each tool serves a distinct step in the workflow, and none are redundant or missing.
The tool set covers the core flow of discovering datasets, searching records, retrieving specific records, and verifying claims. Minor gaps exist (e.g., no explicit dataset detail endpoint), but the tools are sufficient for the server's stated purpose.
Available Tools
4 toolsget_recordGet one record by idARead-onlyInspect
Fetch one record by id — for example, look up a FIPS 140 certificate's status, a state's boiler inspection rules, or a county's loan limit. Returns the full record with its source URL and verbatim source quote. Record ids appear in search_records results and in each record's url.
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes | The record's id field, e.g. "ak". | |
| dataset_slug | Yes | Dataset slug from list_datasets. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safe-read nature is clear. The description adds value by stating it returns the full record with source URL and verbatim quote, which annotations don't cover. For a simple read tool, this is sufficient behavioral disclosure.
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 two sentences long with no wasted words. It front-loads the core action and examples, then explains the return value and ID source in a logical order. Every sentence earns its place.
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 2-parameter read tool with good annotations and no output schema, the description covers the return format and ID provenance. It is slightly lacking in explicitly noting that dataset_slug comes from list_datasets, but this is implied by the sibling tool. Overall, it is sufficiently complete for the tool's complexity.
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 100%, so the schema already documents both parameters (record_id and dataset_slug) adequately. The description mentions 'record ids appear in search_records results' but does not add new syntax or format details beyond the schema. Baseline 3 is appropriate.
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 it fetches a single record by ID, provides concrete examples (FIPS 140 certificate, boiler rules, loan limits), and specifies that the returned record includes a source URL and verbatim quote. This distinguishes it from siblings like search_records (search) and list_datasets (listing datasets).
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 explicitly says the record ID comes from search_records results or the record's URL, guiding the agent on where to find the ID. However, it does not mention when to prefer this over verify_quote or explicitly exclude alternative tools, leaving a minor gap in usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_datasetsList reference datasetsARead-onlyInspect
What reference datasets are available? Lists every published dataset with its title, description, record count and last-verified date. Covers regulatory thresholds, version compatibility, certification registers, licensing rules and more. Use the returned slug with search_records or get_record.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, destructiveHint=false, and openWorldHint=false, which the description aligns with. The description adds valuable behavioral details: that the tool returns every published dataset with specific fields (title, description, record count, last-verified date) and covers a broad scope of reference data. It does not contradict annotations. Slightly more detail about potential pagination or limits could push it to a 5, but the description adds enough context beyond annotations to score well.
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 remarkably concise: two sentences and a usage instruction. Every sentence is informative with no filler. The opening question makes it engaging and front-loaded. There is zero waste.
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 no parameters and no output schema, the description fully covers what the tool does, what it returns, and how to use the output with sibling tools. It mentions the scope of datasets (regulatory thresholds, version compatibility, etc.), which adds completeness. Nothing is missing for a simple list operation.
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 input schema has zero parameters, so there is no parameter information to supplement. Baseline for 0 parameters is 4. The description adds value by explaining what the output contains and how it can be used, which indirectly covers the tool's semantics.
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 lists published datasets with specific attributes (title, description, record count, last-verified date). The opening question 'What reference datasets are available?' makes the purpose immediately obvious. While it mentions using the returned slug with sibling tools, it does not explicitly differentiate itself from those siblings (e.g., when to search vs. when to list), leaving slight room for 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 provides clear context: use this tool to see available datasets. It also gives explicit guidance on what to do with the output ('Use the returned slug with search_records or get_record'). However, it does not state when NOT to use it (e.g., if you already have a slug, skip this) or mention alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recordsSearch records in a datasetARead-onlyInspect
Look up a specific record — search by state name, chemical, certificate number, product name or any keyword. Searches one dataset's records (case-insensitive substring match across all fields). Returns up to 20 matching records, each with its url, source and verbatim source_quote so the answer can be checked.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Substring to match, case-insensitive, e.g. a state code, chemical name or standard number. | |
| dataset_slug | Yes | Dataset slug from list_datasets, e.g. "graduated-driver-licensing". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds key behavioral details: case-insensitive substring matching across all fields, maximum return of 20 records, and the fact that results include url, source, and verbatim source_quote. No contradictions found.
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?
Three sentences, each adding unique information. First sentence: purpose and searchable fields. Second: scope and matching behavior. Third: return information. No filler, but could be slightly tighter.
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 (2 params, no nested objects, no output schema), the description explains purpose, fields searched, matching behavior, result limit, and what each result contains. For a search tool with annotations, this is thorough. Minor gap: no mention of pagination beyond the 20-result limit.
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 100% with clear descriptions for both parameters. The description adds value by explaining that the query applies as case-insensitive substring match across all fields, and that dataset_slug should come from list_datasets, providing an example. This goes beyond the schema alone.
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 starts with 'Look up a specific record' which is a specific verb+resource pairing. It explicitly lists searchable fields (state name, chemical, certificate number, product name or keyword) and distinguishes from siblings like 'get_record' which likely fetches by ID, and 'list_datasets' which lists available datasets.
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 clearly states when to use this tool: to search across a dataset's records with substring matching. It also mentions the result size (up to 20) and that it returns full records with source URL. However, it does not explicitly say when NOT to use it (e.g., for exact matches use 'get_record') or mention alternatives, but the context is strong enough for a typical agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_quoteCheck a claimed value against a recordARead-onlyInspect
Is this value actually right? Check a claimed fact against a published record instead of trusting it. Reports whether the claim matches the record's stored value (exact, case-insensitive or normalised — the match type is named), whether it appears in the record's verbatim source quote, and returns the source URL and quote so the claim can be traced upstream. Use this whenever you want to confirm a number, date, threshold or status before stating it. Verdicts: matches_record, matches_quote, differs or not_found.
| Name | Required | Description | Default |
|---|---|---|---|
| field | No | Field name to check the claim against, e.g. "limit_1_unit". Without it, every stored field is checked. | |
| record_id | No | The record's id, if known (shown in search_records results and in each record's url). Without it, the dataset's stored values are searched for the claimed value. | |
| dataset_slug | Yes | Dataset slug from list_datasets. | |
| claimed_value | Yes | The value to check, exactly as claimed, e.g. "$832,750" or "no passengers younger than 21". |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations (readOnlyHint, destructiveHint): it explains match types (exact, case-insensitive or normalized), the possible verdicts (matches_record, matches_quote, differs, not_found), and that it returns the source URL and quote. This is more than what annotations provide. There is no contradiction 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 a single paragraph but is concise and front-loaded with the key question 'Is this value actually right?' Every sentence earns its place: purpose, reporting details, usage guidance, and verdicts. It is not overly long, though it could be more structured (e.g., bullet points for verdicts) to improve scanability.
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 no output schema, the description adequately covers the main outputs (verdicts, source URL, quote) and usage scenarios. It explains what happens when optional parameters are omitted. However, it lacks explicit details on the exact response structure (e.g., field names like 'verdict', 'source_url'), which would be helpful for an agent to parse the result. Still, it provides enough context 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 100% (all parameters have descriptions), so baseline is 3. The description adds value beyond the schema by clarifying behavior when optional parameters are omitted: 'Without it, every stored field is checked' (for field) and 'Without it, the dataset's stored values are searched for the claimed value' (for record_id). It also explains the match types and verdicts, providing richer semantics.
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: 'Check a claimed fact against a published record.' It explains what it reports (match types, source quote, URL) and lists possible verdicts. This verb+resource combination is distinct from sibling tools like get_record (fetch full record) or search_records (search for records), making it easy for an agent to differentiate.
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 explicitly instructs: 'Use this whenever you want to confirm a number, date, threshold or status before stating it.' This provides strong guidance on when to use the tool. It does not explicitly state when not to use it (e.g., if you need the full record, use get_record instead), but the sibling context and the clear purpose make the decision boundary reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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!
Related MCP Connectors
Verify claims with verdict, confidence & cited sources; batch verify, source checks, daily brief.
Verifies legal citations vs primary sources: existence, quote match, proposition support.
Cross-check a factual claim against a verified knowledge graph before you assert it. Never guesses.
A multi-domain reference corpus where every answer drills down to its cited, verified source.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceVerifies claims with verdicts (supported/disputed/unverifiable), confidence scores, and cited sources by cross-referencing FoundryNet Data Network and web search.MIT
- AlicenseNot gradedqualityBmaintenanceEnables per-claim citation verification for AI-generated text by fetching cited sources and judging whether they support the claim, with verdicts and evidence quotes.75MIT
- AlicenseAqualityCmaintenanceEnables agents to verify whether citations exist and match canonical records, and whether URLs resolve and contain expected content, with evidence-backed confirmed, contradicted, or unknown verdicts.2MIT
- AlicenseBqualityCmaintenanceEnables revision-bound source audits with exact article fingerprinting, claim-to-source mapping, quotation verification, and immutable JSON evidence reports for prepublication review.9MIT