在金融分析领域,每秒都有数百万笔股票交易流经市场,分析师需要从中寻找驱动交易决策的模式。传统上,金融机构使用时序数据库来分析高频市场数据,但复杂的查询语言往往成为障碍。Amazon Quick 的模型上下文协议(MCP)集成改变了这一局面,让分析师能够用自然语言提问,并直接从数据集获得可操作的洞察。
本文通过一个实际案例展示如何将 KDB-X MCP 服务器与 Amazon Quick 集成,构建一个对话式的市场情报分析工具。KDB-X 基于业界领先的 kdb+ 时序数据库,由向量语言 q 驱动,专为高性能时序分析而设计。这种集成模式不仅适用于金融领域,还可推广到物联网传感器监控、DevOps 性能仪表板等任何需要简化时序数据访问的场景。
解决方案的核心是 Amazon Quick,这是一个由生成式 AI 驱动的商业智能服务,能够帮助用户分析数据、创建可视化、自动化工作流并促进团队协作。通过 MCP 集成,Quick 可以连接到 MCP 服务器,实现任务执行和数据访问。MCP 提供了一种标准化方式,将 AI 系统与外部工具和数据源连接起来,从而扩展了 Quick 的能力边界。
整个架构的起点是在 Amazon EC2 实例上安装 KDB-X MCP 服务器。这个服务器需要持续运行,并建立与 KDB-X 服务的连接以执行查询。Amazon Quick 会将自然语言查询翻译成 SQL 语句,然后传递给 KDB-X MCP 服务器,由后者在 KDB-X 数据库上执行这些查询。
为了将 MCP 服务器与 Quick 连接起来,方案采用了 Amazon Bedrock AgentCore Gateway 作为认证和路由层。AgentCore Gateway 充当代理与工具交互的单一访问点。我们将 MCP 服务器配置为 Gateway 的目标,从而能够与运行在 EC2 上的 MCP 服务器通信。同时,我们为 Gateway 实现了入站授权,验证试图通过网关访问目标的用户。由于 Quick 的 MCP 集成需要认证凭证,网关的入站认证正好满足了这一要求。本方案使用 Amazon Cognito 作为身份提供商,负责访问 AgentCore Gateway 的认证。
在开始部署之前,需要确保满足以下先决条件:一个 AWS 账户、已设置 Amazon Quick 并拥有 Author Pro 订阅、具备创建 AWS 资源和 IAM 角色策略的权限、基本的 AWS 服务知识、能够访问 KDB-X(需注册公共预览版),以及安装 UV 用于运行 KDB-X MCP 服务器。
配置 MCP 服务器是第一步。KDB-X MCP 服务器提供了一系列领域特定的工具,包括 hybrid_search、run_sql_query 和 similarity_search,这些工具以自定义 Python 函数实现。服务器扩展了通过自然语言查询 KDB-X 数据的能力,用户可以执行波动率计算、市场数据查询或对 KDB-X 表中的 SEC 文件进行语义搜索等专业任务。
具体安装步骤包括:在 EC2 实例上克隆 KDB-X MCP 服务器仓库,安装 KDB-X 服务并配置其监听 5000 端口,创建一个模拟交易数据的样本数据集,其中包含价格、数量和股票代码的随机值。此外,还需要为 KDB-X 创建专用的操作系统服务账户,下载包含股票代码的 stocks.txt 文件,并创建启动脚本。
为了让 MCP 服务器可通过 HTTPS 访问,我们使用 Nginx 和 Certbot 来管理 SSL 证书。首先更新系统并安装 Nginx 和 python3-certbot-nginx,启动并启用 Nginx。然后创建临时 HTTP 配置用于证书验证,测试并重载 Nginx。接着配置 EC2 安全组允许入站流量通过 80 和 443 端口,从 Let's Encrypt 获取 SSL 证书,最后配置仅 HTTPS 访问并设置反向代理到本地 8080 端口。完成这些步骤后,MCP 服务器即可通过 HTTPS 端点访问。
对于生产环境部署,建议将 nip.io 替换为在 Amazon Route 53 中注册并启用 DNSSEC 的域名,使用 AWS Certificate Manager 签发和管理 TLS 证书,并在 EC2 前配置内部 Application Load Balancer。还可以配置 Amazon Bedrock AgentCore Gateway 使用 VPC 出口和 Amazon VPC Lattice,将流量完全保留在 AWS 网络内,避免暴露于公共互联网。
接下来,将 MCP 服务器集成到 Amazon Bedrock AgentCore Gateway。AgentCore Gateway 为开发者提供了一种安全的方式来大规模构建、部署、发现和连接工具。通过 Gateway,开发者只需几行代码就能将 API、AWS Lambda 函数和现有服务转换为 MCP 兼容工具,并通过 Gateway 端点提供给代理使用。在 AgentCore Gateway 中,可以将预配置的 MCP 服务器定义为创建网关时的目标。
在控制台中,选择 Gateways 并创建网关。对于入站授权,需要配置身份提供商、发现 URL 和允许的客户端。本方案使用 Cognito 用户池作为入站授权机制。在 Targets 下,选择 MCP 服务器作为目标类型,输入 HTTPS 端点作为 MCP 端点 URL。目标成功附加后,会显示 Ready 状态,确认连接已建立。在生产部署中,建议在 Nginx 中添加基于 IP 的速率限制,并启用 AWS CloudTrail 记录 API 活动。
完成 Gateway 配置后,就可以在 Quick 中创建集成。在左侧面板选择 Integrations,然后选择 Actions,再选择 Model Context Protocol。Quick 中的集成将用户连接到外部应用和服务,实现 AI 驱动的分析和自动化。操作连接器在 Quick 和外部服务之间建立安全连接。通过 MCP 集成,可以连接到 MCP 服务器以执行任务和访问数据。
在集成配置中,提供 AgentCore Gateway 的资源 URL 作为 MCP 服务器端点。对于授权类型,选择 Service-to-Service OAuth,并输入 Cognito 用户池配置中的令牌 URL、客户端 ID 和客户端密钥。生产部署时,应将 Cognito 客户端 ID 和密钥存储在 AWS Secrets Manager 中,按需检索并启用自动轮换。还可以考虑将 AWS WAF Web ACL 附加到 Cognito 用户池,保护 /oauth2/token 端点免受凭证填充和暴力攻击。
集成创建后,MCP 服务器所有可用工具都会显示在 Actions 部分。此时可以创建一个用于股票分析的聊天代理。创建聊天代理时,选择已配置的操作,并根据需要添加多个操作。提供合适的描述和指令摘要,定义代理的目的和能力。例如,可以配置一个股票研究助理,描述为“专家级金融研究助理和股票分析师,帮助投资者通过全面分析了解公司的市场地位、财务健康状况和未来潜力”。指令摘要可以强调提供客观、数据驱动的分析,考虑看涨和看跌观点,引用市盈率、EV/EBITDA 等估值指标,并突出关键风险因素。还可以在系统提示中添加明确的数据范围护栏,例如限制代理只能访问特定表、日期范围和查询类型。
通过这种集成,交易员和分析师可以用自然语言提问,例如“过去一个月科技股的平均波动率是多少?”或“查找最近财报中提及供应链风险的半导体公司”,Quick 会将这些问题转换为 SQL 查询,通过 MCP 服务器在 KDB-X 上执行,并返回可操作的洞察。这大大降低了时序数据库的使用门槛,提升了决策效率。