IMF-MCP
IMF-MCP是一项Python服务,使用FastMCP框架提供对国际货币基金组织(IMF)DataMapper API的编程访问。它公开了从IMF获取数据集、指标、国家和时间序列数据的工具。
特性
- 获取可用的IMF数据集
- 检索数据集的指标
- 列出数据集的国家
- 查询特定指标和国家的时间序列数据
- 异步HTTP请求实现高效数据访问
需求
安装
- 克隆此存储库:
git clone https://github.com/your-org/imf-mcp.git
cd imf-mcp- 使用安装依赖项
pyproject.toml:
pip install .
# or, if you use poetry:
poetry install用法
运行服务(stdio传输,用于Claude和其他MCP客户端):
python main.py
# or with uv:
uv run main.py对于本地HTTP测试(例如使用MCP检查器),请使用FastMCP CLI:
fastmcp run main.py --transport http --port 8080服务器注册了以下工具:
get_datasets:获取可用的IMF数据集get_indicators(dataset_id):获取数据集的指标get_countries(dataset_id):获取数据集的国家get_timeseries(indicator, countries, start, end):获取给定指标和国家在一年内的时间序列数据get_ifs_indicators()获取IFS(国际金融统计)指标代码;与...一起使用get_timeseriesget_ifs_countries():获取IFS国家/地区代码;与...一起使用get_timeseriesget_retrieval_guide():返回检索指南(markdown);回答IMF数据问题时先打电话
示例:获取数据集
您可以通过MCP接口或扩展项目来使用注册的工具。获取数据集的示例代码:
from main import get_datasets
import asyncio
async def main():
datasets = await get_datasets()
print(datasets)
asyncio.run(main())项目结构
main.py--主应用程序文件,定义所有工具并启动服务器README.md--项目文件CLAUDE.md--检索指南;暴露为工具get_retrieval_guide()作为MCP资源imf://retrieval-guide
发展
要添加新工具或扩展功能,请编辑 main.py 并使用 @mcp.tool() 装饰器用于注册新的异步函数。
与Claude一起使用IMF-MCP
使用IMF-MCP作为Claude工具
Claude(Anthropic的人工智能助手)可以作为工具自动启动IMF-MCP。你做 不 需要手动运行服务器。
配置示例(本地设置)
- 打开Claude设置并转到 开发者→ 编辑配置 (或添加/编辑MCP配置文件,例如。
claude_desktop_config.json或客户端使用的配置)。
- 向添加条目
mcpServers这样的部分:
"imf-mcp": {
"command": "uv",
"args": [
"--directory",
"/Users/yourusername/path/to/imf-mcp",
"run",
"main.py"
]
}- 替换 /Users/yourusername/path/to/imf-mcp 随着 绝对路径 给你的 imf-mcp 目录。 - 服务器运行超时 标准 默认情况下,这是Claude在启动流程时所期望的。 - 此示例使用 紫外线 因此,依赖关系来自 pyproject.toml 使用。您可以使用 python 相反,如果你在一个环境中跑步 pip install . 已运行:
"imf-mcp": {
"command": "python",
"args": ["/Users/yourusername/path/to/imf-mcp/main.py"]
}- 保存配置,必要时重新启动Claude。
- 当您要求Claude使用IMF工具(例如“列出可用的IMF数据集”)时,Claude将根据需要启动该工具。
检索指南: 服务器将指南公开为 工具: get_retrieval_guide()在回答IMF数据问题时,首先调用此函数以获取推荐的流(数据集ID,如IFS/WEO,然后是代码的get_indicators/get_countries,然后是get_timeseries)。相同的内容也作为MCP资源公开 imf://retrieval-guide 对于支持资源读取的客户端。
注: - 确保Python环境安装了所有依赖项(例如,通过uv pip install .或poetry install). - 您不需要自己启动服务器;克劳德将负责发射和通信。 - 有关高级配置,请参阅您的Claude平台文档以获取自定义工具集成。
使用Claude和IMF MCP的时间序列分析示例
https://claude.ai/public/artifacts/001c61fa-f349-4c53-962e-2b7a1093d8cd
许可证
MIT许可证。看 许可证 了解详情。
