OpenDataMCP
Connect any Open Data to any LLM with Model Context Protocol.
claude mcp add --transport stdio opendatamcp-opendatamcp python -m odmcp
How to use
OpenDataMCP provides an Open Data focused Model Context Protocol (MCP) server implementation built in Python. It offers a CLI-based workflow to access, query, and publish open datasets so you can surface data to LLMs in a structured, governed manner. The repository ships with a provider framework and templates to add new data sources as Tools or Resources, enabling active querying, parameter-based filtering, and data publishing templates. You can run the MCP server to expose your data through the provided endpoints and use the experimental client to validate provider endpoints within an MCP-enabled workflow.
To use it, install the required tooling (UV for the CLI workflow, and Python dependencies for the MCP server), then start the server via the Python module entry point. The project emphasizes a provider-based approach: add a module under src/odmcp/providers, implement the Tool/Resource interfaces, and test with the included client utilities. The OpenDataMCP CLI (uvx odmcp) drives setup and management of provider MCP servers in your Claude or LLM workflow, enabling you to connect LLMs to open data sources and publish datasets through templates and guidelines from the project.
How to install
Prerequisites
- Python 3.9+ and pip
- uv (UV Package Manager) for CLI workflow management (macOS/Windows/Linux)
- Git
Installation steps
- Install UV (prerequisite for the CLI tooling)
- 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 | sh
- Install Python package odmcp from PyPI (or install from source if contributing)
- Python package (recommended): python -m pip install --upgrade pip pip install odmcp
- Prepare repository and dependencies (optional for development):
- git clone https://github.com/OpenDataMCP/OpenDataMCP.git
- cd OpenDataMCP
- python -m pip install -e .[dev] # if developing with extras
- Run the MCP server (as described by the project):
- python -m odmcp
- Validate the setup with the experimental client as described in the docs (uv run ...)
Notes
- Ensure you have network access to fetch datasets or remote providers configured by your MCP setup.
- If running CLI tooling with Claude Desktop integration, follow the provider setup steps in the repository to configure specific MCP providers.
Additional notes
Environment and configuration tips:
- The provider modules live under src/odmcp/providers/. Create new modules following the naming convention {country_code}_{organization}.py (e.g., ch_sbb.py) and implement the required Tools/Resources with clear input/output schemas using Pydantic.
- Use the experimental UV client to validate endpoints: uv run src/odmcp/providers/client.py
- For publishing data, UV-based workflows and pre-commit hooks help maintain code quality; install pre-commit and run uv sync as described in the docs.
- If you encounter issues with CI or packaging, ensure Python dependencies match the project’s pinned versions and that you’re using a compatible UV version for your OS.
Related MCP Servers
mcp-agent
Build effective agents using Model Context Protocol and simple workflow patterns
mcp-reddit
A Model Context Protocol (MCP) server that provides tools for fetching and analyzing Reddit content.
mcp-aktools
📈 提供股票、加密货币的数据查询和分析功能MCP服务器
edumcp
EDUMCP is a protocol that integrates the Model Context Protocol (MCP) with applications in the education field, dedicated to achieving seamless interconnection and interoperability among different AI models, educational applications, smart hardware, and teaching AGENTs.
TradingAgents mode
TradingAgents-MCPmode 是一个创新的多智能体交易分析系统,集成了 Model Context Protocol (MCP) 工具,实现了智能化的股票分析和交易决策流程。系统通过多个专业化智能体的协作,提供全面的市场分析、投资建议和风险管理。
lihil
2X faster ASGI web framework for python, offering high-level development, low-level performance.