企业售后 MCP 实战(中):权限隔离与幂等写入
《Agent 大模型 0 到 1 系统课》 · 程序员 Sunday
你正在阅读本节的免费试读。完整课程 ¥499,可在文末添加作者微信购买。
上篇,咱们已经把整个项目运行起来了,也大概看了一下项目结构。
所以,现在的问题就是,这个项目咋学。。。
说实话,这个项目比第二章的大项目要复杂的多。
目前项目里有 agent-host.js、mcp-client.js、http-server.js、mcp-server.js 和 after-sales-service.js 这些关键文件。如果按照文件顺序,一个一个往下讲,谁都看不懂。
所以,如果想要把这个项目看明白,那么就必须要从 一个关键功能的入口开始,顺着这个入口的调用一点点来分析核心逻辑
有学过我 Vue 源码课程 的同学,应该很熟悉这种方案。
那咱们开始~~
从 npm run host 进入项目
上一小节咱们提到过,除了 npm run web-host 之外,还有一个叫做 npm run host 的指令
这个指令可以让直接启动一个控制台的输入,通过这种输入方式来和 Server 进行交互:
那么大家现在请想一想,当我们执行 npm run host 的时候,程序会怎么执行呢?
保持上一篇启动的 MCP Server 别关,然后重新打开一个终端,进入项目目录:
cd Code/Node/第三章/08-enterprise-after-sales-mcp
执行:
npm run host
终端会出现类似下面的内容:
程序现在已经启动了,但是大家先别着急输入问题。
咱们先看看刚才执行的 npm run host,到底运行了哪段代码。
package.json 里面的配置是:
所以,真正的入口是 src/agent-host.js。
咱们打开这个文件。
这个文件里面有一个入口函数:main 函数
这个文件中的 main(),启动时主要做了三件事:
// 第一件事:创建并连接 MCP Client。
client = await createAfterSalesClient({
token,
autoConfirm: false,
name: 'enterprise-after-sales-agent-host'
})
// 第二件事:发现 MCP Server 暴露的 Tools。
const { tools: mcpTools } = await client.listTools()
// 第三件事:创建并维护连续对话上下文。本节试读已结束
继续学习,解锁完整课程
购买《Agent 大模型 0 到 1 系统课》,
继续阅读本节剩余内容与后续课程。
