
Abs
澳大利亚统计局的MCP服务器
概述
ABS MCP 服务器
一个提供访问澳大利亚统计局 (ABS) 数据 API 的 MCP(模型上下文协议)服务器。该服务器允许 AI 助手通过 SDMX-ML API 查询和分析 ABS 统计数据。
功能
- 通过 SDMX-ML API 动态发现所有可用的 ABS 数据集
- 带可选过滤器查询 ABS 数据集
- 支持多种数据格式(JSON、CSV、XML)
- 基于 MCP 协议,与 AI 助手无缝集成
- 缓存系统以提高性能
- 全面的日志记录和错误处理
安装
bash
npm install
开发
前提条件
- Node.js 18 或更高版本
- npm 8 或更高版本
构建
bash
npm run build
运行
bash
npm start
开发工具
npm run build
: 构建 TypeScript 代码npm start
: 运行服务器npm run inspector
: 运行 MCP 检查器进行测试
项目结构
src/
├── index.ts # 主服务器实现
├── services/
│ └── abs/
│ ├── ABSApiClient.ts # ABS API 通信
│ └── DataFlowService.ts # 数据流管理和缓存
├── types/
│ └── abs.ts # TypeScript 类型定义
└── utils/
└── logger.ts # 日志配置
实现细节
ABS API 客户端
ABSApiClient
类处理与 ABS 数据 API 的通信:
- 使用 SDMX-ML 格式进行数据交换
- 支持多种响应格式(JSON、CSV、XML)
- 实现适当的错误处理和日志记录
- 可配置的超时和重试
数据流服务
DataFlowService
类管理 ABS 数据流:
- 从 ABS API 动态获取可用数据集
- 实现带有可配置刷新间隔的缓存
- 提供查询特定数据集的方法
- 处理数据转换和格式化
日志记录
使用 Winston 的全面日志系统:
- 开发调试级别的日志记录
- 结构化的 JSON 日志格式
- 控制台和文件传输选项
- 可配置的日志级别和格式
与 Claude Desktop 集成
- 如果 Claude Desktop 正在运行,请关闭它
- 启动 ABS MCP 服务器:
npm start
- 启动 Claude Desktop
- ABS 工具应出现在“可用的 MCP 工具”窗口中
API 文档
有关 ABS 数据 API 的更多信息:
贡献
- 分叉仓库
- 创建功能分支
- 进行更改
- 提交拉取请求
许可证
MIT 许可证