MCP SCB服务器
用于PX Web统计API的通用模型上下文协议(MCP)服务器,从瑞典统计局(SCB)开始,可扩展到其他统计机构。
特性
- 通用工具 跨多个PX Web API工作
- 多API支持:瑞典统计局、芬兰统计局、冰岛、法罗群岛、格陵兰
- 自动生成的客户端和工具 使用Kubb的OpenAPI规范
- 速率限制合规性 针对不同的API
- 多语言支持 (英语、瑞典语、芬兰语等)
- 自定义端点支持 适用于任何兼容PX-Web的API
支持的API
- 瑞典统计局:
api.scb.se/OV0104/v1/doris/ - 芬兰统计局:
statfin.stat.fi/PXWeb/api/v1/ - 冰岛统计局:
px.hagstofa.is/px/api/v1/ - 法罗群岛统计局:
statbank.hagstova.fo/PXWeb/api/v1/ - 格陵兰国家银行:
bank.stat.gl/api/v1/ - 自定义端点:支持任何兼容PX-Web的API
安装
npm install
npm run generate # Generate code from OpenAPI specs
npm run build发展
# Test the API registry system
npm run demo
# Verify TypeScript compilation
npm run verify
# Development mode
npm run dev
# Generate code from OpenAPI specs
npm run generate用法
该服务器提供了7个通用工具,可在所有支持的API上工作:
核心工具
px_discover_apis-查找可用的统计API及其功能px_get_root_navigation-浏览根数据库结构px_get_navigation_by_path-导航到特定的数据库路径px_search_tables-使用筛选功能搜索统计表px_get_table_metadata-获取详细的表结构和变量px_query_table_data-检索实际统计数据px_get_api_config-获取API配置和限制
通用API访问
所有工具都接受 api_source 参数以针对不同的API:
// Query Sweden's statistics
{
"api_source": "scb",
"language": "en"
}
// Query Finland's statistics
{
"api_source": "statfi",
"language": "en"
}
// Use a custom PX-Web API
{
"api_source": "custom",
"custom_endpoint": "https://your-api.com/PXWeb/api/v1",
"language": "en"
}MCP服务器设置
1.启动服务器
# Development mode
npm run mcp:dev
# Production mode
npm run mcp:start2.配置克劳德桌面
看 claude-desktop-config.md 有关详细的设置说明。
3.测试服务器
# Test the API registry system
npm run demo查询示例
连接到Claude Desktop后,您可以问:
- *“有哪些统计API可用?”*
- *“显示瑞典的人口数据”*
- *“在芬兰统计局查找经济指标”*
- *“从多个北欧国家获取失业率”*
- *“比较瑞典和芬兰的人口数据”*
项目结构
src/-源代码src/generated/-根据OpenAPI规范自动生成的代码src/tools/-MCP工具实现specs/-OpenAPI规范scripts/-构建和维护脚本
故障排除
TypeScript编译错误
如果你遇到TypeScript错误:
- 导入扩展错误:运行
npm run generate使用固定导入重新生成代码 - 类型冲突:使用清除生成的文件
rm -rf src/generated然后npm run generate - 构建缓存问题:删除
dist/文件夹并运行npm run build
MCP服务器问题
- 服务器无法启动:
- 检查是否安装了所有依赖项: npm install - 验证TypeScript编译: npm run verify
- 工具不工作:
- 测试单个组件: npm run demo - 检查Claude桌面配置
- API费率限制:
- 每个统计机构都有不同的费率限制 - 服务器会自动遵守这些 - 如果遇到速率限制错误,请稍候
手动测试
您可以测试单个组件:
# Test the API registry system
npm run demo
# Verify TypeScript compilation
npm run verify
# Test the build process
npm run build