Appian MCP服务器
一个模型上下文协议(MCP)服务器,用于使用Node.js与Appian API无缝集成。
概述
此MCP服务器提供了一个与Appian应用程序交互的标准化接口,允许AI应用程序:
- 查询和管理记录
- 创建、更新和删除记录
- 执行流程
- 查询报告
特性
- 记录管理:获取、创建、更新和删除Appian记录
- 流程执行:使用输入参数执行Appian进程
- 报表查询:使用筛选器查询Appian报告
- TypeScript支持:使用TypeScript构建类型安全
- 错误处理:全面的错误处理和记录
- 可配置的身份验证:支持API密钥和OAuth
先决条件
- Node.js 16或更高版本
- npm或纱线
- Appian配置(租户、凭据)
安装
- 克隆或导航到项目目录
- 安装依赖项:
npm install- 设置环境变量:
cp .env.example .env
# Edit .env with your Appian credentials配置
环境变量
APPIAN_TENANT:您的Appian租户名称(例如“mycompany”)APPIAN_API_KEY:用于身份验证的API密钥(推荐)APPIAN_CLIENT_ID:OAuth客户端ID(替代身份验证)APPIAN_CLIENT_SECRET:OAuth客户端密钥(替代身份验证)APPIAN_BASE_URL:自定义Appian API基本URL(可选)
MCP配置
这 .vscode/mcp.json 文件配置MCP服务器以与LLM应用程序一起使用:
{
"servers": {
"appian-mcp-server": {
"type": "stdio",
"command": "node",
"args": ["dist/index.js"]
}
}
}可用工具
获取记录
从Appian记录类型中检索记录。
参数:
recordType(string,必填):Appian记录类型的名称limit(整数,可选):要返回的最大记录数(默认值:100)offset(整数,可选):分页时要跳过的记录数(默认值:0)
create_record
在Appian应用程序中创建新记录。
参数:
recordType(string,必填):Appian记录类型的名称data(object,必填):要创建的记录数据
update_record
更新现有记录。
参数:
recordType(string,必填):Appian记录类型的名称recordId(string,必填):要更新的记录的IDdata(object,必填):要更新的字段
删除记录
从Appian应用程序中删除记录。
参数:
recordType(string,必填):Appian记录类型的名称recordId(string,必填):要删除的记录的ID
执行过程
执行Appian进程。
参数:
processName(string,必填):Appian进程的名称inputs(对象,可选):流程的输入参数
查询报告
查询Appian报告。
参数:
reportName(string,必填):Appian报告的名称filters(对象,可选):应用于报告的筛选器
建筑
将TypeScript源代码构建为JavaScript:
npm run build发展
对于自动编译的开发:
npm run watch然后在另一个终端中,启动服务器:
npm start运行MCP服务器
直接执行
npm run dev在VS代码中
- 确保项目建成:
npm run build - 使用MCP检查器工具或通过LLM应用程序连接
- 服务器将通过stdio进行通信
API集成
服务器使用axios与Appian REST API进行HTTP通信。更新 appian-client.ts 文件,以根据需要添加其他Appian操作。
错误处理
该服务器包括全面的错误处理功能,用于:
- 网络故障
- 身份验证错误
- 记录类型或ID无效
- API验证错误
错误以MCP响应格式返回,并附有详细的错误消息。
扩展服务器
要添加新的Appian操作,请执行以下操作:
- 添加新方法
AppianClient在src/appian-client.ts - 在中添加新的工具定义
ListToolsRequestSchema处理程序在src/index.ts - 在中添加新案例
CallToolRequestSchema处理程序调用您的方法 - 重建:
npm run build
安全考虑
- 安全存储API密钥(使用环境变量或秘密管理)
- 永不承诺
.env文件到版本控制 - 对所有Appian API通信使用HTTPS
- 在LLM应用程序中实施适当的访问控制
故障排除
连接问题
- 验证您的
APPIAN_TENANT是正确的 - 请确保您的API密钥有效并且具有必要的权限
- 检查您的Appian实例是否可以从网络访问
身份验证错误
- 验证您的凭据
.env文件 - 检查API密钥是否尚未过期
- 确认配置了正确的身份验证方法
构建错误
- 确保已安装TypeScript:
npm install - 检查TypeScript编译错误:
npm run build
许可证
麻省理工学院
