원클릭으로
mcpctl
// Manage MCP server configurations — add, remove, list, inspect, troubleshoot. Use when asked to "add mcp server", "remove mcp", "list mcp servers", "mcp status", "configure mcp", "troubleshoot mcp", or any MCP server management task.
// Manage MCP server configurations — add, remove, list, inspect, troubleshoot. Use when asked to "add mcp server", "remove mcp", "list mcp servers", "mcp status", "configure mcp", "troubleshoot mcp", or any MCP server management task.
| name | mcpctl |
| description | Manage MCP server configurations — add, remove, list, inspect, troubleshoot. Use when asked to "add mcp server", "remove mcp", "list mcp servers", "mcp status", "configure mcp", "troubleshoot mcp", or any MCP server management task. |
Manage MCP server configurations for pi-mcp-adapter. Supports global and project scopes, stdio and HTTP server types.
pi-mcp-adapter merges configs in this order (later wins):
~/.pi/agent/mcp.json.pi/mcp.json in project rootProject-level entries override global entries with the same name.
Project .pi/mcp.json can import servers from other tools:
{
"imports": ["vscode", "cursor", "claude-code"],
"mcpServers": {
"my-server": { ... }
}
}
Supported import sources: vscode, cursor, claude-code, codex, windsurf. Imported servers are merged between global and project configs.
| Scope | Config file | Managed by | How to edit |
|---|---|---|---|
| Global | ~/.pi/agent/mcp.json | Nix (home-manager) | Edit ~/.dotfiles/home/common/programs/pi-coding-agent/mcp.json, then just home |
| Project | .pi/mcp.json (project root) | Direct | Write file directly |
Global is nix-managed. The file at ~/.pi/agent/mcp.json is a symlink to the nix store. To change it:
~/.dotfiles/home/common/programs/pi-coding-agent/mcp.jsonjust home (or just rebuild) to apply/reloadProject is direct. Write .pi/mcp.json in the project root. No rebuild needed — just /reload.
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "package-name@latest"],
"env": { "KEY": "value" },
"cwd": "/optional/working/dir"
}
}
}
{
"mcpServers": {
"server-name": {
"url": "http://localhost:8080/mcp",
"headers": { "Authorization": "Bearer token" }
}
}
}
Short form (URL only, type inferred):
{
"mcpServers": {
"server-name": {
"url": "https://example.com/mcp"
}
}
}
| Field | Type | Description |
|---|---|---|
command | string | Executable to run (stdio) |
args | string[] | Command arguments (stdio) |
env | object | Environment variables (stdio) |
cwd | string | Working directory (stdio) |
url | string | Server URL (HTTP) |
headers | object | HTTP headers (HTTP) |
auth | "oauth" or "bearer" | Auth method (HTTP) |
bearerToken | string | Static bearer token |
bearerTokenEnv | string | Env var name for bearer token |
lifecycle | "lazy" / "eager" / "keep-alive" | Connection strategy (default: lazy) |
idleTimeout | number | Minutes before idle disconnect |
debug | boolean | Show server stderr |
Lifecycle modes:
.pi/mcp.json for project)mcpServers objectjust home is needed, then /reload/reloadmcp({ connect: "server-name" }) then mcp({ server: "server-name" })mcpServersjust home is needed/reload to apply~/.dotfiles/home/common/programs/pi-coding-agent/mcp.json.pi/mcp.json in cwd (if exists)mcp({}) to check which are currently connected and list their toolsmcp({ server: "server-name" }) to list available toolsmcp({ connect: "server-name" }) to test connection if not connectedWhen a server isn't working:
mcp({ connect: "server-name" })which <command>), check env varscurl -s -o /dev/null -w "%{http_code}" <url>)Structured workflow for research → plan → tickets → work. Use when starting or continuing a task with /task, /plan, or /tickets commands.
Create and refine tickets for the tk ticket system. Use when the user says 'create tickets for X', 'refine ticket X', 'break this into tickets', 'seed tickets from plan', or anything about creating or refining tk tickets.
Work on a single tk ticket end-to-end. Use when the user says 'work on ticket X' or when spawned by work-tickets.sh.
REQUIRED when user says 'pickup', '/pickup', 'handoff', '/handoff' — MUST load this skill BEFORE any other work. Compacts conversations into handoff docs or resumes work from a prior handoff document.
Interact with web pages using Chrome DevTools Protocol. Launches a managed browser instance (Helium / Brave Nightly / Chrome) with an isolated profile and exposes nav, eval, screenshot, pick, and emulation helpers. Run scripts/start.js first.
Delegate tasks to other agents - pi sessions or external agents (claude, opencode, aider). Non-blocking with task tracking and completion notifications.