Data.gov MCP Server
The Data.gov MCP server allows you to interact with datasets from Data.gov through the following tools:
Search for datasets using the
package_searchtool with filters like query, results per page, sort order, and offsetGet details for a specific dataset using the
package_showtool by providing a package ID or nameList groups on Data.gov using the
group_listtool with options to limit results, offset, or order by fieldList tags on Data.gov using the
tag_listtoolAccess a Data.gov resource using the
datagov://resource/{url}template
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Data.gov MCP Serversearch for datasets about climate change"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Data.gov MCP Server
An MCP server for accessing data from Data.gov, providing tools and resources for interacting with government datasets.
Installation
Install the package globally:
npm install -g @melaodoidao/datagov-mcp-serverConfigure the MCP Server:
Add the following entry to your
cline_mcp_settings.jsonfile (usually located in~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/on macOS):{ "mcpServers": { "datagov": { "command": "datagov-mcp-server", "args": [], "env": {} } } }If you are using the Claude Desktop app, add the entry to
~/Library/Application Support/Claude/claude_desktop_config.jsoninstead.
Related MCP server: datagovma-mcp
Usage
This server provides the following tools:
package_search: Search for packages (datasets) on Data.gov.package_show: Get details for a specific package (dataset).group_list: List groups on Data.gov.tag_list: List tags on Data.gov.
It also provides the following resource template:
datagov://resource/{url}: Access a Data.gov resource by its URL.
You can use these tools and resources with Cline by specifying the server name (datagov-mcp-server) and the tool/resource name.
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
License
MIT License
Available Tools
4 toolsgroup_listB
List groups on Data.gov
| Name | Required | Description | Default |
|---|---|---|---|
| all_fields | No | Return all fields | |
| limit | No | Maximum number of results | |
| offset | No | Offset for results | |
| order_by | No | Field to order by |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions 'List groups' which implies a read-only operation, but doesn't specify authentication requirements, rate limits, pagination behavior, or what happens when no groups exist. For a tool with zero annotation coverage, this is insufficient.
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, clear sentence with zero wasted words. It's appropriately sized for a simple list operation and front-loads the essential information immediately.
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 list operation with full schema coverage but no annotations or output schema, the description provides the basic purpose but lacks behavioral context. It's minimally adequate but doesn't compensate for the missing annotation coverage about read-only status, authentication, or response format.
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 fully documents all four parameters. The description doesn't add any parameter-specific information beyond what's in the schema, which meets the baseline expectation when schema coverage is complete.
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 ('groups on Data.gov'), making the purpose immediately understandable. It doesn't distinguish from sibling tools like 'tag_list' which also lists resources, but it's specific enough to understand what it does.
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 about when to use this tool versus alternatives like 'tag_list' or 'package_search'. The description only states what it does without context about appropriate use cases, prerequisites, or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
package_searchC
Search for packages (datasets) on Data.gov
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query | |
| rows | No | Number of results per page | |
| sort | No | Sort order (e.g., "score desc, name asc") | |
| start | No | Starting offset for results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Search for packages') but lacks details on permissions, rate limits, pagination behavior (implied by 'rows' and 'start' parameters but not explained), or response format, which is insufficient for a search tool with no annotation coverage.
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, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy 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 complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on behavioral traits, usage context, and output details, making it inadequate for the agent to fully understand how to invoke and interpret results from this tool.
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 description coverage is 100%, with clear descriptions for all 4 parameters (e.g., 'q' as 'Search query', 'rows' as 'Number of results per page'). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.
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 for') and resource ('packages (datasets) on Data.gov'), making the purpose immediately understandable. However, it doesn't differentiate this search tool from potential siblings like 'package_show' (which might retrieve a specific package) or 'tag_list' (which might list tags rather than search packages), missing full sibling distinction.
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. The description doesn't mention scenarios like searching for packages by query versus retrieving a specific package with 'package_show' or listing groups with 'group_list', leaving the agent without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
package_showB
Get details for a specific package (dataset)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Package ID or name |
TDQS
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. It states this is a 'Get' operation, implying it's likely read-only, but doesn't confirm safety aspects like whether it requires authentication, has rate limits, or what happens if the package doesn't exist. More context is needed for a mutation-aware agent.
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, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for a simple tool with one parameter, making it easy 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 tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on usage context, behavioral traits, or output format, which could hinder an agent in more complex scenarios.
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 description coverage is 100%, with the 'id' parameter fully documented in the schema. The description adds no additional parameter details beyond implying the tool fetches details for a package, which aligns with the schema. This meets the baseline for high schema coverage.
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 with a specific verb ('Get details') and resource ('package (dataset)'), making it immediately understandable. It doesn't explicitly differentiate from sibling tools like 'package_search' or 'group_list', which prevents a perfect score.
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 no guidance on when to use this tool versus alternatives like 'package_search' or 'group_list'. It lacks context about prerequisites, such as needing a specific package ID, and doesn't mention any exclusions or complementary tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tag_listC
List tags on Data.gov
| Name | Required | Description | Default |
|---|---|---|---|
| all_fields | No | Return all fields | |
| query | No | Search query for tags |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'List tags' but doesn't describe any behavioral traits such as pagination, rate limits, authentication needs, or what the output looks like (e.g., format, structure). This is a significant gap for a tool with no annotation coverage.
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, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy 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 lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like output format, error handling, or usage context, which are crucial for an agent to invoke the tool correctly. This is inadequate for a tool with no structured support.
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 description adds no parameter semantics beyond what the input schema provides, which has 100% coverage with clear descriptions for both parameters. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate or add extra 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 verb ('List') and resource ('tags on Data.gov'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'group_list' or 'package_search', which also list resources, so it doesn't fully distinguish its specific scope beyond the resource type.
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 no guidance on when to use this tool versus alternatives like 'package_search' or 'group_list'. There's no mention of context, prerequisites, or exclusions, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v1.0.0- First observed
group_list - First observed
package_search - First observed
package_show - First observed
tag_list
TDQS
Each tool has a clearly distinct purpose targeting different resources: groups, packages (datasets), and tags. The actions (list, search, show) are well-defined and non-overlapping, making it easy for an agent to select the right tool without confusion.
All tool names follow a consistent snake_case pattern with a clear verb_noun structure (e.g., group_list, package_search). This predictability enhances readability and usability across the tool set.
With only 4 tools, the set feels thin for a data portal server, lacking operations like create, update, or delete for resources. While the tools cover basic read/search functions, the scope could be expanded for more comprehensive coverage.
The tool surface is severely incomplete for a data management domain, missing essential CRUD operations (e.g., no create_package, update_package, delete_package) and other common actions like resource_show for groups or tags. This will likely cause agent failures when trying to perform full lifecycle tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Data.gov MCP — wraps Data.gov CKAN API (catalog.data.gov/api/3)
Hosted MCP server for finding authoritative primary data sources and official portals.
HealthData.gov MCP — wraps HealthData.gov CKAN API (free, no auth)
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides tools to search, query, and aggregate data from any Socrata open data portal.-
- AlicenseNot gradedqualityCmaintenanceMCP server for the Moroccan Open Data portal (data.gov.ma) enabling search and retrieval of datasets, resources, organizations, and groups via CKAN API.1MIT
- AlicenseBqualityDmaintenanceMCP server with 562 tools accessing 114 government data APIs covering economic, health, education, energy, and more from federal, state, and international sources.4100891MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query U.S. government datasets via the Data.gov CKAN API, wrapped as an MCP server.15MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/melaodoidao/datagov-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server