什么是模型上下文协议 (MCP) | Cohere
What Is Model Context Protocol (MCP) | Cohere
模型上下文协议(MCP)是一种开放标准,通过客户端-服务器架构帮助AI应用访问外部系统(如数据库、文档库、业务应用)的数据和工具。MCP不取代API、RAG或函数调用,而是标准化集成方式,使AI应用更易扩展和维护。常见企业用例包括客户支持、销售、财务报告和IT事件管理。企业需关注访问控制、身份验证、服务器信任及操作安全等治理因素。
企业级AI系统正变得越来越强大,但如果无法访问正确的数据、工具和工作流,它们的能力将受到很大限制。
模型上下文协议(MCP)通过为工程团队提供一种标准方式,将AI应用连接到经授权的企业系统,从而帮助弥合这一差距。
在本指南中,我们将解析MCP是什么、它是如何工作的、它与相邻的AI集成模式有何不同,以及企业在将其投入生产之前应考虑哪些因素。
什么是模型上下文协议,为什么它很重要?
MCP是一种开放标准,帮助AI应用跨外部系统(如数据库、文档存储库、业务应用和工作流平台)访问数据并执行定义好的操作。
MCP本身不是模型、agent或数据库。它是一种位于AI堆栈的应用和集成层的协议,减少了在AI应用与其需要使用的业务系统之间构建单独集成的需求。
这使得MCP在组织从孤立的AI试点转向需要与实时企业系统协同工作的应用时尤为重要。通过为团队提供一种构建这些集成的通用方式,MCP可以使AI应用更易于扩展、维护和适应企业需求的变化。
MCP的工作原理
MCP通过一种客户端-服务器架构工作,涉及主机、客户端、服务器和传输机制。在这种架构中,AI应用充当主机,而MCP客户端将该主机连接到MCP服务器。
一个主机可以同时连接到多个MCP服务器,每个服务器连接由一个独立的MCP客户端管理。
主要组件包括:
- 主机:用户与之交互的AI应用或环境,例如助手、集成开发环境(IDE)或内部企业AI工具
- 客户端:主机内部负责维护与特定MCP服务器连接的组件
- 服务器:对外暴露选定上下文或功能的程序,通常来自外部系统,如数据库、文档存储库、SaaS应用或工作流平台
- 传输机制:客户端与服务器之间使用的通信方法,例如用于本地连接的 stdio 或用于远程连接的 Streamable HTTP
MCP服务器可以暴露三种主要类型的功能:
- 资源:AI应用可以使用的上下文信息,例如文件、记录、模式或特定于系统的数据
- 工具:AI应用可以调用的已定义函数,例如查询数据库、调用API或更新业务系统
- 提示:由服务器提供的可复用模板或结构化指令,用于特定的交互或工作流
一旦主机连接到其配置的MCP服务器并发现它们能提供什么,当任务需要外部上下文或操作时,AI应用就可以使用相关的服务器。MCP客户端向该服务器发送一个结构化请求,服务器返回所请求的上下文或执行定义好的操作。然后,AI应用可以在其回答或工作流中使用该响应。
MCP与API、RAG、函数调用和agent的比较
MCP与API、检索增强生成(RAG)、函数调用和agent相关,但每个概念解决的是AI应用如何访问信息、使用工具或完成任务的不同问题。
- API:API让软件系统暴露数据或功能。MCP并不取代API;一个MCP服务器可以调用现有的API,并以AI应用可以发现和使用的格式呈现选定的功能。
- RAG:RAG帮助AI系统在生成响应之前检索相关信息。MCP本身不是一种检索方法,但它可以为AI应用提供一种访问知识库、文档存储库、数据库和其他上下文来源的标准方式。MCP还可以支持超越检索的更广泛工作流,包括工具使用和面向操作的任务。
- 函数调用:函数调用让模型或AI应用请求预定义的函数。MCP本身不是函数调用机制;它标准化了工具和函数如何被MCP服务器暴露,以便兼容的应用可以发现并使用它们。
- Agent:Agent通常使用模型、工具、记忆和编排逻辑来完成任务。MCP不是一个agent框架,但它可以为agent提供一种访问所需工具和系统的标准方式。
常见的企业MCP用例
MCP的用例通常出现在AI应用需要访问企业上下文、执行定义好的操作或跨业务系统协调这两者的场景中。
常见的例子包括:
- 客户支持:支持团队可以使用启用了MCP的助手来访问工单历史、账户记录、订单状态、产品文档和内部政策。然后,该助手可以总结案例上下文、回答客户问题,或创建/更新支持工单。
- 销售和客户管理:销售团队可以使用AI助手来检索账户详情、总结最近的客户互动、检查CRM记录,或根据销售数据起草后续消息。
- 财务报告:财务团队可以使用AI应用从授权的数据库、电子表格或报告工具中检索相关指标,然后总结变化并帮助准备定期报告。
- IT事件管理:技术团队可以使用运营工具或agent来访问监控工具、日志、事件平台和内部操作手册。然后,该工具可以帮助调查告警、将问题与过去的事件进行比较、总结可能的原因,或为后续处理创建工单。
在每个例子中,AI应用负责推理、总结或工作流逻辑,而MCP则提供应用与所连接企业系统之间的连接层。
MCP安全与实施考量
MCP可以使AI应用更容易连接到企业系统,但它默认并不会使这些连接变得安全。
由于MCP服务器可以使数据和工具功能对AI应用可用,团队需要决定每个服务器应提供什么、谁可以使用它,以及如何控制访问。
企业团队应特别关注:
- 访问控制:定义哪些用户、应用和工作流可以访问每个MCP服务器,应用最小权限原则,并决定访问应该是只读的还是允许操作的。
- 身份验证和授权:确保MCP连接经过身份验证,并且用户或应用只能访问他们被授权使用的功能。
- 服务器信任:在将第三方、开源或供应商提供的MCP服务器连接到敏感系统之前,对其进行审查。
- 工具和操作安全:将写操作、工作流触发、记录更新和消息发送功能视为比只读上下文访问风险更高,并对敏感或不可逆的操作要求人工审批。
- 日志记录和监控:跟踪哪些MCP服务器被使用、调用了哪些工具、请求了哪些数据、执行了哪些操作,以及是否发生了错误或异常使用模式。
- 部署和维护:决定MCP服务器应在本地还是远程运行,以及应由内部托管还是由供应商管理。随着内部系统、API和安全需求的变化,规划更新。
关键点在于,MCP可以减少集成复杂性,但并不能消除对精心设计的安全和运营治理的需求。
正在评估MCP用于企业AI?
帮助组织将agent、工具、权限和监控整合到一个受治理的工作空间中,包括RBAC和工具使用可见性。
联系我们,了解受治理的AI工作流。
关于MCP的常见问题
MCP对企业使用来说足够安全吗?
MCP可以在企业环境中安全使用,但它默认并不安全。安全性取决于团队如何配置身份验证、授权、权限、服务器信任、日志记录、监控以及对敏感操作的审批流程。
企业需要构建自己的MCP服务器吗?
不一定。企业可以使用现有的、供应商提供的或开源的MCP服务器,只要它们满足安全性和功能要求。当团队需要连接专有系统、强制执行组织特定的权限或以更可控的方式暴露内部工作流时,自定义MCP服务器最为有用。
MCP服务器应该在本地还是远程运行?
MCP服务器可以在本地或远程运行。本地服务器常见于开发者工具和基于工作站的工作流。远程服务器通常更适合于集中管理的企业系统,但它们需要更强的身份验证、授权、监控和部署控制。