开放数据协议服务器

Benin OpenData MCP 是一个用于浏览和消费贝宁公共数据的服务器,支持通过API进行读写操作。

  • by Deepak8858
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Deepak8858/opendata-bj-mcp

使用说明

贝宁开放数据MCP

服务器MCP(模型上下文协议),用于浏览和消费贝宁的公共数据。

安装

pip install -e ".[test]"

认证

该MCP服务器与贝宁的OpenData门户进行交互。身份验证取决于操作类型:

操作 需要API密钥 说明
讲座 (搜索、预览、下载) ❌ 可选 无需身份验证即可访问公共数据
写作 (批量上传) ✅ 必需 需要具有写入权限的API密钥

获取API密钥

对于批量上传操作,请联系贝宁OpenData门户管理部门以获取API密钥。

API密钥配置

如果您有API密钥,请通过环境变量进行配置:

export BENIN_OPEN_DATA_API_KEY="votre_cle_api_ici"

用法

在本地启动服务器:

# Sans clé API (lecture seule)
fastmcp run src/opendata_bj/server.py

# Avec clé API (lecture + écriture)
BENIN_OPEN_DATA_API_KEY="votre_cle" fastmcp run src/opendata_bj/server.py

与Docker一起使用

您也可以通过Docker运行此MCP服务器。

  1. 构建Docker映像:
docker build -t opendata-bj-mcp .
  1. 启动容器(只读):
docker run -i --rm opendata-bj-mcp
  1. 启动容器(使用API键进行写入操作):
docker run -i --rm \
  -e BENIN_OPEN_DATA_API_KEY="votre_cle_api_ici" \
  opendata-bj-mcp

(L选项 -i 使用时,MCP服务器通过 stdio)

MCP客户端中的配置

应用程序运行后,您可以通过输入以下配置将其与MCP兼容客户端(如Claude Desktop、Cursor、OpenClaw等)集成:

Claude桌面示例(claude_desktop_config.json)光标:

选项1:在本地使用Python(只读)

{
  "mcpServers": {
    "opendata-bj": {
      "command": "fastmcp",
      "args": ["run", "/chemin/absolu/vers/opendata-bj-mcp/src/opendata_bj/server.py"]
    }
  }
}

选项2:在本地使用Python(带API密钥)

{
  "mcpServers": {
    "opendata-bj": {
      "command": "fastmcp",
      "args": ["run", "/chemin/absolu/vers/opendata-bj-mcp/src/opendata_bj/server.py"],
      "env": {
        "BENIN_OPEN_DATA_API_KEY": "votre_cle_api_ici"
      }
    }
  }
}

选项3:使用Docker(只读)

{
  "mcpServers": {
    "opendata-bj": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "opendata-bj-mcp"
      ]
    }
  }
}

选项4:使用Docker(带API密钥)

{
  "mcpServers": {
    "opendata-bj": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "BENIN_OPEN_DATA_API_KEY=votre_cle_api_ici",
        "opendata-bj-mcp"
      ]
    }
  }
}

(确保 fastmcp 全球可访问性良好,或指定虚拟环境的绝对路径)

建筑

受项目启发 Collegue该架构通过Pydantic v2支持模块化和严格的数据验证。