Rock MCP服务器
用于与RockRMS API交互的模型上下文协议(MCP)服务器。该服务器提供通过MCP协议访问RockRMS API端点的工具。
安装
- 克隆存储库:
git clone
cd rock-mcp- 安装依赖项:
npm install- 构建项目:
npm run build配置
环境变量
使用环境变量配置您的RockRMS API连接。服务器支持 .env 文件,便于配置。
- 复制示例配置:
cp config.env.example .env- 编辑
.env文件中包含您的实际值:
# Rock RMS API Configuration
ROCK_API_BASE_URL=https://your-rock-instance.com
# Authentication (username/password is recommended)
ROCK_USERNAME=your_username
ROCK_PASSWORD=your_password
# Server Configuration (optional)
PORT=3003- 替代方案:直接设置环境变量:
export ROCK_API_BASE_URL="https://rock.yourdomain.com"
export ROCK_USERNAME="your-username"
export ROCK_PASSWORD="your-password"
export PORT="3003"可用环境变量
ROCK_API_BASE_URL-您的RockRMS实例URL(必填)ROCK_USERNAME-您的RockRMS用户名(推荐)ROCK_PASSWORD-您的RockRMS密码(推荐)ROCK_API_KEY-您的RockRMS API密钥(可选,可能有权限限制)PORT-服务器端口(默认值:3003用于流式HTTP,3002用于SSE,3001用于stdio)
注: 用户名/密码身份验证是首选方法。API密钥可能具有阻止访问某些终结点的权限限制。
用法
Rock MCP服务器支持三种不同的传输模式:
流式HTTP(推荐)
具有更好性能和稳定性的现代传输协议:
npm run dev # Default mode
npm run dev:streamable # Explicit streamable HTTP端点: http://localhost:3003/mcp
SSE(服务器发送事件)
远程连接的HTTP+SSE传输:
npm run dev:sse端点: http://localhost:3002/sse
标准输入/输出
MCP直接通信的本地传输模式:
npm run dev:stdio
npm start # Production mode沟通: 标准输入/输出流
光标IDE配置
将以下内容添加到您的 .cursor/mcp.json 文件:
对于流式HTTP(推荐):
{
"mcpServers": {
"rock-mcp-server": {
"url": "http://localhost:3003/mcp",
"env": {
"ROCK_API_BASE_URL": "https://your-rock-instance.com",
"ROCK_USERNAME": "your_username",
"ROCK_PASSWORD": "your_password"
}
}
}
}对于SSE:
{
"mcpServers": {
"rock-mcp-server": {
"url": "http://localhost:3002/sse",
"env": {
"ROCK_API_BASE_URL": "https://your-rock-instance.com",
"ROCK_USERNAME": "your_username",
"ROCK_PASSWORD": "your_password"
}
}
}
}对于Stdio:
{
"mcpServers": {
"rock-mcp-server": {
"command": "node",
"args": ["dist/server.js"],
"cwd": "/path/to/rock-mcp",
"env": {
"ROCK_API_BASE_URL": "https://your-rock-instance.com",
"ROCK_USERNAME": "your_username",
"ROCK_PASSWORD": "your_password"
}
}
}
}可用工具
获取页面
从RockRMS检索页面:
{
"name": "get_pages",
"arguments": {
"params": {
"$filter": "IsActive eq true",
"$select": "Id,Name,Description,Url",
"$top": 20
}
}
}API调用示例
获取所有活动页面
{
"name": "get_pages",
"arguments": {
"params": {
"$filter": "IsActive eq true",
"$select": "Id,Name,Description,Url"
}
}
}按名称获取特定页面
{
"name": "get_pages",
"arguments": {
"params": {
"$filter": "Name eq 'Home'",
"$select": "Id,Name,Description,Url,Content"
}
}
}OData查询选项
RockRMS API支持OData查询参数:
$filter-筛选结果(例如,“IsActive eq true”)$select-选择特定字段(例如,“Id、名字、姓氏”)$expand-包括相关数据(例如,“个人、团体”)$orderby-对结果进行排序(例如,“姓氏asc”)$top-限制结果数量(例如50)$skip-跳过分页结果数(例如100)
错误处理
服务器包括内置的错误处理,并将返回以下错误消息:
- 找不到API终结点(404)
- 身份验证失败(401)
- 超过API速率限制(429)
- 无效的请求数据(400)
- 服务器错误(500)
- 网络超时或连接问题
发展
建筑
npm run build在发展中奔跑
npm run dev