内容
# MCP 数据 Uruguay
本仓库包含乌拉圭[开放数据门户](https://catalogodatos.gub.uy/)的声明式数据集定义。
**注意:** 这是一个处于 Alpha 阶段的进行中的工作。
## 测试

这已经准备好与 OKFN MCP 服务器一起运行,该服务器定义在 https://github.com/okfn/mcp-server 中。
## 将此内容添加到 OKFN MCP 服务器
将此仓库添加到您的 MCP 服务器配置中,编辑 `deploy/tool_sources.yaml` 文件,并添加如下的新条目:
```yaml
- name: mcp-datos-uruguay
repo: git@github.com:okfn/mcp-datos-uruguay.git
# path 是 MCP 工具所在的位置
path: datasets
ref: main
# 如果仓库是私有的,请使用密钥
# 该私钥文件应使用以下命令生成:
# ssh-keygen -t ed25519 -f keys/mcp-datos-uruguay-key -N "" -C "deploy@mcp-server"
# 然后将该公钥添加到 GitHub 仓库的部署密钥中(只需读取权限即可)
# 该密钥必须部署在 MCP 服务器的文件系统中,路径如下所示,私钥文件权限应设置为 600(仅所有者可读/写)
# key: deploy/keys/mcp-datos-uruguay-key
```
## 工作原理
您可以定义 Python 手动工具或创建 `.yaml` 文件,以声明方式定义数据集及其 MCP 工具。
## `compras-ocds` 数据集:数据库位置
OCDS 采购数据集使用一个 SQLite 数据库(约 1GB),该数据库由 `src/mcp_ckan_datos_uruguay/datasets/compras_ocds/load_db.py` 脚本从年度压缩包生成。
数据库 **不被打包**:两个进程(加载和查询)解析相同的路径,以便 `load_db.py` 编写的数据库能被 MCP 服务器在 `pip install` 后读取。
## 添加新数据集
1. 在 `datasets/` 目录中创建一个新的 `.yaml` 文件
2. 配置合适的 `engine`。请在 https://github.com/okfn/mcp-server/tree/main/src/mcp_server/engines 中了解更多信息
3. 定义 `dataset` 元数据和 `source`(CSV 网址)
4. 使用参数和逻辑定义 `tools`
5. 将更改推送到此仓库,并在 MCP 服务器上获取数据