AI智能总结
模型上下文协议MCP 模型上下文协议(ModelContextProtocol,MCP)是一个旨在标准化应用程序与大型语言模型(LLM)之间上下文交互的开放协议。MCP被誉为“AI领域的USB-C”,它通过提供统一的接口,使LLM能够无缝地与文档、代码库、数据库及各类外部工具进行交互,从而极大地拓展了AI应用的能力边界和自动化水平。 MCP的核心实现依赖于一个清晰的客户端-服务器架构,该架构由三大组件构成:MCP主机(如Claude等发起请求的AI应用)、MCP服务器(提供具体功能或数据的外部工具)以及在主机内部运行并与服务器建立连接的MCP客户端。用户可以在Cursor、VSCode、Trae等AI编程工具中配置第三方MCP为大模型启用工具调用,也可以部署自研的MCP来满足定制化需求,本文为Cursor平台的MCP配置提供了详细的教程。 基于MCP的研报复现系统构建 本项目以cursor为例的AI编程工具(AIIDE)中构建了研报复现智能体系统,重点构建了2个MCP服务器:数据MCP和指令MCP。 首先,数据MCP提供了可自定义、可解耦的金融研报解决方案与金融数据解决方案。针对研报需求,数据MCP提供研 报数据库搜索服务同时允许用户自备研报内容,并通过MinerU实现PDF文件向Markdown文件的识别转化,向大模型提供可读性较强的研报内容。针对数据需求,数据MCP基于TexttoSQLAgent提供使用自然语言从数据库中提取指定数据的功能,数据库基于wind底表结构实现,除此之外对于拥有完善wind环境的用户,数据MCP提供自动完成windapi数据提取脚本的功能;在此基础上,用户自备数据也被数据MCP所接受。其次,指令MCP实现了驱动指令流控制,实现了将研报复现任务的自动分解和任务构建,指令中内置了策略择时、多因子选股、大类配置等多种模型的核心流程与关键注意实现,从而指引大模型逐步完成需求识别、数据准备和建模回测,最终完成报告撰写。 配备了MCP的大模型通过结构化指令能够自动推进复现流程,从研报识别、数据获取、建模回测到报告撰写,全流程无需手工编码,形成了高可控、可追溯、可中断恢复的本地复现工作流。 复现研报案例 本文以实际的研报为例,展示了MCP的自动研报复现全流程。在需求识别环节,大模型将自动识别研报中的模型,用户只需给出模型编号就可以指定模型进行复现。在数据准备环节,大模型能够自动完成研报内容提取与解析,并调用Text-to-SQLAgent生成SQL脚本,连接远程数据库查询所需要的数据,过程无需用户干预。在建模回测环节,大模型可以自动编写脚本完成数据预处理和信号生成,用户也可以为大模型提供参数并引导大模型多轮修改。在报告生成环节,最终生成的Markdown报告包含12个章节,涵盖从任务引导到结果解释的全过程,并且嵌入了关键的代码和可视化图表,如果生成结果不合预期,还可以通过多轮对话进行优化修改。 风险提示 本系统高度依赖大语言模型的理解与生成能力,尽管在结构化指令和模板引导下已提升稳定性,但模型输出仍具有一定的随机性,可能受提示词、上下文窗口长度或模型状态影响而产生差异化结果,甚至出现幻觉行为;金融研报往往未对模型结构、参数设置、数据处理逻辑等细节做出完全披露,导致实际复现结果与原始报告存在一定差距。除此之外,尽管系统支持参数调试与多轮尝试,但仍不能完全保证实际使用与研报结果一致。本系统依赖多个第三方或自研的MCP服务器,不同版本的Cursor可能MCP服务器接口不一致,导致调用过程中出现连接失败或格式错误等异常。 内容目录 一、模型上下文协议MCP(ModelContextProtocol)4 1.1MCP的定义与架构4 1.2MCP执行流程5 1.3MCPServer配置方法6 二、基于MCP的研报复现系统构建7 2.1MCPServer1:数据MCP7 2.1.1研报获取解决方案7 2.1.2数据准备解决方案8 2.2MCPServer2:指令MCP9 2.3MCP功能选择与分支流程11 三、研报复现案例12 3.1需求识别12 3.2数据准备12 3.3建模回测14 3.4复现报告生成15 风险提示16 图表目录 图表1:MCP协议架构图4 图表2:MCP可调用工具示例4 图表3:MCP协议架构图4 图表4:Stdio传输原理图5 图表5:HTTP传输原理图5 图表6:MCP执行流程5 图表7:MCPServer配置界面6 图表8:MCPTools可用工具展示栏6 图表9:MCPServer状态配置6 图表10:基于MCP的研报复现Agent系统整体框架图7 图表11:“研报库搜索”模式整体流程8 图表12:“金融数据库搜索”模式工作流程8 图表13:Text-to-SQLAgent工作流9 图表14:指令执行流程图9 图表15:模型支持类型10 图表16:流程总览及指令跳转示例10 图表17:模型识别与拆解示例10 图表18:MCP分支节点与使用流程11 图表19:研报获取与模型选择流程12 图表20:大模型生成的自然语言查询列表13 图表21:大模型请求获得SQL代码并执行下载脚本13 图表22:使用推荐参数快速推进14 图表23:自行制定回测参数14 图表24:通过提示词确定回测细节并进行多轮修改14 图表25:回测报告(Ⅰ)15 图表26:回测报告(Ⅱ)15 图表27:回测报告(Ⅲ)15 一、模型上下文协议MCP(ModelContextProtocol) 1.1MCP的定义与架构 模型上下文协议(ModelContextProtocol,MCP)是一个开放协议,用于标准化应用程序向大型语言模型(LLMs)提供上下文的方式,由Anthropic发布于2024年11月25日。MCP就像AI领域的USB-C接口,正如USB-C为计算机与各种外设和配件提供了统一的连接方式,MCP为大语言模型与不同数据源和工具的对接提供了标准化的途径。 基于MCP,大语言模型可以与Word/Excel/PowerPoint、Github/Gitee、数据库、电子邮件、本地文件系统等一系列数据源或工具交互,极大地拓展了大语言模型的能力边界。目前,一系列工具都有开源MCP实现,用户只需配置MCP连接,本地大语言模型即可调用该工具完成工作,极大地提高了工作效率。 图表1:MCP协议架构图图表2:MCP可调用工具示例 来源:Noharsakal,国金证券研究所来源:国金证券研究所 从功能角色的角度来看,MCP遵循典型的客户端-服务器架构,包括MCP主机(MCPHosts)、MCP客户端(MCPClients)、MCP服务器(MCPServers)三大组件。其中,MCP主机是指Claude、Cursor等能发起请求的AI应用程序;MCP客户端运行于主机内,与MCP服务器保持1:1的连接;MCP服务器则是外界暴露特定功能的工具、数据资源等,可以由主机通过客户端访问或获取。 图表3:MCP协议架构图 来源:国金证券研究所 从协议的功能层次来看,MCP可以划分为协议层(Protocollayer)和传输层(TransportLayer)。其中,协议层主要负责消息封装(管理请求与响应之间的对应关系)和高层通信模式定义(定义消息的传递与处理方式),与底层的传输方式解耦。传输层主要负责在客户端与服务器之间传输实际消息。目前,MCP支持Stdio和HTTP两种传输方式,所有的消息交换都采用JSON-RPC2.0协议。 图表4:Stdio传输原理图图表5:HTTP传输原理图 来源:国金证券研究所来源:国金证券研究所 1.2MCP执行流程 MCP链接工具函数、数据接口,搭建用户需求与大语言模型能力之间的桥梁。在MCP的执行流程中,以MCP主机为核心,以用户请求为起点,通过内部的工具选择、功能调用等多种流程,以结果输出为结束。MCP的具体执行流程如下图所示: 图表6:MCP执行流程 来源:国金证券研究所 根据MCP整理运作的流程,从用户请求开始,到结果输出结束,整体可以划分为七个步骤,实现信息、数据的流动: ①MCP客户端连接到MCP服务器:用户需要手动配置mcp.json文件后,MCP客户端会通过传输层协议建立与这些MCP服务器的连接 ②MCP客户端识别可用工具:连接建立后,客户端识别各个工具函数的主要功能以及参数输入要求,为后续调用做准备 ③MCP客户端为大模型准备Prompt:客户端收到用户自然语言请求,它将构造Prompt并发送给大模型,客户端会将用户请求与已获取的工具元信息一并嵌入,使大模型能根据任务内容判断是否需要使用某个工具,并生成相应的调用指令 ④大模型选用工具:MCP提供的标准化工具结构让模型能准确理解工具功能与调用方式,从而做出合理决策;大模型接收到Prompt后,执行调用判断 ⑤MCP客户端发送工具调用请求:客户端接收到大模型返回工具调用指令后,提取出工具名称和输入参数调用MCP接口,MCP协议在此提供一致的调用接口,屏蔽服务器差异,提升了工具调用的可扩展性与兼容性 ⑥MCP服务器执行工具并返回结果:MCP服务器根据调用请求中的工具名与参数,执行相应的工具逻辑。执行完成后,服务器会将结果封装为标准化结构,并返回给客户 端;MCP协议确保不同服务器返回结果在格式与语义上一致,便于客户端统一处理 ⑦大模型生成最终回答:客户端收到工具返回结果后,会将该结果与原始用户请求一并打包,重新发送给大模型。大模型结合用户意图与工具提供的信息生成最终回答 1.3MCPServer配置方法 目前,MCP.so、MCPMarket等平台已相继上线一万多款第三方MCP服务器插件,用户可以在本地配置后供大模型调用;同时,在本次研究中我们也搭建了云端了MCP服务器用于研报复现。 使用MCP进行复杂任务的基础需要完成MCPServer的配置,接下来将以Cursor为例,展示MCP配置和使用MCP的方法。 图表7:MCPServer配置界面图表8:MCPTools可用工具展示栏 来源:Cursor,国金证券研究所来源:Cursor,国金证券研究所 以Cursor为例,配置MCP服务的主要流程如下: 1)启动Cursor,单击右上角图标进入设置界面,找到MCPTools,单击AddCustomMCP进入json配置文件。 2)根据所需配置的服务器类型(本地服务或云端服务),正确填写mcp.json文件 3)返回MCP配置页面,可以看到可用工具中更新了MCP信息,MCPServer即配置完成 虽然增加MCPServer中的工具数量可以显著扩展大模型的能力边界,但也带来一定的风险。当工具数量过多,尤其存在名称或功能描述相似的工具时,模型在解析prompt时可能会错选工具(如选错一个名称相近但用途不同的工具)或误填参数(混淆不同工具的inputSchema)。 在MCPServer的可用性管理上,Cursor支持全部可用(所有注册工具对客户端暴露)、全部禁用(所有注册工具均不对客户端暴露)、部分启用(只对客户端暴露部分工具)三种配置模式,用户可根据需求自行配置。 图表9:MCPServer状态配置 来源:Cursor,国金证券研究所 需要注意的是,目前的MCP配置分配本地服务配置和云端服务配置两类,不同类型的服务配置存在较小的差距: 本地MCP配置:本地服务使用stdio的模式进行信息传输,需要首先使用uvx命令在本地安装插件后,按照stdio服务的范式配置json文件 云端MCP配置:云端服务使用sse或StreamableHTTP的模式进行信息传输,此时无需本地安装插件,只需按照http服务的范式配置json文件即可 二、基于MCP的研报复现系统构建 本研报复现Agent系统兼容Cursor、Vscode、Trae等AI集成开发环境,主要基于数据MCP和指令MCP服务器实现。在研报准备阶段,Agent提供研报库查询或本地指定两种方式,而在数据准备阶段,A