使用说明
MCP(模型上下文协议)란? **MCP(Model Context Protocol)**是AI模型和应用程序之间交互的标准化协议。 简单地说,它定义了LLM(大型语言模型)和AI模型与客户端(应用程序、服务)之间的数据交换方式。
🛠️ MCP的主要概念 MCP通常提供与AI模型交换数据的通信结构。 这可能包括与OpenAI API、LangChain和Function Calling类似的概念。
1.️⃣ MCP服务器(McpServer) 创建可与AI模型交互的服务器的角色。
定义特定功能(工具、API)并在客户端请求时处理的结构。
📌 示例(创建McpServer)
打字稿 复制 编辑 从“@modelcontextprotocol/sdk/server/mcp.js”导入{McpServer};
const服务器=新McpServer({ name:“我的MCP服务器”, 版本:“1.0.0”, }); 2⃣MCP Tool(工具) AI模型可以使用的函数(Function Calling)等概念。
例如,可以创建一个名为add的工具,将两个数字相加。
📌 示例(添加工具)
打字稿 复制 编辑 从“zod”导入{z};
服务器工具( “添加”, { a: z.number(), b: z.number(), }, async({a,b})=>{ 返回{ content:[{类型:“text”,文本:字符串(a+b)}], }; } ); 以tool(name,schema,function)的形式定义工具。
客户端调用add将返回a+b的结果。
3⃣MCP Resource(资源) 定义特定数据并允许客户端导入的功能。
基于URL模式提供数据的方式。
📌 示例(添加greeting资源)
打字稿 复制 编辑 从“@modelcontextprotocol/sdk/server/mcp.js”导入{ResourceTemplate};
服务器资源(
“问候”,
新的资源模板(“问候语://{name}”,{list:undefined}),
async(uri,{name})=>({
内容:[
{
uri:uri.href,
文本: Hello, ${name}!,
},
],
})
);
greeting://John调用相同的URI将返回“Hello,John!”
4支持服务器-发送事件(SSE) MCP还支持Server-Sent Events(SSE)进行实时数据传输。
有助于处理LLM的流式处理响应。
📌 示例(SSE连接)
打字稿 复制 编辑 从“@modelcontextprotocol/sdk/server/sse.js”导入{SSEServerTransport};
app.get(“/sse”,异步(req,res)=>{ const transport=新的SSEServerTransport(“/messages”,res); 等待服务器连接(传输); }); 客户端连接到/sse端点后,可以实时接收数据。
📌 哪里可以使用MCP? 连接大型语言模型(LLM)和应用程序的API服务器
构建提供AI功能的微服务
支持AI模型的Function Calling框架
替代或补充AI框架(如LangChain)的解决方案
在服务器和客户机之间开发基于AI的交互式应用程序
🚀 结论 模型上下文协议(MCP)是AI模型和应用程序之间交互的标准化协议。 这使工具(tool)、资源(resource)、流媒体(SSE)等功能易于实现。
💡 简单地说? 👉 MCP=为AI模型轻松创建API服务器的框架! 🚀