本项目是一个基于Model Context Protocol (MCP) 的服务器实现,用于通过结构化的方式访问以色列的OpenBudget开放政府财政数据。
项目简介
OpenBudget MCP Server 作为OpenBudget API与支持MCP协议的LLM客户端之间的桥梁。它将复杂的API调用封装为标准化的MCP工具和资源,使得LLM能够理解并利用以色列的预算、合同、政府支持等公开数据。
主要功能点
- 访问公开财政数据: 允许客户端获取以色列政府的预算数据、收入数据、支持信息、合同信息等。
- 数据集信息查询: 提供工具让客户端了解可用数据集的结构和列信息。
- 全文本搜索: 支持在特定数据集中执行关键词搜索,快速定位相关信息。
- SQL查询能力: 提供工具允许客户端直接使用SQL查询语言在指定数据集上执行更复杂的数据检索和分析。
- 可用数据集列表: 作为一个资源提供所有可用数据集的列表,方便客户端发现能力。
安装步骤
- 克隆仓库到本地:
git clone https://github.com/david-aftergut/OpenBudget-mcp.git cd OpenBudget-mcp - 使用 uv 包管理器创建并激活虚拟环境:
uv venv # 在 Windows 上: .venv\Scripts\activate # 在 macOS/Linux 上: source .venv/bin/activate - 安装项目依赖:
uv pip install -r pyproject.toml - 生成锁文件(可选,但推荐):
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