opendatamcp
Connect any Open Data to any LLM with Model Context Protocol. Python-based implementation.
Documentation
Open Data Model Context Protocol
Connect Open Data to LLMs in minutes!
See it in action
https://github.com/user-attachments/assets/760e1a16-add6-49a1-bf71-dfbb335e893e
We enable 2 things:
- Open Data Access: Access to many public datasets right from your LLM application (starting with Claude, more to come).
- Publishing: Get community help and a distribution network to distribute your Open Data. Get everyone to use it!
How do we do that?
- Access: Setup our MCP servers in your LLM application in 2 clicks via our CLI tool (starting with Claude, see Roadmap for next steps).
- Publish: Use provided templates and guidelines to quickly contribute and publish on Open Data MCP. Make your data easily discoverable!
Usage
Access: Access Open Data using Open Data MCP CLI Tool
Prerequisites
If you want to use Open Data MCP with Claude Desktop app client you need to install the Claude Desktop app.
You will also need `uv` to easily run our CLI and MCP servers.
macOS
# you need to install uv through homebrew as using the install shell script
# will install it locally to your user which make it unavailable in the Claude Desktop app context.
brew install uvWindows
# (UNTESTED)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Open Data MCP - CLI Tool
Overview
# show available commands
uvx odmcp
# show available providers
uvx odmcp list
# show info about a provider
uvx odmcp info $PROVIDER_NAME
# setup a provider's MCP server on your Claude Desktop app
uvx odmcp setup $PROVIDER_NAME
# remove a provider's MCP server from your Claude Desktop app
uvx odmcp remove $PROVIDER_NAMEExample
Quickstart for the Switzerland SBB (train company) provider:
# make sure claude is installed
uvx odmcp setup ch_sbbRestart Claude and you should see a new hammer icon at the bottom right of the chat.
You can now ask questions to Claude about SBB train network disruption and it will answer based on data collected on `data.sbb.ch`.
Publish: Contribute by building and publishing public datasets
Prerequisites
1. Install UV Package Manager
# macOS
brew install uv
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Linux/WSL
curl -LsSf https://astral.sh/uv/install.sh | sh2. Clone & Setup Repository
# Clone the repository
git clone https://github.com/OpenDataMCP/OpenDataMCP.git
cd OpenDataMCP
# Create and activate virtual environment
uv venv
source .venv/bin/activate # Unix/macOS
# or
.venv\Scripts\activate # Windows
# Install dependencies
uv sync3. Install Pre-commit Hooks
# Install pre-commit hooks for code quality
pre-commit installPublishing Instructions
1. Create a New Provider Module
2. Implement Required Components
3. Tool vs Resource
4. Testing
5. Validation
For other examples, check our existing providers in the `src/odmcp/providers/` directory.
Contributing
We have an ambitious roadmap and we want this project to scale with the community. The ultimate goal is to make the millions of datasets publicly available to all LLM applications.
For that we need your help!
Discord
We want to build a helping community around the challenge of bringing open data to LLM's. Join us on discord to start chatting: https://discord.gg/QPFFZWKW
Our Core Guidelines
Because of our target scale we want to keep things simple and pragmatic at first. Tackle issues with the community as they come along.
1. Simplicity and Maintainability
2. Standardization / Templates
3. Dependencies
4. Code Quality
5. Type Safety
Tactical Topics (our current priorities)
- [x] Initialize repository with guidelines, testing framework, and contribution workflow
- [x] Implement CI/CD pipeline with automated PyPI releases
- [x] Develop provider template and first reference implementation
- [ ] Integrate additional open datasets (actively seeking contributors)
- [ ] Establish clear guidelines for choosing between Resources and Tools
- [ ] Develop scalable repository architecture for long-term growth
- [ ] Expand MCP SDK parameter support (authentication, rate limiting, etc.)
- [ ] Implement additional MCP protocol features (prompts, resource templates)
- [ ] Add support for alternative transport protocols beyond stdio (SSE)
- [ ] Deploy hosted MCP servers for improved accessibility
Roadmap
Let’s build the open source infrastructure that will allow all LLMs to access all Open Data together!
Access:
- Make Open Data available to all LLM applications (beyond Claude)
- Make Open Data data sources searchable in a scalable way
- Make Open Data available through MCP remotely (SSE) with publicly sponsored infrastructure
Publish:
- Build the many Open Data MCP servers to make all the Open Data truly accessible (we need you!).
- On our side we are starting to build MCP servers for Switzerland ~12k open dataset!
- Make it even easier to build Open Data MCP servers
We are very early, and lack of dataset available is currently the bottleneck. Help yourself! Create your Open Data MCP server and get users to use it as well from their LLMs applications. Let’s connect LLMs to the millions of open datasets from governments, public entities, companies and NGOs!
As Anthropic's MCP evolves we will adapt and upgrade Open Data MCP.
Limitations
- All data served by Open Data MCP servers should be Open.
- Please oblige to the data licenses of the data providers.
- Our License must be quoted in commercial applications.
References
- Kudos to Anthropic's open source MCP release enabling initiative like this one.
License
This project is licensed under the MIT License - see the LICENSE file for details
Frequently asked questions
What is opendatamcp?
opendatamcp is Connect any Open Data to any LLM with Model Context Protocol. Python-based implementation.
How do I install opendatamcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is opendatamcp open source?
Yes — it is hosted on GitHub at https://github.com/OpenDataMCP/OpenDataMCP and has 139 stars.
Related MCP tools
基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择ChatGPT/Claude/DeepSeek/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。
Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth! Python-based implementation. Trusted by 11000+ developers.
Build effective agents using Model Context Protocol and simple workflow patterns Python-based implementation. Trusted by 7600+ developers.
ACI.dev is the open source tool-calling platform that hooks up 600+ tools into any agentic IDE or custom AI agent through direct function calling or a unifie...
A.I.G (AI-Infra-Guard) is a comprehensive, intelligent, and easy-to-use AI Red Teaming platform developed by Tencent Zhuque Lab.
AI conversations that actually remember. Never re-explain your project to Claude again. Local-first, integrates with Obsidian.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP