PetPals KittyClaw MCP Server
Manages KittyClaw task board workflows for AI agents, providing a safe control plane without shell or git access.
README
PetPals KittyClaw MCP Server
MCP Server for managing KittyClaw task board — a safe control plane for AI agents without direct repository, shell, or git access.
What This MCP Server Does
This MCP server allows ChatGPT to manage project workflows through KittyClaw (a kanban task board), while never gaining direct access to:
- Shell commands
- Git operations (commit, push, clone)
- Repository file editing
- Arbitrary HTTP requests
Architecture
ChatGPT (via OpenAI MCP Tunnel)
↓ MCP stdio
PetPals KittyClaw MCP Server
↓ REST API (localhost:5230)
KittyClaw Task Board
↓ tickets / comments / status / evidence
Agents (Codex / Cursor / Jules / etc.)
↓ branch / worktree / validation output
PetPals Repository
↓ completion report / evidence
KittyClaw Review → Verified → Human Approval → Done
ChatGPT acts as architect / planner / reviewer.
KittyClaw is the control plane + evidence hub.
Agents are executors.
Danil (you) is the owner / final approver.
Installation
git clone https://github.com/Danissimode/petpals-kittyclaw-mcp.git
cd petpals-kittyclaw-mcp
npm install
npm run build
Configuration
Copy the example policy and edit it:
mkdir -p ~/.config/petpals-kittyclaw-mcp
cp config/policy.example.yaml ~/.config/petpals-kittyclaw-mcp/policy.yaml
# Edit allowed_projects, labels, transitions as needed
Set environment variables (optional):
export KITTYCLAW_BASE_URL=http://localhost:5230
export KITTYCLAW_AUTHOR=chatgpt
export PETPALS_KITTYCLAW_POLICY=~/.config/petpals-kittyclaw-mcp/policy.yaml
export PETPALS_KITTYCLAW_AUDIT_LOG=~/.local/share/petpals-kittyclaw-mcp/audit.jsonl
Running Locally (stdio)
npm run build
node dist/index.js
With custom config:
node dist/index.js --config ~/.config/petpals-kittyclaw-mcp/policy.yaml
Connecting via OpenAI Secure MCP Tunnel
1. Initialize
export CONTROL_PLANE_API_KEY="sk-..."
export CONTROL_PLANE_TUNNEL_ID="tun_..."
./scripts/openai-tunnel-init-stdio.sh
2. Doctor Check
./scripts/openai-tunnel-doctor.sh
3. Run Tunnel
./scripts/openai-tunnel-run.sh
4. Emergency Stop
./scripts/emergency-stop.sh
MCP Tools Exposed
Read-Only Board Tools
| Tool | Description |
|---|---|
kitty.projects.list |
List allowed projects |
kitty.project.get |
Get project details |
kitty.board.summary |
Compact board snapshot |
kitty.columns.list |
List columns |
kitty.members.list |
List members |
kitty.labels.list |
List labels |
kitty.tickets.list |
List tickets (compact) |
kitty.ticket.get |
Get ticket details + comments |
kitty.comments.list |
List comments |
kitty.mentions.get |
Get mentions for handle |
kitty.blockers.list |
List blocked tickets |
Mutating Ticket Tools
| Tool | Description |
|---|---|
kitty.ticket.create |
Create ticket with author |
kitty.ticket.add_comment |
Add comment with author |
kitty.ticket.update_description |
Update description |
kitty.ticket.assign_member |
Assign member |
kitty.ticket.set_priority |
Set priority (Idea/NiceToHave/Required/Critical) |
kitty.ticket.add_label |
Add label |
kitty.ticket.create_subtask |
Create subtask |
kitty.ticket.move_status |
Move status (with policy enforcement) |
PetPals Governance Tools
| Tool | Description |
|---|---|
petpals.create_task_contract |
Attach structured Task Contract to ticket |
petpals.attach_acceptance_criteria |
Attach acceptance criteria |
petpals.attach_validation_commands |
Attach validation commands (text only) |
petpals.request_agent_completion_report |
Request structured completion report |
petpals.review_completion_report |
Review evidence and return verdict |
petpals.mark_ready_for_human_review |
Mark for human review |
petpals.reject_completion |
Reject completion with reason |
petpals.mark_verified |
Mark as verified (never Done) |
audit.recent |
Read recent audit events |
Denied Tools (Explicitly Blocked)
These tools do not exist in this MCP server:
run_shell_commandgit_commit,git_pushdelete_ticket,delete_projectmove_to_done_without_reviewexecute_agent_directlyedit_repo_filesapply_patchgeneric_http_requestraw_openapi_call
Status Model
Backlog → Ready → InProgress → Review → ChangesRequested
↓ ↓
Blocked Verified → Done (owner only)
↓
Rejected (owner only)
- ChatGPT can move: Backlog↔Ready, InProgress→Blocked/Review, Review→ChangesRequested/Verified, ChangesRequested→InProgress
- Agent can move: Ready→InProgress, InProgress→Review/Blocked
- Owner can move: Verified→Done, Any→Rejected
Security Model
See docs/security-model.md for full details.
Key principles:
- No shell execution
- No git operations
- No direct repo file access
- No generic HTTP proxy
- Comments are untrusted data (prompt injection protection)
- Owner-only Done transition
- Audit logging of all tool calls
- Secret redaction in outputs and logs
Workflow
See docs/petpals-workflow.md for the full PetPals evidence workflow.
Tech Stack
- Node.js 20+
- TypeScript 5.7
@modelcontextprotocol/sdk(stdio transport)zod(input validation)undici/ native fetch (HTTP client)yaml(policy config)vitest(testing)
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。