项目简介
本项目 '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),用于网络信息检索。
安装步骤
-
克隆仓库
git clone https://github.com/rppth/amazon-bedrock-agents-financial-services-examples cd amazon-bedrock-agents-financial-services-examples -
安装依赖
进入 'src/InlineAgent' 目录并安装必要的 Python 包:
cd src/InlineAgent pip install -e . -
配置环境变量
部分 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' 需要替换为实际仓库在您本地文件系统中的路径。
基本使用方法
-
启动 MCP 服务器: 根据需要选择并启动相应的 MCP 服务器。例如,要启动 'python-repl' 服务器,可以进入 'mcp_servers/python-repl' 目录,并运行 'python main.py'。其他服务器的启动方式类似,请参考每个服务器目录下的 'README.md' 或 'main.py' 文件。
-
配置 MCP 客户端: 在 MCP 客户端中,配置对应 MCP 服务器的连接参数,例如服务器名称、启动命令及其参数。
-
使用 Agent 调用 MCP 工具: 在 Amazon Bedrock Agent 的指令 (instruction) 中,描述如何使用这些 MCP 服务器提供的工具,并指示 Agent 在需要时调用这些工具来获取上下文信息或执行特定功能。
-
探索示例: 仓库的 'insurance' 和 'capital_markets' 目录下提供了使用这些 MCP 服务器的行业应用示例,可以参考这些示例来理解如何将 MCP 服务器集成到 Agent 应用中。
信息
分类
商业系统