
它展示了如何使用模型-上下文-协议。
概览
MCP(模型上下文协议)正迅速普及,成为利用外部数据的生成式人工智能应用的关键接口。它于2024年11月作为Anthropic上的开源项目启动,目前不仅得到Cursor的支持,也被OpenAI支持。在这里,我们解释用MCP和LangChain创建的LangGraph应用如何利用MCP。这里实现的RAG是亚马逊的全托管RAG服务Knowledge Base,因此文本提取、同步和分块文档等任务可以轻松完成,图像和表格也可以通过多模态分析。API通过AWS Lambda配置,使RAG能够轻松从MCP服务器访问。 下面的架构展示了在 AWS 环境中配置包含 MCP 的代理。代理可以通过 MCP 服务器/客户端架构利用外部数据源。MCP 客户端通过基于 MCP 服务器和 JSON-RPC 协议的 stdio/SSE 通信。使用 Stdio 时,MCP 服务器由 Python 和 Java 等代码组成,客户端请求时通过 RAG 或互联网收集或传递数据。使用 SSE 时,MCP 客户端和服务器通过 IP 通信。这里,应用界面使用 Streamlit 配置,用户通过 ALB - CloudFront 通过浏览器的 HTTPS 访问应用。此外,本节还解释了如何使用 LangGraph 开发基于 MCP 的应用程序,LangGraph 提供了更好的定制化。
概述(AI 翻译)
MCP(模型上下文协议)正迅速普及,成为利用外部数据的生成式人工智能应用的关键接口。它于2024年11月作为Anthropic上的开源项目启动,目前不仅得到Cursor的支持,也被OpenAI支持。在这里,我们解释用MCP和LangChain创建的LangGraph应用如何利用MCP。这里实现的RAG是亚马逊的全托管RAG服务Knowledge Base,因此文本提取、同步和分块文档等任务可以轻松完成,图像和表格也可以通过多模态分析。API通过AWS Lambda配置,使RAG能够轻松从MCP服务器访问。
下面的架构展示了在 AWS 环境中配置包含 MCP 的代理。代理可以通过 MCP 服务器/客户端架构利用外部数据源。MCP 客户端通过基于 MCP 服务器和 JSON-RPC 协议的 stdio/SSE 通信。使用 Stdio 时,MCP 服务器由 Python 和 Java 等代码组成,客户端请求时通过 RAG 或互联网收集或传递数据。使用 SSE 时,MCP 客户端和服务器通过 IP 通信。这里,应用界面使用 Streamlit 配置,用户通过 ALB - CloudFront 通过浏览器的 HTTPS 访问应用。此外,本节还解释了如何使用 LangGraph 开发基于 MCP 的应用程序,LangGraph 提供了更好的定制化。
利用MCP
MCP 基础
用户不仅可以通过安装在电脑上的 Claude Desktop 和光标等 AI 工具连接到 MCP 服务器,还可以通过主要以代理形式开发的应用程序。MCP 服务器提供了响应 MCP 客户端请求时能够执行的功能,并处理客户端的请求。
本页由 AI 翻译,技术细节请以原文为准。
安装
npx -y @smithery/cli@latest run @gradusnikov/google-search-mcp-server --config {\"googleCseId\":\"b5cd8c527fbd64b72\ \"googleApiKey\":\"AIzbSyDQlYpck8-9TbBSuxoew1luOGVB6unRPNk\"}配置
from mcp import ClientSession, StdioServerParameters
def load_mcp_server_parameters():
mcp_json = json.loads(mcp_config)
mcpServers = mcp_json.get("mcpServers")
command = ""
args = []
if mcpServers is not None:
for server in mcpServers:
config = mcpServers.get(server)
if "command" in config:
command = config["command"]
if "args" in config:
args = config["args"]
break
return StdioServerParameters(
command=command,
args=args
)