项目简介

ABS MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它允许AI助手通过标准化的 MCP 协议访问澳大利亚统计局 (ABS) 的公开数据。该服务器充当 AI 助手和 ABS 数据 API 之间的桥梁,使得 AI 助手能够查询、分析和利用 ABS 提供的各种统计数据集。

主要功能点

  • 数据发现: 动态发现并展示 ABS 数据 API 中所有可用的数据集。
  • 数据集查询: 允许 AI 助手通过指定数据集ID和可选的过滤器来查询 ABS 数据。
  • 多数据格式: 支持 JSON、CSV 和 XML 等多种数据格式返回,以适应不同的数据处理需求。
  • MCP 协议: 完全基于 MCP 协议构建,确保与支持 MCP 协议的 AI 助手(如 Claude Desktop)无缝集成。
  • 性能优化: 内置缓存系统,减少对 ABS API 的重复请求,提高数据访问速度。
  • 稳定可靠: 提供全面的日志记录和错误处理机制,保证服务器的稳定运行。

安装步骤

  1. 安装 Node.js 和 npm: 确保您的系统已安装 Node.js (版本 18 或更高) 和 npm (版本 8 或更高)。您可以从 nodejs.org 下载并安装。
  2. 下载仓库代码: 将 GitHub 仓库 https://github.com/seansoreilly/abs 克隆到本地。
  3. 安装依赖: 在仓库根目录下打开终端,运行以下命令安装项目依赖:
    npm install

服务器配置

MCP 服务器是为 MCP 客户端(如 Claude Desktop)设计的。客户端需要配置服务器的启动信息才能连接并使用 ABS MCP Server 提供的工具。以下是客户端所需的配置信息 (JSON 格式):

{
  "serverName": "ABS MCP Server",  // MCP 服务器的名称,可自定义
  "command": "npm",             // 启动服务器的命令,这里使用 npm
  "args": [                      // 启动命令的参数
    "start"                     // npm start 命令会运行 package.json 中定义的 start 脚本,启动服务器
  ]
}

配置说明:

  • '"serverName"': 为 MCP 服务器指定一个易于识别的名称,这个名称会显示在 MCP 客户端的工具列表中。
  • '"command"': 指定用于启动 MCP 服务器的可执行命令。由于该项目使用 npm 管理和启动,所以这里设置为 '"npm"'。
  • '"args"': 一个字符串数组,包含传递给启动命令的参数。'"start"' 是 npm 的一个标准脚本命令,用于运行 'package.json' 中定义的启动脚本,该脚本会实际启动 ABS MCP Server。

MCP 客户端 (例如 Claude Desktop) 需要读取以上 JSON 配置信息,并使用配置中的 'command' 和 'args' 来启动 ABS MCP Server 进程。 客户端通常会提供一个界面让用户手动输入或导入这个 JSON 配置。

基本使用方法

  1. 启动 ABS MCP Server: 在仓库根目录下打开终端,运行以下命令启动服务器:

    npm start

    服务器成功启动后,您应该能在终端看到 'Server started successfully' 的提示信息。

  2. 配置 MCP 客户端: 打开您的 MCP 客户端 (例如 Claude Desktop),按照客户端的指引,配置 MCP 服务器连接。您需要提供上面 服务器配置 中生成的 JSON 信息给客户端。

  3. 在 MCP 客户端中使用 ABS 工具: 配置成功后,ABS MCP Server 提供的工具(例如 'query_dataset')应该会出现在 MCP 客户端的可用工具列表中。您可以在客户端中选择并调用这些工具,查询 ABS 数据。

例如,在 Claude Desktop 中使用 ABS 工具的步骤:

  1. 关闭 Claude Desktop (如果正在运行)。
  2. 启动 ABS MCP Server (按照上面的步骤)。
  3. 启动 Claude Desktop。
  4. 检查 Claude Desktop 的 "Available MCP Tools" 窗口,您应该能看到 "ABS MCP Server" 提供的工具,例如 'query_dataset'。

注意事项

  • 首次运行或长时间未运行时,服务器可能会花费一些时间从 ABS API 获取数据集列表并缓存。
  • 请参考仓库的 'README.md' 文件和代码注释获取更详细的信息。
  • 如果您在使用过程中遇到问题,请查阅日志文件 'logs/abs-error.log' 和 'logs/abs-info.log' 以获取更多错误或调试信息。

信息

分类

网页与API