README
🚀 尼日利亚中央银行(CBN)模型上下文协议(MCP)服务器 🏦
CBN MCP服务器是一个用于访问尼日利亚中央银行(CBN)数据和通告的模型上下文协议(MCP)服务器。将此服务器连接到Cursor、Claude Desktop或任何支持MCP的应用程序,即可在AI对话中直接访问CBN的监管信息。 🚀
基于 mcp_server_dart 构建 - 这是我创建的一个对开发者友好的Dart MCP框架,支持注解和代码生成。 💪
✨ 主要特性
🛠️ MCP工具
📋 通告工具
- getAllCirculars:获取所有CBN通告,可根据日期范围和类别进行筛选 📋
- getCircularById:通过通告ID获取特定的CBN通告 🔍
- searchCirculars:根据标题或描述关键词搜索CBN通告 🔎
- fetchCircularPdf:下载并读取CBN通告的PDF内容 📄
- fetchCircularPdfById:通过通告ID下载PDF内容 📥
- getCircularPdfUrl:通过通告ID获取CBN通告PDF的直接下载URL 🔗
- getCircularsForLLMAnalysis:获取最近的CBN通告,并附带适合大语言模型(LLM)分析的PDF URL 🤖
💱 汇率工具
- getAllExchangeRates:获取所有CBN汇率,可根据日期范围和货币进行筛选 💱
- getExchangeRateById:通过汇率ID获取特定的CBN汇率 🔍
📊 金融数据工具
- getAllFinancialData:获取所有CBN金融数据,可根据日期范围和金融指标进行筛选 📊
- getFinancialDataById:通过金融数据ID获取特定的CBN金融数据 🔍
📚 MCP资源
- cbnApiStatus:CBN API连接的当前状态和健康状况 💚
- serverInfo:此CBN MCP服务器的相关信息 ℹ️
- availableCircularPdfs:可用通告PDF的列表及其URI 📄
- randomFact:一条关于CBN的随机趣闻 🎲
💬 MCP提示
- circularSummary:生成用于分析CBN通告的摘要提示 📊
- regulatoryAnalysis:生成用于分析CBN通告合规性的提示 ⚖️
🚀 快速开始
⚡ 选项1:下载预构建的二进制文件(最简单)
- 访问 发布页面 📦
- 下载
cbn_mcp可执行文件 ⬇️ - 赋予执行权限:
chmod +x cbn_mcp🔧 - 使用路径:
/path/to/cbn_mcp📁
🎯 选项2:使用Dart运行(如果已安装Dart)
- 克隆此仓库:
git clone https://github.com/chiziaruhoma/cbn_mcp.git📂 - 进入项目目录:
cd cbn_mcp📍 - 安装依赖:
dart pub get📦 - 运行命令:
dart run bin/main.dart▶️
🔨 选项3:从源代码构建
- 按照选项2的步骤1 - 3操作 ⬆️
- 构建可执行文件:
dart compile exe bin/main.dart -o cbn_mcp🏗️ - 使用路径:
/path/to/cbn_mcp📁
🤖 与AI应用程序集成
💻 Cursor IDE
-
打开Cursor设置(Cmd/Ctrl + ,) ⚙️
-
进入 "功能" → "模型上下文协议" 🔧
-
使用以下 任一配置 添加新的MCP服务器 📝
使用预构建的二进制文件 ⚡
{ "name": "cbn-mcp", "command": "/path/to/cbn_mcp" }使用Dart(如果已安装Dart) 🎯
{ "name": "cbn-mcp", "command": "dart", "args": ["run", "bin/main.dart"], "cwd": "/path/to/cbn_mcp" } -
重启Cursor 🔄
-
现在你可以提问,例如:"本月最新的CBN通告有哪些?" 或 "查找CBN关于外汇交易的规定" 💬
🖥️ Claude Desktop
-
打开Claude Desktop设置 ⚙️
-
导航到MCP服务器配置页面 🔧
-
使用以下 任一配置 添加CBN MCP服务器 📝
使用预构建的二进制文件 ⚡
{ "mcpServers": { "cbn-mcp": { "command": "/path/to/cbn_mcp" } } }使用Dart(如果已安装Dart) 🎯
{ "mcpServers": { "cbn-mcp": { "command": "dart", "args": ["run", "bin/main.dart"], "cwd": "/path/to/cbn_mcp" } } } -
重启Claude Desktop 🔄
-
在对话中即可使用CBN数据访问工具 🎉
🌐 其他支持MCP的应用程序
对于任何支持MCP的应用程序 🔌
- 添加指向
cbn_mcp可执行文件的服务器配置 📝 - 服务器将为你的AI助手提供CBN数据访问工具 🤖
💻 使用示例
集成完成后,你可以向AI助手提问: 🗣️
📋 通告示例
- "本月最新的CBN通告有哪些?" 📅
- "查找所有与加密货币相关的CBN规定" 💰
- "获取CBN通告BSD/DIR/GEN/LAB/11/020的详细信息" 🔍
- "总结近期CBN货币政策通告的要点" 📊
- "根据近期CBN通告,银行的合规要求有哪些?" ⚖️
💱 汇率示例
- "当前美元兑尼日利亚奈拉(USD/NGN)的汇率是多少?" 💵
- "显示过去一周的汇率" 📈
- "获取CBN官方公布的欧元兑尼日利亚奈拉(EUR/NGN)的汇率" 💶
📊 金融数据示例
- "当前CBN货币政策的参数有哪些?" 🏛️
- "显示上个月的回购利率" 📊
- "当前的现金准备金率是多少?" 💰
- "获取本季度的期初余额数据" 📅
👨💻 开发
📋 前提条件
- Dart SDK ^3.9.2
- Git
🛠️ 环境设置
-
克隆仓库:
git clone https://github.com/chiziaruhoma/cbn_mcp.git cd cbn_mcp -
安装依赖:
dart pub get -
生成可映射类(如果需要):
dart run build_runner build
▶️ 运行服务器
# 直接使用Dart运行
dart run bin/main.dart
# 或者构建并运行可执行文件
dart compile exe bin/main.dart -o cbn_mcp
./cbn_mcp
🧪 测试
dart test
📦 构建发行版
# 构建可执行文件
dart compile exe bin/main.dart -o cbn_mcp
# 可将可执行文件分发到任何兼容系统并运行
📁 项目结构
lib/
├── cbn.dart # 主MCP服务器类
├── cbn.mcp.dart # 生成的MCP注解
├── core/
│ ├── api/
│ │ └── api_client.dart # CBN API的HTTP客户端
│ └── utils/
│ └── logger.dart # 日志工具
├── models/ # 带有可映射注解的数据模型
│ ├── circular.dart # 通告数据模型
│ ├── financials.dart # 金融数据模型
│ ├── rates.dart # 汇率模型
│ ├── random.dart # 随机趣闻模型
│ └── models.dart # 基础模型类
└── services/ # 业务逻辑服务
├── circulars.dart # 通告API服务
├── financials.dart # 金融数据服务
├── rates.dart # 汇率服务
├── prompt.dart # MCP提示服务
├── status.dart # 状态和信息服务
└── services.dart # 基础服务类
🤝 贡献代码
- 分叉此仓库
- 创建特性分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 发起拉取请求
📖 API文档
本项目集成了尼日利亚中央银行的公共API。有关可用端点的更多信息,请访问 CBN开发者门户。
📄 许可证
本项目采用MIT许可证 - 详情请参阅 LICENSE 文件。
🙏 致谢
- 尼日利亚中央银行为我们提供了公共API
- MCP社区制定了协议规范
- mcp_server_dart 提供了Dart MCP框架
扫码联系在线客服