MCP Server for Work Order Management System Integration
Server defines a single tool 'create-wom-ticket' with comprehensive schema and detailed descriptions. Tool name starts with action verb (create_), parameters are well-documented with type constraints and length limits. Input schema is complete and properly structured. However, output schema is not documented, callers cannot predict response structure. Error handling is present in code but not communicated via description. Tool description is lengthy (500+ chars) but clearly explains WHAT, WHEN, and use cases, aligning with pattern:tool-description. No parameter examples contaminate descriptions (good practice). Missing output documentation and error guidance pull score down from 80+ range.
创建运维工单(Work Order Management) **功能说明:** 用于自动化提交系统故障、需求变更、运维支持等工单到企业服务总线(ESB)。 **适用场景:** - 系统故障报修(如:登录异常、功能失效) - 功能需求提交(如:新增报表、权限调整) - 运维支持请求(如:数据修复、配置变更) - 事件跟踪记录(如:性能问题、安全事件) **使用示例:** 用户:"帮我报个工单,OA系统的审批流程有bug" AI 会自动提取信息并创建工单。
Output schema not documented. Callers cannot predict response structure from ESBResponse interface or what fields the ESB API returns. LLMs cannot reason about downstream tool dependencies.
Tool description does not declare that this operation is WRITE/irreversible. Agents need explicit guidance that submitting a work order has side effects and cannot be safely retried idempotently.
Error handling present in code (buildESBPayload, createWorkOrder) but not communicated in tool description. No recovery guidance. If ESB_URL is unset or API fails, agents cannot reason about next steps.
No dry-run or confirmation step for this destructive operation. Agents submitting work orders without human confirmation risks spam or misdirected tickets.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Parameter 'name' and 'email' are optional despite being useful for notification. If omitted, work order creates without contact info. Consider making optional clearer or defaulting to empNo lookup.