一个MCP服务器,它将ServiceNow Fluent SDK的功能带入AI辅助开发环境。支持与ServiceNow SDK命令、API规范、代码片段和开发资源进行自然语言交互。
auth, init, build, install, dependencies, transform, download, clean, packbasic和oauth认证,并具有配置文件管理此MCP服务器实现了完整的模型上下文协议规范,具有以下功能:
采样(MCP 2024-11-05) - 当SDK命令失败时,利用客户端LLM进行智能错误分析
FLUENT_MCP_ENABLE_ERROR_ANALYSIS环境变量配置提取(MCP 2024-11-05) - 复杂工作流的交互式参数收集
init_fluent_app - 提示缺失的项目参数(workingDirectory, template, appName等)会话管理 - 跟踪每个会话的工作目录以支持多项目工作流
根目录回退 - 当未设置会话目录时自动回退到MCP根目录上下文
错误处理 - 全面的错误消息并提供可操作的指导
类型安全 - 完整的TypeScript实现,具有严格的类型检查
# 使用MCP Inspector测试
npx @modelcontextprotocol/inspector npx @modesty/fluent-mcp
# 或在您的MCP客户端中使用(参见配置部分)
示例提示:
在~/projects/time-off-tracker创建一个新的Fluent应用来管理员工PTO请求
| 工具 | 描述 | 关键参数 |
|---|---|---|
sdk_info | 获取SDK版本、帮助或调试信息 | flag (-v/-h/-d), command (可选) |
manage_fluent_auth | 管理实例认证配置文件 | add, list, delete, use, type (basic/oauth) |
init_fluent_app | 初始化或转换ServiceNow应用 | workingDirectory (必需), template, from (可选) |
build_fluent_app | 构建应用 | debug (可选) |
deploy_fluent_app | 部署到ServiceNow实例 | auth (可选), debug (可选) |
fluent_transform | 将XML转换为Fluent TypeScript | from, auth (可选) |
download_fluent_dependencies | 下载依赖项和类型定义 | auth (可选) |
download_fluent_app | 从实例下载元数据 | directory, incremental (可选) |
clean_fluent_app | 清理输出目录 | source (可选) |
pack_fluent_app | 创建可安装的工件 | source (可选) |
注意:
manage_fluent_auth,init_fluent_app和download_fluent_dependencies是交互式命令。使用init_fluent_app来建立后续命令的工作目录上下文。
遵循MCP规范的标准URI模式:
| 资源类型 | URI模式 | 示例 | 目的 |
|---|---|---|---|
| API规范 | sn-spec://{type} | sn-spec://business-rule | API文档和参数 |
| 指南 | sn-instruct://{type} | sn-instruct://script-include | 最佳实践和指导 |
| 代码片段 | sn-snippet://{type}/{id} | sn-snippet://acl/0001 | 实用代码示例 |
| 提示 | sn-prompt://{id} | sn-prompt://coding_in_fluent | 开发指南 |
核心类型: acl, application-menu, business-rule, client-script, cross-scope-privilege, form, list, property, role, scheduled-script, script-action, script-include, scripted-rest, service-portal, table, ui-action, ui-page, user-preference
表类型: column, column-generic
ATF(自动化测试框架): atf-appnav, atf-catalog-action, atf-catalog-validation, atf-catalog-variable, atf-email, atf-form, atf-form-action, atf-form-declarative-action, atf-form-field, atf-reporting, atf-rest-api, atf-rest-assert-payload, atf-server, atf-server-catalog-item, atf-server-record
需求: Node.js 22.15.1+, npm 11.4.1+
添加到您的MCP客户端配置文件:
{
"mcpServers": {
"fluent-mcp": {
"command": "npx",
"args": ["-y", "@modesty/fluent-mcp"],
"env": {
"SN_INSTANCE_URL": "https://your-instance.service-now.com",
"SN_AUTH_TYPE": "oauth"
}
}
}
}
客户端特定位置:
~/Library/Application Support/Claude/claude_desktop_config.json.vscode/mcp.json(使用命令面板:MCP: 添加服务器...)~/.gemini/settings.jsonVSCode注意事项: 对于VSCode,JSON结构使用的是
"mcp": { "servers": { ... } }而不是"mcpServers"。
环境变量:
SN_INSTANCE_URL - ServiceNow实例URL(可选,可以使用认证配置文件代替)SN_AUTH_TYPE - 认证方法:basic或oauth(可选)FLUENT_MCP_ENABLE_ERROR_ANALYSIS - 启用AI错误分析(默认:true)FLUENT_MCP_MIN_ERROR_LENGTH - 分析的最小错误长度(默认:50)设置认证
为https://dev12345.service-now.com创建一个新的认证配置文件,别名为dev-instance
初始化项目
在~/projects/asset-tracker创建一个新的Fluent应用用于IT资产管理
使用资源开发
显示业务规则API规范并提供一个示例片段
构建和部署
使用调试输出构建应用,然后部署到dev-instance
MCP Inspector提供了测试MCP服务器的Web界面。
# 测试已发布的包
npx @modelcontextprotocol/inspector npx @modesty/fluent-mcp
# 或对于本地开发
npm run build && npm run inspect
目标: 访问业务规则的API规范和代码片段
步骤:
sn-spec://business-rulesn-snippet://business-rule/0001预期结果:
目标: 验证SDK版本和帮助信息检索
步骤:
sdk_infoflag参数设置为-vflag参数设置为-hcommand参数设置为build预期结果:
MIT