当前位置: 首页 > news >正文

婴幼儿用品网站开发意义渠道推广费用咨询

婴幼儿用品网站开发意义,渠道推广费用咨询,企业163邮箱登录,收录提交入口网址一、为什么需要MCP? 随着大语言模型的兴起,越来越多的应用系统开始转向Agent架构 用户输入 → 智能体规划任务 → 调用模型完成任务 → 汇总回复 但是在真正的工程实践中,往往不止一个模型: LLM模型:用于生成、对话、总…

一、为什么需要MCP?

随着大语言模型的兴起,越来越多的应用系统开始转向Agent架构

  • 用户输入 → 智能体规划任务 → 调用模型完成任务 → 汇总回复

但是在真正的工程实践中,往往不止一个模型:

  • LLM模型:用于生成、对话、总结
  • Embedding 模型:用于向量检索与语义匹配
  • 多模态模型:图像、语音、视频理解
  • 工具模型:SQL 生成、代码补全、文档解析

于是就有了MCP,来统一调度模型服务

二、什么是MCP服务?

MCP(Model Compute Platform) 是一种面向 Agent 的后端服务,用于注册、统一封装、调度调用底层模型能力。

MCP 本质上是一种 模型能力路由与编排平台,其目标是让上层 Agent “只管调用,不管细节”。

你可能听着很懵,举个简单的例子:

比如用户提问:帮我生成一个小猫弹琴的视频吧

Agent 调用 MCP 的两步链路:

  1. 使用**文生图模型(Text-to-Image)**根据 prompt 生成一张“弹琴小猫”图片
  2. 使用视频生成模型或图像动画模型(Image-to-Video)将静态图转成视频

代码类似这种:

// 第一步,文字生成图片
const imageResponse = await MCP.call("generateImage", {prompt: "一只小猫坐在钢琴前弹琴",resolution: "512x512"
});
const imageUrl = imageResponse.url;// 第二步,图片生成视频
const videoResponse = await MCP.call("imageToVideo", {imageUrl,duration: 8
});// 返回视频链接给用户
return `视频已生成,观看链接:${videoResponse.videoUrl}`;

三、MCP的角色和结构

http相当于浏览器和服务器之间的协议,有一些标准化的规则,Agent与服务之前也有标准化的通信协议。

  • 工具调用方式(Tools)
  • 资源访问方式(Resources)
  • 输入输出的结构(inputSchema)
MCP的角色
角色说明
Agent使用服务的一方(比如一个大模型、插件、UI 工具)
MCP Server提供服务的一方(比如调用文生图,图生视频的服务)
ToolMCP Server 中注册的一个功能(可被 Agent 调用)
ResourceMCP Server 中注册的资源(按 URI 模板动态生成内容)
TransportMCP Server 和 Agent 之间的通信通道(如 Stdio、WebSocket、HTTP)

MCP也可以理解为扩充了大模型的能力,大模型借助MCP服务还可以去做一些操作本地文件,打开浏览器等等

四、MCP-DEMO

当前mcp提供了两个tools,打开本地应用和计算数字加法

1. 导入模块
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import { exec } from "child_process";
  • McpServer:MCP 服务器核心类,用于创建和管理 MCP 服务。
  • StdioServerTransport:基于标准输入输出(stdin/stdout)的通信传输机制,实现服务端与客户端的消息收发。
  • z(Zod):声明式校验库,用于定义输入参数的类型和结构。
2. 函数 openLocalApp(appName)

这个函数的作用是根据传入的应用名称,结合当前操作系统,拼接对应的系统命令来打开该应用。

function openLocalApp(appName) {const platform = process.platform;let command;// 根据操作系统构造打开命令if (platform === "win32") {// Windowsswitch (appName.toLowerCase()) {case "chrome":command = `start chrome`;break;case "notepad":command = `start notepad`;break;default:throw new Error(`Unknown app: ${appName}`);}} else if (platform === "darwin") {// macOSswitch (appName.toLowerCase()) {case "chrome":command = `open -a "Google Chrome"`;break;case "textedit":command = `open -a TextEdit`;break;default:throw new Error(`Unknown app: ${appName}`);}} else if (platform === "linux") {// Linuxswitch (appName.toLowerCase()) {case "chrome":command = `google-chrome`;break;case "gedit":command = `gedit`;break;default:throw new Error(`Unknown app: ${appName}`);}} else {throw new Error("Unsupported platform: " + platform);}return new Promise((resolve, reject) => {exec(command, (error) => {if (error) {reject(error);} else {resolve(`Opened ${appName} successfully`);}});});
}
3. 主函数 main()
  1. 创建 MCP 服务器并注册工具,启动服务监听通信
    创建 MCP 服务器实例,名字为 local-app-opener,版本 1.0.0
  2. 注册工具 openApp
    注册一个工具名叫 openApp,代表打开本地应用,里面还包含一些工具元信息,其中 inputSchema定义了输入参数格式
  3. 启动通信传输层并连接
    实例化 StdioServerTransport,通过标准输入输出流和Agent通信
async function main() {const server = new McpServer({name: "local-app-opener",version: "1.0.0",});server.registerTool("openApp",{title: "Open Local Application",description: "Open a local application by name, e.g. chrome, notepad",inputSchema: { appName: z.string() },},async ({ appName }) => {try {const result = await openLocalApp(appName);return {content: [{ type: "text", text: result }],};} catch (err) {return {content: [{ type: "text", text: `Failed to open app: ${err.message}` }],};}});server.registerTool("add", {title: "Add Numbers",description: "Add two numbers",inputSchema: { a: z.number(), b: z.number() },}, async ({ a, b }) => {return {content: [{ type: "text", text: `Sum: ${a + b}` }],};});const transport = new StdioServerTransport();await server.connect(transport);
}main();
4. 使用展示:

1. 配置MCP:
在这里插入图片描述
2. 测试MCP:
在这里插入图片描述
在经过思考过程之后,最终整合了输入格式:

在这里插入图片描述

我测试用的是Trae,可以直接配置下面的json体验一下:

{"mcpServers": {"mcp-demo": {"command": "npx","args": ["-y","mcp-test-zhuling"]}}
}
http://www.dtcms.com/a/475823.html

相关文章:

  • 网站建设 微信公众号网站开发技术报告模板
  • 淮安哪里有做网站的人建设网站是不是必须要服务器
  • 济南专业网站开发公司服务质量好的网站设计制作
  • 苏州建网站的公司哪家公司好什么网站可以看到绵阳建设
  • 磁力搜索网站怎么做的wordpress 百家主题
  • 营销型网站的建设要求都有什么手机网站内容管理
  • 企业门户网站建设情况汇报vs210做网站
  • 做玄幻封面素材网站动态时钟html代码
  • 杭州网站运营服务器租用云服务器
  • 个人网站建设价格表视频背景网站
  • 网站建设全包方案酒店网站的开发及其设计方案
  • 网页qq登陆网站深圳市九号公告
  • 网站建设 考题烟台互网站建设公司名单
  • php 手机网站 上传图片直播网站
  • discuz是什么网站程序制作html网页的详细步骤
  • 广州网站车管所dede免费手机网站模板下载
  • 做龙之向导网站有用吗怎么在子域名建立一个不同的网站
  • 建设银行网站可以更改个人电话网站建设中的思想和算法
  • 网站内链案例湛江网站开发公司
  • 网站描述样本wordpress对外发邮件
  • 中山低价网站建设重庆建工信息网官网
  • 网站关键词和网站描述中国建设局网站招聘
  • 做的asp网站手机号码做电影资源网站手机版
  • 人才招聘网站开发+源代码做下载类型网站怎样划算
  • 网站信息化建设建议书小俊哥网站建设
  • 开源网站管理系统做网站代理
  • 阿里云的网站模版好吗网站申请备案要多久
  • 去国外做外卖网站好中国计算机公司排名
  • 深圳网站建设方案书妖姬直播
  • 怎么让网站文章被收录电影网站推荐哪个网站好