Clarity PPM MCP服务器v3.1
CA Clarity PPM的人工智能聊天助手,具有对话记忆、动态工具和视觉分析功能。
🚀 特性
- 与Claude进行人工智能聊天 -Clarity数据的自然语言查询
- 对话记忆 -记住消息中的上下文
- 从图表向下钻取 -单击图表值以筛选数据
- 聪明的建议 -情境感知的后续行动
- 深层链接 -直接链接到Clarity页面
- 动态工具 -基于权限的工具可用性
- 会话管理 -通过Clarity Cookie保护会话
📁 项目结构
├── src/ # Server source code
│ ├── index.ts # Express server & API endpoints
│ ├── aiChatHandler.ts # AI chat logic with Claude
│ ├── constants.ts # Configuration constants
│ ├── services/
│ │ ├── ClarityApiClient.ts # HTTP client for Clarity
│ │ ├── MetadataService.ts # Object/field discovery
│ │ ├── LookupService.ts # Lookup value resolution
│ │ ├── ContextService.ts # Conversation memory
│ │ ├── DeepLinkService.ts # URL generation
│ │ └── SuggestionService.ts # Smart suggestions
│ ├── tools/
│ │ ├── ToolRegistry.ts # Dynamic tool management
│ │ └── SessionManager.ts # Session & permissions
│ └── types/
│ ├── clarity.ts # Clarity API types
│ └── context.ts # Context/session types
├── extension/ # Chrome Extension
│ ├── manifest.json
│ ├── background.js # Session extraction
│ ├── content.js # Chat widget
│ ├── styles.css
│ ├── popup.html
│ └── popup.js
├── package.json
├── tsconfig.json
└── README.md🛠️ 安装
服务器(Railway/Node.js)
- 克隆存储库:
git clone https://github.com/idan19933/mcp-with-context.git
cd mcp-with-context- 安装依赖项:
npm install- 配置环境变量:
cp .env.example .env
# Edit .env with your settings- 构建并运行:
npm run build
npm startChrome 扩展
- 打开Chrome浏览器→
chrome://extensions/ - 启用 开发者模式
- 点击 加载未打包的
- 选择
extension/文件夹
⚙️ 环境变量
| 变量 | 描述 | 示例 |
|---|---|---|
CLARITY_BASE_URL | Clarity REST API URL | http://clarity.example.com/ppm/rest/v1 |
CLARITY_USERNAME | 清晰用户名 | admin |
CLARITY_PASSWORD | 清晰密码 | password |
ANTHROPIC_API_KEY | API密钥 | sk-ant-... |
PORT | 服务器端口 | 3000 |
📡 API终点
聊天
POST /api/chat-发送消息(打开)POST /api/chat/secure-使用会话发送消息
会话
POST /api/session-创建会话GET /api/session/:id-获取会话信息DELETE /api/session/:id-结束会话POST /api/session/:id/refresh-延长会话
工具
GET /api/tools?sessionId=xxx-获取可用工具GET /api/tools/categories?sessionId=xxx-按类别划分的工具
清晰度
GET /api/objects/custom-列出自定义对象GET /api/objects/:type/metadata-获取对象元数据GET /api/clarity/*-Clarity API代理
健康
GET /health-服务器健康检查
🔐 权限级别
| 角色 | 权限 |
|---|---|
readonly | 阅读 |
analyst | 读取、分析、导出 |
editor | 阅读、分析、写作 |
manager | 读取、分析、写入、导出、自定义对象 |
admin | 所有权限 |
💬 用法示例
自然语言查询
"Show me project distribution by status"
"List all active tasks in project X"
"Create a chart of resources by department"
"How many custom objects do we have?"后续行动
User: "Show distribution by status"
AI: [Chart with Active: 50, Completed: 30]
User: "Show me the active ones"
AI: [Filtered list of 50 Active records + link]🔧 发展
# Run in development mode
npm run dev
# Build for production
npm run build
# Type check
npx tsc --noEmit📦 铁路部署
- 推送到GitHub
- 连接铁路中的仓库
- 设置环境变量
- 部署!
🤝 贡献
- 克隆该仓库
- 创建要素分支
- 进行更改
- 提交拉取请求
📄 许可证
MIT许可证
