本项目是一个基于Model Context Protocol (MCP) 的服务器实现,用于通过结构化的方式访问以色列的OpenBudget开放政府财政数据。

项目简介

OpenBudget MCP Server 作为OpenBudget API与支持MCP协议的LLM客户端之间的桥梁。它将复杂的API调用封装为标准化的MCP工具和资源,使得LLM能够理解并利用以色列的预算、合同、政府支持等公开数据。

主要功能点

  • 访问公开财政数据: 允许客户端获取以色列政府的预算数据、收入数据、支持信息、合同信息等。
  • 数据集信息查询: 提供工具让客户端了解可用数据集的结构和列信息。
  • 全文本搜索: 支持在特定数据集中执行关键词搜索,快速定位相关信息。
  • SQL查询能力: 提供工具允许客户端直接使用SQL查询语言在指定数据集上执行更复杂的数据检索和分析。
  • 可用数据集列表: 作为一个资源提供所有可用数据集的列表,方便客户端发现能力。

安装步骤

  1. 克隆仓库到本地:
    git clone https://github.com/david-aftergut/OpenBudget-mcp.git
    cd OpenBudget-mcp
  2. 使用 uv 包管理器创建并激活虚拟环境:
    uv venv
    # 在 Windows 上:
    .venv\Scripts\activate
    # 在 macOS/Linux 上:
    source .venv/bin/activate
  3. 安装项目依赖:
    uv pip install -r pyproject.toml
  4. 生成锁文件(可选,但推荐):
    uv lock

服务器配置

本 MCP 服务器通过标准输入/输出 (Stdio) 或其他协议与 MCP 客户端通信。要让您的 MCP 客户端 (如支持 MCP 的 LLM 应用程序) 能够连接并使用此服务器,您需要在客户端配置中提供服务器的启动方式信息。

您需要提供以下信息给 MCP 客户端:

  • 服务器名称 (Server Name): OpenBudget
  • 启动命令 (Command) 及其参数 (Args): 客户端需要知道执行哪个命令来启动服务器进程。对于此项目,使用 fastmcp 工具来运行服务器脚本。标准的启动方式是执行 'fastmcp run server.py' 命令。因此,启动命令通常是 'fastmcp',参数列表是 '["run", "server.py"]'。请查阅您的 MCP 客户端文档,了解如何输入这些配置信息。

例如,在某些客户端的配置界面中,您可能需要填写服务器名称为 'OpenBudget',并在命令行或启动路径设置中填写 'fastmcp run server.py' 或将 'command' 设为 'fastmcp','args' 设为 '["run", "server.py"]'。请根据您的具体客户端进行配置。

基本使用方法

一旦 MCP 客户端成功连接到 OpenBudget MCP Server,客户端 (通常是 LLM) 就可以发现并调用服务器提供的能力:

  • 发现可用数据集: LLM 可以读取 '/available_datasets' 资源来获取当前可查询的数据集列表。
  • 了解数据集结构: LLM 可以调用 'get_dataset_info' 工具,提供数据集名称作为参数,以获取该数据集的列信息和结构。
  • 搜索或查询数据: LLM 可以调用 'search_dataset' 工具进行模糊搜索,或调用 'query_dataset' 工具执行精确的 SQL 查询,从数据集中检索所需信息。LLM 会根据用户的提问,智能地选择调用哪个工具,并构造合适的参数(如搜索关键词或 SQL 语句)。

通过这些工具和资源,LLM 能够理解并响应关于以色列政府预算、合同等数据的用户询问。

信息

分类

网页与API