README
🚀 ABS 数据流协议 (MCP) 服务器
本项目是一个 MCP(模型上下文协议)服务器,可提供对澳大利亚统计局(ABS)数据 API 的访问。借助该服务器,AI 助手能够通过 SDMX - ML API 查询并分析 ABS 统计数据,为数据的获取与处理提供了便捷途径。
🚀 快速开始
本服务器可让 AI 助手通过 SDMX - ML API 对 ABS 统计数据进行查询和分析。以下是使用前的安装与运行步骤。
✨ 主要特性
- 🔍 可通过 SDMX - ML API 动态发现所有可用的 ABS 数据集。
- 🎯 支持使用可选过滤器查询 ABS 数据集。
- 📊 支持多种数据格式,如 JSON、CSV、XML。
- 🤝 基于 MCP 协议实现与 AI 助手的无缝集成。
- ⚡ 具备缓存系统,可有效提高性能。
- 📝 拥有全面的日志记录和错误处理机制。
📦 安装指南
在项目根目录下,执行以下命令进行依赖安装:
npm install
💻 使用示例
开发环境使用
先决条件
- 需要 Node.js 18 或更高版本。
- 需要 npm 8 或更高版本。
构建项目
npm run build
运行服务器
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 # 日志记录配置
与Claude Desktop集成
- 关闭正在运行的 Claude Desktop。
- 启动 ABS MCP 服务器:
npm start。 - 启动 Claude Desktop。
- ABS 工具应在“可用 MCP 工具”窗口中出现。
API 文档
有关 ABS 数据 API 的更多信息,可参考以下文档:
贡献方式
- 叉取仓库。
- 创建功能分支。
- 进行修改。
- 提交拉取请求。
🔧 技术细节
ABS API 客户端
ABSApiClient 类负责处理与 ABS 数据 API 的通信,具体特性如下:
- 使用 SDMX - ML 格式进行数据交换。
- 支持多种响应格式(JSON、CSV、XML)。
- 实现了错误处理和日志记录。
- 配置了超时时间和重试机制。
数据流服务
DataFlowService 类用于管理 ABS 数据流,具备以下功能:
- 动态从 ABS API 获取可用的数据集。
- 实现缓存功能,支持配置刷新间隔。
- 提供查询特定数据集的方法。
- 处理数据转换和格式化。
日志记录
使用 Winston 的全面日志系统,具有以下特点:
- 为开发提供调试级别的日志。
- 采用结构化的 JSON 格式日志。
- 支持控制台和文件传输选项。
- 可配置的日志级别和格式。
📄 许可证
本项目采用 MIT 许可证。
Scan to contact