AI模型交互协议

MCP(Model Context Protocol)是一种标准化AI模型与应用程序之间交互的协议,支持工具调用、资源管理和实时数据传输。

  • by place-content
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 place-content/mcp-server

使用说明

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服务器的框架! 🚀