返回市场
绝对值服务

绝对值服务

作者:seansoreilly5 星标更新:2024-12-26

项目介绍

ABS MCP Server

一个提供访问澳大利亚统计局(ABS)数据API的MCP(Model Context Protocol)服务器。此服务器允许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          # 日志配置

实现细节

ABS API客户端

ABSApiClient类负责与ABS数据API的通信:

  • 使用SDMX-ML格式进行数据交换
  • 支持多种响应格式(JSON, CSV, XML)
  • 实现了适当的错误处理和日志记录
  • 可配置超时和重试机制

数据流服务

DataFlowService类管理ABS数据流:

  • 动态从ABS API获取可用的数据集
  • 实现了具有可配置刷新间隔的缓存机制
  • 提供查询特定数据集的方法
  • 处理数据转换和格式化

日志记录

使用Winston的全面日志系统:

  • 开发阶段的调试级别日志
  • 结构化的JSON日志格式
  • 控制台和文件传输选项
  • 可配置的日志级别和格式

与Claude Desktop的集成

  1. 如果正在运行,请关闭Claude Desktop
  2. 启动ABS MCP服务器:npm start
  3. 启动Claude Desktop
  4. ABS工具应出现在“可用MCP工具”窗口中

API文档

有关ABS数据API的更多信息:

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 提交拉取请求

许可证

MIT许可证