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 Windows Open Data MCP - CLI Tool Overview Example Quickstart for the Switzerland SBB (train company) provider: Restart 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** 2. **Clone & Setup Repository** 3. **Install Pre-commit Hooks** Publishing Instructions 1. **Create a New Provider Module** * Each data source needs its own python module. * Create a new Python module in src/odmcp/providers/. * Use a descriptive name following the pattern: {country_code}_{organization}.py (e.g., ch_sbb.py). * Start with our template file as your base. 2. **Implement Required Components** * Define your Tools & Resources following the template structure * Each Tool or Resource should have: - Clear description of its purpose - Well-defined input/output schemas using Pydantic models - Proper error handling - Documentation strings 3. **Tool vs Resource** * Choose **Tool** implementation if your data needs: - Active querying or computation - Parameter-based filtering - Complex transformations * Choose **Resource** implementation if your data is: - Static or rarely changing - Small enough to be loaded into memory - Simple file-based content - Reference documentation or lookup tables * Reference the MCP documentation for guidance 4. **Testing** * Add tests in the tests/ directory * Follow existing test patterns (see other provider tests) * Required test coverage: - Basic functionality - Edge cases - Error handling 5. **Validation** * Test your MCP server using our experimental client: uv run src/odmcp/providers/client.py * Verify all endpoints respond correctly * Ensure error messages are helpful * Check performance with typical query loads 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