项目简介

本项目 'amazon-bedrock-agents-financial-services-examples' 仓库包含了一系列基于 Model Context Protocol (MCP) 构建的服务器实现,旨在为 Amazon Bedrock Agents 提供金融服务行业相关的上下文信息和工具支持。这些 MCP 服务器专注于金融领域,涵盖了金融数据集访问、经济数据检索、股票数据处理等功能,旨在帮助开发者构建更强大的金融服务 Agent 应用。

主要功能点

本项目提供的 MCP 服务器主要包含以下功能点:

  • 多样化的数据源访问: 提供了访问金融市场数据 (financial-datasets)、联邦储备经济数据 (FRED API)、雅虎财经数据 (Yahoo Finance) 等多种金融数据源的能力。
  • 代码执行环境: 集成了 Python REPL 环境 (python-repl),允许 Agent 执行 Python 代码进行数据分析和处理。
  • 知识库搜索: 支持 Amazon Bedrock Knowledge Bases 搜索 (bedrock-kb-search),方便 Agent 从知识库中检索信息。
  • 文件系统操作: 提供了文件系统操作能力 (filesystem),允许 Agent 读取和写入文件。
  • 网络信息检索: 集成了 Perplexity Search 服务 (perplexity-search),用于网络信息检索。

安装步骤

  1. 克隆仓库

    git clone https://github.com/rppth/amazon-bedrock-agents-financial-services-examples
    cd amazon-bedrock-agents-financial-services-examples
  2. 安装依赖

    进入 'src/InlineAgent' 目录并安装必要的 Python 包:

    cd src/InlineAgent
    pip install -e .
  3. 配置环境变量

    部分 MCP 服务器需要 API 密钥才能正常工作。请在每个 MCP 服务器目录(例如 'mcp_servers/fredapi')下创建 '.env' 文件,并根据 '.env.example' 文件的指示配置相应的 API 密钥,例如 FRED API Key ('FRED_API_KEY')、Financial Datasets API Key ('FINANCIAL_DATASETS_API_KEY') 和 Perplexity API Key ('PERPLEXITY_API_KEY')。

服务器配置

以下是一些 MCP 服务器的配置信息示例,MCP 客户端需要配置 'command' 和 'args' 以启动并连接到这些服务器。

1. Python REPL 服务器 (python-repl)

项目名称: 'python-repl'

{
  "server_name": "python-repl",
  "command": "uv",
  "args": [
    "--directory",
    "path/to/amazon-bedrock-agents-financial-services-examples/mcp_servers/python-repl",
    "run",
    "server.py"
  ]
}
  • 'server_name': 服务器名称,用于客户端识别。
  • 'command': 启动服务器的命令,这里使用 'uv' 运行 Python 脚本。
  • 'args': 传递给 'uv' 命令的参数,包括服务器脚本路径和运行命令。
    • '--directory': 指定工作目录为 'python-repl' 服务器目录。
    • 'run server.py': 运行 'server.py' 脚本启动服务器。

2. FRED API 服务器 (fredapi)

项目名称: 'fred'

{
  "server_name": "fred",
  "command": "uv",
  "args": [
    "--directory",
    "path/to/amazon-bedrock-agents-financial-services-examples/mcp_servers/fredapi",
    "run",
    "server.py"
  ]
}
  • 'server_name': 服务器名称,用于客户端识别。
  • 'command': 启动服务器的命令,同样使用 'uv' 运行 Python 脚本。
  • 'args': 传递给 'uv' 命令的参数,配置与 'python-repl' 类似,但指向 'fredapi' 服务器目录。

3. Perplexity Search 服务器 (perplexity-search)

项目名称: 'Perplexity Search'

{
  "server_name": "Perplexity Search",
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "PERPLEXITY_API_KEY",
    "mcp/perplexity-ask"
  ]
}
  • 'server_name': 服务器名称,用于客户端识别。
  • 'command': 启动服务器的命令,这里使用 'docker run' 运行 Docker 镜像。
  • 'args': 传递给 'docker run' 命令的参数。
    • '-i --rm': Docker 运行时参数,保持交互模式并容器退出后自动删除。
    • '-e PERPLEXITY_API_KEY': 设置 Perplexity API 密钥环境变量,注意客户端也需要配置该环境变量或在args中显式指定apikey
    • 'mcp/perplexity-ask': 指定要运行的 Docker 镜像名称。

请注意: 'path/to/amazon-bedrock-agents-financial-services-examples' 需要替换为实际仓库在您本地文件系统中的路径。

基本使用方法

  1. 启动 MCP 服务器: 根据需要选择并启动相应的 MCP 服务器。例如,要启动 'python-repl' 服务器,可以进入 'mcp_servers/python-repl' 目录,并运行 'python main.py'。其他服务器的启动方式类似,请参考每个服务器目录下的 'README.md' 或 'main.py' 文件。

  2. 配置 MCP 客户端: 在 MCP 客户端中,配置对应 MCP 服务器的连接参数,例如服务器名称、启动命令及其参数。

  3. 使用 Agent 调用 MCP 工具: 在 Amazon Bedrock Agent 的指令 (instruction) 中,描述如何使用这些 MCP 服务器提供的工具,并指示 Agent 在需要时调用这些工具来获取上下文信息或执行特定功能。

  4. 探索示例: 仓库的 'insurance' 和 'capital_markets' 目录下提供了使用这些 MCP 服务器的行业应用示例,可以参考这些示例来理解如何将 MCP 服务器集成到 Agent 应用中。

信息

分类

商业系统