使用说明

项目简介

该项目是一个实现了 Model Context Protocol (MCP) 的服务器,专门用于集成巴西国库债券(Tesouro Direto)的 API。它允许兼容 MCP 的大型语言模型 (LLM) 客户端通过标准化的接口访问巴西国库债券的市场数据、债券详情,并进行搜索和过滤。通过将金融数据转化为 LLM 可理解的上下文信息,该服务器极大地增强了 LLM 在金融领域的应用能力。

主要功能点

  • 市场数据查询: 提供获取巴西国库债券市场概况的能力,包括交易开放/关闭时间、当前市场状态等。
  • 债券详情获取: 支持根据指定的债券代码查询特定债券的详细信息,例如到期日、投资回报率、最低投资额等。
  • 债券搜索与过滤: 允许根据债券类型(如 SELIC、IPCA、PREFIXADO)和到期日期范围等条件搜索和过滤相关的债券列表。
  • 智能缓存: 实现了一个基于 API 数据更新时间戳的内存缓存机制,减少对外部 API 的调用次数,同时确保数据的新鲜度。

安装步骤

该服务器可以通过 npm 包管理器轻松安装和使用,或者从源代码构建。

通过 npm 安装:

确保你已经安装了 Node.js 和 npm/pnpm。然后可以使用 'npx' 直接运行:

npx -y tesouro-direto-mcp

'-y' 参数会自动确认安装包。

从源代码构建:

  1. 克隆仓库:
    git clone https://github.com/AtilioA/tesouro-direto-mcp.git
    cd tesouro-direto-mcp
  2. 安装依赖 (推荐使用 pnpm):
    pnpm install
    或者使用 npm:
    npm install
  3. 构建项目:
    pnpm run build
    # 或 npm run build

构建完成后,你可以直接运行服务器:

node dist/index.js

服务器配置

MCP 服务器通过标准输入/输出 (stdio) 或其他协议与 MCP 客户端通信。作为 MCP 客户端的用户,你需要将此服务器的启动命令配置到你的客户端应用中(例如 Cursor 或 Claude)。配置通常是一个 JSON 对象,指定服务器的名称、启动命令及其参数。

以下是根据该仓库信息生成的客户端配置示例:

{
    "mcpServers": {
        "tesouro-direto": {             // 服务器的唯一名称标识
            "command": "npx",           // 启动服务器的命令
            "args": [                   // 传递给命令的参数
                "-y",                   //   -y 参数用于 npx 自动安装
                "tesouro-direto-mcp"    //   要执行的 npm 包名称
            ],
            "env": {                    // 可选:设置环境变量
                "USE_MCP_CACHE": "true" //   启用服务器的缓存功能
            }
        }
    }
}

将此 JSON 配置添加到你的 MCP 客户端的相应配置文件中(例如 '~/.cursor/mcp.json' 或 'claude_desktop_config.json'),客户端启动时就会尝试连接并使用此 Tesouro Direto MCP 服务器。

基本使用方法

配置完成后,兼容 MCP 的 LLM 客户端将能够识别并调用该服务器提供的能力(工具和资源)。你可以像与 LLM 自然对话一样,提出与巴西国库债券相关的问题或请求,LLM 客户端会利用这个 MCP 服务器来获取必要的数据。

例如,在支持 MCP 的客户端中,你可以尝试使用以下自然语言指令:

  • "展示所有可用的 Tesouro Direto 债券" (Show all available Tesouro Direto bonds) - 客户端可能会使用服务器的资源列表或搜索工具。
  • "获取 IPCA+ 2029 债券的详细信息" (Get details for the bond IPCA+ 2029) - 客户端可能会调用 'bond_data' 工具。
  • "搜索 2045 年后到期的 IPCA 债券" (Search for IPCA bonds maturing after 2045) - 客户端可能会调用 'search_bonds' 工具。
  • "当前的国库债券市场状态是什么?" (What is the current treasury bond market status?) - 客户端可能会调用 'market_data' 工具或读取市场资源。

通过这种方式,LLM 获得了访问实时(或带缓存)巴西国库债券数据的能力。

信息

分类

商业系统