Skip to main content
Glama

Open Data Model Context Protocol

Official
by OpenDataMCP

开放数据模型上下文协议

vc3598_超现实_瑞士_景观_原始_SBB_红色_火车_p_40803c2e-43f5-410e-89aa-f6bdcb4cd089

观看实际操作

https://github.com/user-attachments/assets/760e1a16-add6-49a1-bf71-dfbb335e893e

我们实现了两件事:

  • 开放数据访问:直接从您的 LLM 应用程序访问许多公共数据集(从 Claude 开始,接下来会有更多)。

  • 发布:利用社区帮助和分发网络来发布您的开放数据。让每个人都能使用它!

我们该怎么做呢?

  • 访问:通过我们的 CLI 工具,只需单击两次即可在您的 LLM 应用程序中设置我们的 MCP 服务器(从 Claude 开始,请参阅路线图了解后续步骤)。

  • 发布:使用提供的模板和指南,快速在 Open Data MCP 上贡献和发布数据。让您的数据更容易被发现!

用法

访问:使用 Open Data MCP CLI 工具访问 Open Data

先决条件

如果您想将 Open Data MCP 与 Claude Desktop 应用客户端一起使用,则需要安装Claude Desktop 应用程序

您还需要uv来轻松运行我们的 CLI 和 MCP 服务器。

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 uv
视窗
# (UNTESTED) powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

开放数据 MCP - CLI 工具

概述
# 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_NAME
例子

瑞士 SBB(火车公司)提供商的快速入门:

# make sure claude is installed uvx odmcp setup ch_sbb

重新启动 Claude,您应该会在聊天右下角看到一个新的锤子图标。

您现在可以向 Claude 询问有关 SBB 火车网络中断的问题,它将根据在data.sbb.ch上收集的数据回答您的问题。

发布:通过构建和发布公共数据集做出贡献

先决条件

  1. 安装 UV 包管理器

    # 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
  2. 克隆和设置存储库

    # 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 sync
  3. 安装预提交钩子

    # Install pre-commit hooks for code quality pre-commit install

发布说明

  1. 创建新的提供程序模块

    • 每个数据源都需要自己的 python 模块。

    • src/odmcp/providers/中创建一个新的 Python 模块。

    • 使用以下模式��描述性名称: {country_code}_{organization}.py (例如, ch_sbb.py )。

    • 以我们的 模板文件作为基础开始。

  2. 实现所需的组件

    • 按照模板结构定义您的工具和资源

    • 每个工具或资源应该具有:

      • 清晰描述其目的

      • 使用 Pydantic 模型定义明确的输入/输出模式

      • 正确的错误处理

      • 文档字符串

  3. 工具与资源

    • 如果您的数据需要,请选择工具实现:

      • 主动查询或计算

      • 基于参数的过滤

      • 复杂的变换

    • 如果您的数据属于以下情况,请选择资源实施:

      • 静态或很少变化

      • 足够小,可以加载到内存中

      • 简单的基于文件的内容

      • 参考文档或查找表

    • 参考MCP 文档获取指导

  4. 测试

    • tests/目录中添加测试

    • 遵循现有的测试模式(参见其他提供商的测试)

    • 所需测试覆盖率:

      • 基本功能

      • 边缘情况

      • 错误处理

  5. 验证

    • 使用我们的实验客户端测试您的 MCP 服务器: uv run src/odmcp/providers/client.py

    • 验证所有端点正确响应

    • 确保错误消息有用

    • 使用典型查询负载检查性能

有关其他示例,请检查src/odmcp/providers/目录中现有的提供程序。

贡献

我们制定了雄心勃勃的路线图,希望这个项目能够与社区一起发展壮大。最终目标是将数百万个数据集公开提供给所有法学硕士(LLM)项目。

为此我们需要您的帮助!

不和谐

我们希望围绕将开放数据引入法学硕士课程这一挑战,建立一个互助社区。欢迎加入我们的 Discord 聊天: https://discord.gg/QPFFZWKW

我们的核心准则

由于我们的目标规模,我们希望一开始就保持简单务实。在社区出现问题时,及时解决。

  1. 简单性和可维护性

    • 尽量减少抽象,以保持代码库简单且可扩展

    • 专注于清晰、直接的实施

    • 避免不必要的复杂性

  2. 标准化/模板

    • 始终遵循提供的模板和指南

    • 保持跨提供商的统一结构

    • 对类似功能使用通用模式

  3. 依赖项

    • 将外部依赖降至最低

    • 优先考虑单个存储库/包设置

    • 仔细评估新依赖项的必要性

  4. 代码质量

    • 使用 ruff 格式化代码

    • 使用 pytest 保持全面的测试覆盖率

    • 遵循一致的代码风格

  5. 类型安全

    • 始终使用 Python 类型提示

    • 利用 Pydantic 模型进行 API 请求/响应验证

    • 确保数据处理中的类型安全

战术主题(我们当前的优先事项)

  • [x] 使用指南、测试框架和贡献工作流程初始化存储库

  • [x] 使用自动化 PyPI 发布实现 CI/CD 管道

  • [x] 开发提供程序模板和第一个参考实现

  • [ ]整合更多开放数据集(积极寻求贡献者)

  • [ ] 为资源和工具的选择建立明确的指导方针

  • [ ] 开发可扩展的存储库架构以实现长期增长

  • [ ] 扩展MCP SDK参数支持(鉴权、限速等)

  • [ ] 实现额外的 MCP 协议功能(提示、资源模板)

  • [ ] 添加对 stdio(SSE)以外的替代传输协议的支持

  • [ ] 部署托管的 MCP 服务器以提高可访问性

路线图

让我们共同构建开源基础设施,让所有 LLM 都能访问所有开放数据!

使用权:

  • 使开放数据可供所有 LLM 应用程序使用(Claude 之外)

  • 使开放数据数据源以可扩展的方式可搜索

  • 利用公共赞助的基础设施,通过 MCP 远程提供开放数据(SSE)

发布:

  • 构建许多开放数据 MCP 服务器,使所有开放数据真正可访问(我们需要您!)。

  • 我们这边正开始为瑞士构建 MCP 服务器~12k 开放数据集!

  • 让构建开放数据 MCP 服务器变得更加容易

我们处于非常早期的阶段,缺乏可用的数据集是目前的瓶颈。请自便!创建您的开放数据多方协作平台 (MCP) 服务器,并让用户在其法学硕士 (LLM) 申请中使用它。让我们将法学硕士 (LLM) 与来自政府、公共实体、公司和非政府组织的数百万个开放数据集连接起来!

随着 Anthropic 的 MCP 的发展,我们将调整和升级开放数据 MCP。

限制

  • Open Data MCP 服务器提供的所有数据都应该是开放的。

  • 请遵守数据提供商的数据许可。

  • 商业应用中必须引用我们的许可证。

参考

执照

该项目采用 MIT 许可证 - 有关详细信息,请参阅LICENSE文件

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    Enables integration with DuckDuckGo search capabilities for LLMs, supporting comprehensive web search, regional filtering, result types, and safe browsing with caching and customizable search parameters.
    Last updated -
    30
    3
    MIT License
  • -
    security
    F
    license
    -
    quality
    Provides read-only access to MongoDB databases for LLMs to inspect collection schemas and execute aggregation pipelines.
    Last updated -
    2
    26
    • Apple
  • A
    security
    A
    license
    A
    quality
    Enhances LLM capabilities with location-based services and geospatial data, enabling users to geocode addresses, find nearby points of interest, get directions, optimize meeting points, and analyze neighborhoods.
    Last updated -
    12
    117
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    Enhances LLM applications with deep autonomous web research capabilities, delivering higher quality information than standard search tools by exploring and validating numerous trusted sources.
    Last updated -
    249
    MIT License
    • Apple

View all related MCP servers

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/OpenDataMCP/OpenDataMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server