# MCP Manager

Manage MCP (Model Context Protocol) servers for openclacky: add, list, probe, remove...

- Repository: https://github.com/clacky-ai/openclacky (1209 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add clacky-ai/openclacky --skill mcp-manager -g -a claude-code -y`
Codex: `npx skills add clacky-ai/openclacky --skill mcp-manager -g -a codex -y`
Cursor: `npx skills add clacky-ai/openclacky --skill mcp-manager -g -a cursor -y`
Gemini CLI: `npx skills add clacky-ai/openclacky --skill mcp-manager -g -a gemini-cli -y`

## Description

Manage MCP (Model Context Protocol) servers for openclacky: add, list, probe, remove, reconfigure. Edits ~/.clacky/mcp.json so the user never writes JSON by hand. Trigger on: add mcp, install mcp, setup mcp, configure mcp, mcp list, mcp remove, mcp probe, mcp reconfigure.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# MCP Manager Skill

Manage MCP servers for openclacky. The user's MCP configuration lives at
`~/.clacky/mcp.json` (the same format Claude Desktop and Cursor use). You never
ask the user to edit it by hand, you do it for them through the local clacky
HTTP API.

---

## Command Parsing

| User says | Subcommand |
|---|---|
| `add mcp`, `install mcp`, `connect <something>`, "I want clacky to read my files / access github / query my db / search the web" | `add` |
| `mcp list`, `mcp status`, "what mcps do I have" | `list` |
| `mcp probe <name>`, "what tools does <name> have" | `probe` |
| `mcp remove <name>`, `mcp delete <name>` | `remove` |
| `mcp reconfigure <name>`, `mcp fix <name>` | `reconfigure` |

If the intent is unclear, default to **`add`**, it's the most common ask.

---

## Server Coordinates

All API calls go to the local clacky server. The host and port are exposed via
environment variables:

```bash
HOST="${CLACKY_SERVER_HOST:-127.0.0.1}"
PORT="${CLACKY_SERVER_PORT:-7070}"
BASE="http://${HOST}:${PORT}"
```

All write operations require requests to come from `127.0.0.1` or `::1`. They
will, because we're running locally.

---

## API Cheat Sheet

| Action | Call |
|---|---|
| List configured servers | `curl -s ${BASE}/api/mcp` |
| Add a server | `curl -s -X POST ${BASE}/api/mcp -H 'Content-Type: application/json' -d '{...}'` |
| Update a server | `curl -s -X PUT ${BASE}/api/mcp/<name> -H 'Content-Type: application/json' -d '{...}'` |
| Remove a server | `curl -s -X DELETE ${BASE}/api/mcp/<name>` |
| Probe tools | `curl -s -X POST ${BASE}/api/mcp/<name>/probe` |

Request body for create/update, **stdio** (local process, default):

```json
{
  "name": "filesystem",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/Documents"],
  "env": { "API_KEY": "xxx" },
  "description": "Read/write files in ~/Documents"
}
```

Request body for create/update, **http** (remote server, streamable-http):

The rest: https://github.com/clacky-ai/openclacky/blob/HEAD/lib/clacky/default_skills/mcp-manager/SKILL.md
