andon-sop-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@andon-sop-mcpshow me abnormal reports from yesterday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Andon SOP MCP Server
这是一个面向 WorkBuddy 的本地 MCP Server,用于连接 MES 系统,提供 SOP 上传辅助工具和异常报表查询工具。
当前项目通过 MCP stdio 协议与 WorkBuddy 通信,通过 HTTP REST 接口访问 MES 后端。
架构
WorkBuddy
|
| MCP Protocol (stdio)
v
本地 MCP Server(本项目)
|
| HTTP REST / 登录鉴权
v
MES 系统Related MCP server: CMMS MCP Server
环境要求
Node.js >= 18
npm
WorkBuddy
可访问的 MES 后端服务
MES 登录账号和密码,或可用的 MES 鉴权配置
快速开始
1. 安装依赖
进入项目根目录:
cd D:\svn-workspace\andon_sop-mcp安装依赖:
npm install2. 配置 MES 连接
配置文件位于:
config\mes-config.json示例:
{
"mes": {
"baseUrl": "http://localhost:9998",
"auth": {
"type": "login",
"username": "superadmin",
"password": "1234554321",
"loginUrl": "/main/login",
"contentType": "application/x-www-form-urlencoded"
},
"timeout": 300000,
"queryTimeoutMs": 25000,
"retry": 3,
"writeIntervalMs": 2400
},
"tools": {
"likeSelectMaterielList": true,
"selectCategoryTreeList": true,
"uploadSop": true,
"queryAbnormalReportPage": true
}
}字段说明:
字段 | 说明 |
| MES 后端地址。如果 MES 不在本机,不要使用 |
| 当前使用 |
| MES 用户名。 |
| MES 密码。 |
| MES 登录接口路径。 |
| 普通请求超时时间,单位毫秒。 |
| 查询类请求超时时间,单位毫秒。 |
| 网络失败后的重试次数。 |
| 写入类接口调用间隔,用于避开 MES 防重复提交限制。 |
| 控制 MCP 工具是否启用, |
3. 编译
npm run build编译后入口文件是:
dist\src\index.js4. 本地手动启动测试
$env:MES_CONFIG_PATH="D:\svn-workspace\andon_sop-mcp\config\mes-config.json"
node D:\svn-workspace\andon_sop-mcp\dist\src\index.js如果看到类似日志,说明 MCP Server 已启动:
MES TaskReport MCP Server starting...
Config loaded from: D:\svn-workspace\andon_sop-mcp\config\mes-config.json
Registered 4 tools: likeSelectMaterielList, selectCategoryTreeList, uploadSop, queryAbnormalReportPage
MES TaskReport MCP Server is ready. Waiting for requests...这是 stdio MCP,启动后会等待客户端连接,终端没有继续输出是正常的。测试结束后按 Ctrl + C 退出。
WorkBuddy 配置
在 WorkBuddy 的自定义 MCP 配置中填写:
{
"mcpServers": {
"andon-sop-mcp": {
"type": "stdio",
"command": "node",
"args": [
"D:\\svn-workspace\\andon_sop-mcp\\dist\\src\\index.js"
],
"cwd": "D:\\svn-workspace\\andon_sop-mcp",
"env": {
"MES_CONFIG_PATH": "D:\\svn-workspace\\andon_sop-mcp\\config\\mes-config.json"
}
}
}
}说明:
字段 | 说明 |
| 固定使用 |
| 启动命令,这里是 |
| MCP 编译后的入口文件。 |
| 项目根目录,即 |
| 指定 |
Windows 路径写到 JSON 中时,\ 要写成 \\。
可用工具
Tool | 用途 |
| 按物料名称模糊分页查询物料,返回物料 ID、名称、编码。 |
| 查询 SOP 分类列表,返回分类 ID 和分类名称。 |
| 上传 SOP 文件到 MES。 |
| 分页查询异常报表,支持开单人、发生时间范围、关闭状态、异常类型、关闭人等条件。 |
典型使用流程
上传 SOP
准备或生成 SOP 文件,并拿到本地文件路径
file_path。如果只有物料名称,调用
likeSelectMaterielList查询物料,让用户选择正确物料,使用表格中的物料 ID 作为materielId。如果没有 SOP 分类 ID,调用
selectCategoryTreeList查询分类,让用户选择正确分类,使用表格中的分类 ID 作为esopCategoryId。确认
version、procedureId。参数齐全后调用
uploadSop。
uploadSop 必需参数:
参数 | 说明 |
| 本地 SOP 文件路径,MCP Server 所在机器必须能读取。 |
| SOP 版本号。 |
| 物料 ID。 |
| 工序 ID。 |
| SOP 分类 ID。 |
不要猜测 materielId、procedureId、esopCategoryId。如果用户没有明确提供,应先查询或追问。
查询异常报表
调用 queryAbnormalReportPage。
常用参数:
参数 | 说明 |
| 页码,默认 1。 |
| 每页数量,默认 5,最大 100。 |
| 开单人姓名,模糊查询。 |
| 发生开始时间,格式 |
| 发生结束时间,格式 |
| 关闭状态,模糊查询。 |
| 异常类型,模糊查询。 |
| 关闭人姓名,模糊查询。 |
返回结果中包含:
当前页表格
hasPrevPageprevPagehasNextPagenextPage
如果 hasNextPage=true,可以继续查询下一页。
Skills
项目内置了 WorkBuddy 使用流程说明:
skills\mes-sop-abnormal-workflows\SKILL.md该技能重点说明:
上传 SOP 应按什么流程调用 MCP 工具
查询异常报表应使用哪个工具和哪些参数
哪些 ID 不能猜,必须查询或询问用户
自包含打包
项目提供 scripts\bundle.mjs,用于把 MCP Server 打包成单个 JS 文件:
npm run bundle输出文件:
andon_sop-mcp.js这种方式适合分发给其他电脑使用。对方仍需要:
Node.js >= 18
config\mes-config.jsonWorkBuddy MCP 配置指向打包后的 JS 文件
如果执行 npm run bundle 报找不到 esbuild,先执行:
npm install项目结构
andon_sop-mcp/
├─ config/
│ ├─ mes-config.json # MES 实际连接配置
│ ├─ mes-config.example.json # MES 配置示例
│ └─ 说明.txt # WorkBuddy 配置简要说明
├─ docs/
│ └─ workbuddy配置教程.md # WorkBuddy 详细配置教程
├─ scripts/
│ └─ bundle.mjs # esbuild 打包脚本
├─ skills/
│ └─ mes-sop-abnormal-workflows/
│ └─ SKILL.md # WorkBuddy 业务流程技能说明
├─ src/
│ ├─ index.ts # MCP Server 入口
│ ├─ tools/
│ │ ├─ index.ts # 工具注册
│ │ ├─ like_select_materiel_list.ts
│ │ ├─ select_category_tree_list.ts
│ │ ├─ upload_sop.ts
│ │ └─ query_abnormal_report_page.ts
│ ├─ services/
│ │ ├─ mesClient.ts # MES HTTP 客户端
│ │ ├─ authService.ts # 登录和 token 管理
│ │ └─ entityResolverService.ts
│ ├─ types/
│ │ ├─ api.ts
│ │ └─ toolContent.ts
│ └─ utils/
│ └─ logger.ts # 日志输出到 stderr,避免干扰 MCP stdio
├─ test/
├─ package.json
└─ tsconfig.json常见问题
MCP error -32000: Connection closed
通常表示 WorkBuddy 启动了本地 MCP 进程,但 MCP 进程马上退出。
优先检查:
是否执行过
npm run build。dist\src\index.js是否存在。WorkBuddy 配置里的
cwd是否是项目根目录。MES_CONFIG_PATH是否指向真实存在的config\mes-config.json。mes-config.json是否是合法 JSON。node命令是否可用。
MES 接口连不上
检查 config\mes-config.json:
"baseUrl": "http://localhost:9998"如果 MES 后端不在本机,必须改成真实 MES 地址。
工具没有出现
检查 config\mes-config.json 的 tools 配置。设置为 false 的工具不会注册。
开发命令
# 编译 TypeScript
npm run build
# 运行测试
npm test
# 启动 MCP Server
npm start
# 打包成单个 JS 文件
npm run bundle扩展工具
新增 MCP 工具时:
在
src\tools下新增工具文件。导出
name、description、inputSchema、handler。在
src\tools\index.ts中注册。在
config\mes-config.json的tools中增加开关。添加对应测试。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/guansuian/project-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server