Planview MCP 服务器
Planview Enterprise One 的 MCP 服务器,支持 Okta 无密码认证和自动工时表填写。
这是做什么的
- 使用 Okta Verify 登录 Planview(无需密码)
- 📊 访问Planview API(工作项、项目、用户)
- 🤖 自动填写工时表,使用
/complete-timesheets命令
快速入门
步骤1:克隆并安装
git clone
cd planview-mcp
npm install
npx playwright install chromium第二步:配置
Linux/macOS:
cp .mcp.json.example .mcp.json
nano .mcp.json # or use any text editorWindows:
copy .mcp.json.windows.example .mcp.json
notepad .mcp.json # or use any text editor编辑该 env 部分在 .mcp.json 提供您的Planview详细信息:
PLANVIEW_BASE_URL贵公司的Planview网址OKTA_USERNAME您的电子邮件地址
步骤3:验证身份
npm run okta-login这将打开一个浏览器,并等待您在手机上批准Okta Verify通知。
步骤4:构建并重启Claude
npm run build然后重启Claude Code以加载MCP服务器。
使用方法
可用命令
| 命令 | 描述 |
|---|---|
/complete-timesheets | 自动填充所有逾期的时间表(每天8小时,每周40小时) |
可用工具
直接在Claude中使用这些:
planview_get_work_items- 列出工作项目planview_get_projects- 列出项目planview_get_current_user- 获取您的用户信息planview_update_work_item- 更新一个工作项planview_execute_request- 发起自定义API调用
更多示例
见 \EXAMPLES.md\ 翻译成中文是:“示例.md” 或 “示例文件.md”,其中 \.md\ 是 Markdown 文本文件的扩展名 包含详细使用示例:
- 工时表自动化工作流程
- 工作项管理
- 自定义API请求
- 创建你自己的命令
- 故障排除技巧
它是如何工作的
这个设置使用 两台MCP服务器:
- Planview MCP(注:MCP在此处可能代表特定的含义或缩写,但根据上下文无法确定具体含义,因此直接保留原样) (这个仓库) - 处理Planview API和身份验证
- 剧作家MCP (自动安装)- 处理工时表的浏览器自动化
两者都在您的(配置中) .mcp.json 文件。当Claude启动时,Playwright MCP会自动下载。
认证流程:
- 你跑
npm run okta-login一次 - 创建
planview-auth.json与您的会话一起 - 两台MCP服务器都使用这个会话文件
- 会话过期时重新认证
故障排除
| 问题 | 解决方案 |
|---|---|
| "认证错误" | 运行 npm run okta-login |
| “登录时无法看到浏览器” | 添加 HEADLESS=true 之前 npm run okta-login |
| Windows npx 警告 | 使用 .mcp.json.windows.example (有 cmd /c (包装器) |
| “工时表自动化失败” | 检查 .mcp.json 两者都有 planview 和 playwright 服务器 |
| “缺少 PLANVIEW_BASE_URL” | 请检查 env (位于)……的部分 .mcp.json |
配置
本地设置(推荐)
使用 .mcp.json 在这个仓库目录中。
Linux/macOS: 用途 npx 直接
{
"mcpServers": {
"planview": {
"command": "node",
"args": ["dist/index.js"],
"env": {
"PLANVIEW_BASE_URL": "https://yourcompany.pvcloud.com/planview",
"PLANVIEW_STORAGE_STATE": "planview-auth.json",
"OKTA_USERNAME": "your.email@company.com"
}
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}Windows(系统/操作系统) 需要 cmd /c 包装器;外壳;封装
{
"mcpServers": {
"planview": {
"command": "node",
"args": ["dist/index.js"],
"env": {
"PLANVIEW_BASE_URL": "https://yourcompany.pvcloud.com/planview",
"PLANVIEW_STORAGE_STATE": "planview-auth.json",
"OKTA_USERNAME": "your.email@company.com"
}
},
"playwright": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@playwright/mcp@latest"]
}
}
}全局设置(所有项目)
在Claude代码中添加MCP设置,使用 绝对路径。
Linux/macOS:
{
"mcpServers": {
"planview": {
"command": "node",
"args": ["/full/path/to/planview-mcp/dist/index.js"],
"env": {
"PLANVIEW_BASE_URL": "https://yourcompany.pvcloud.com/planview",
"PLANVIEW_STORAGE_STATE": "/full/path/to/planview-mcp/planview-auth.json",
"OKTA_USERNAME": "your.email@company.com"
}
},
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp@latest"]
}
}
}Windows(视窗操作系统):
{
"mcpServers": {
"planview": {
"command": "node",
"args": ["C:\\full\\path\\to\\planview-mcp\\dist\\index.js"],
"env": {
"PLANVIEW_BASE_URL": "https://yourcompany.pvcloud.com/planview",
"PLANVIEW_STORAGE_STATE": "C:\\full\\path\\to\\planview-mcp\\planview-auth.json",
"OKTA_USERNAME": "your.email@company.com"
}
},
"playwright": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@playwright/mcp@latest"]
}
}
}为何选择克隆而非直接安装?
这个MCP需要克隆,因为:
- 认证创建
planview-auth.json本地地 - 两个MCP服务器都需要访问同一个认证文件
- 每家公司的Planview网址都不同
- 配置已设置在
.mcp.json(提交到仓库)
直接通过GitHub URL安装将不起作用 由于这些本地文件要求。
发展
npm run dev # Watch mode (auto-rebuild)
npm run build # Build once
npm start # Run server manuallyAPI 文档
查看Planview API文档,请访问: https://yourcompany.pvcloud.com/planview/swagger/index.html
安全
永远不要提交这些文件 (已经在 .gitignore):
.mcp.json- 您的凭据配置planview-auth.json- 您的会话
许可证
麻省理工学院(MIT)
