Back to MCP directory
publicPublicdnsLocal runtime

cbn_mcp

一个用于访问尼日利亚中央银行数据和通告的MCP服务器,提供监管信息查询、汇率数据和金融指标获取等功能,支持与AI助手集成。

article

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:下载预构建的二进制文件(最简单)

  1. 访问 发布页面 📦
  2. 下载 cbn_mcp 可执行文件 ⬇️
  3. 赋予执行权限:chmod +x cbn_mcp 🔧
  4. 使用路径:/path/to/cbn_mcp 📁

🎯 选项2:使用Dart运行(如果已安装Dart)

  1. 克隆此仓库:git clone https://github.com/chiziaruhoma/cbn_mcp.git 📂
  2. 进入项目目录:cd cbn_mcp 📍
  3. 安装依赖:dart pub get 📦
  4. 运行命令:dart run bin/main.dart ▶️

🔨 选项3:从源代码构建

  1. 按照选项2的步骤1 - 3操作 ⬆️
  2. 构建可执行文件:dart compile exe bin/main.dart -o cbn_mcp 🏗️
  3. 使用路径:/path/to/cbn_mcp 📁

🤖 与AI应用程序集成

💻 Cursor IDE

  1. 打开Cursor设置(Cmd/Ctrl + ,) ⚙️

  2. 进入 "功能" → "模型上下文协议" 🔧

  3. 使用以下 任一配置 添加新的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"
    }
    
  4. 重启Cursor 🔄

  5. 现在你可以提问,例如:"本月最新的CBN通告有哪些?" 或 "查找CBN关于外汇交易的规定" 💬

🖥️ Claude Desktop

  1. 打开Claude Desktop设置 ⚙️

  2. 导航到MCP服务器配置页面 🔧

  3. 使用以下 任一配置 添加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"
        }
      }
    }
    
  4. 重启Claude Desktop 🔄

  5. 在对话中即可使用CBN数据访问工具 🎉

🌐 其他支持MCP的应用程序

对于任何支持MCP的应用程序 🔌

  1. 添加指向 cbn_mcp 可执行文件的服务器配置 📝
  2. 服务器将为你的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

🛠️ 环境设置

  1. 克隆仓库:

    git clone https://github.com/chiziaruhoma/cbn_mcp.git
    cd cbn_mcp
    
  2. 安装依赖:

    dart pub get
    
  3. 生成可映射类(如果需要):

    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     # 基础服务类

🤝 贡献代码

  1. 分叉此仓库
  2. 创建特性分支(git checkout -b feature/amazing-feature
  3. 提交更改(git commit -m 'Add some amazing feature'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 发起拉取请求

📖 API文档

本项目集成了尼日利亚中央银行的公共API。有关可用端点的更多信息,请访问 CBN开发者门户

📄 许可证

本项目采用MIT许可证 - 详情请参阅 LICENSE 文件。

🙏 致谢

  • 尼日利亚中央银行为我们提供了公共API
  • MCP社区制定了协议规范
  • mcp_server_dart 提供了Dart MCP框架
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client