Skip to content

Commit 4e6d358

Browse files
authored
Merge pull request #32 from lasergoat/fix/readme-mcp-client-setup
docs: fix MCP setup instructions and add Claude Desktop support
2 parents f10bd70 + 88997a3 commit 4e6d358

File tree

1 file changed

+45
-5
lines changed

1 file changed

+45
-5
lines changed

README.md

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -233,9 +233,9 @@ Because the agent that can only use pre-built tools hits a ceiling. Phantom buil
233233

234234
</div>
235235

236-
## Connect from Claude Code
236+
## Connect from Claude
237237

238-
Generate a token, then add Phantom to your MCP config.
238+
First, generate a token. The command outputs a bearer token — save it for the next step.
239239

240240
**Bare metal:**
241241
```bash
@@ -249,13 +249,25 @@ docker exec phantom bun run phantom token create --client claude-code --scope op
249249

250250
**Or just ask your Phantom in Slack:** "Create an MCP token for Claude Code." It will generate the token and give you the config snippet.
251251

252-
Then add this to your Claude Code MCP config:
252+
Then use the token to connect. Replace `YOUR_TOKEN` below with the token from the command above. For local instances, use `http://localhost:3100/mcp` instead of the `ghostwright.dev` URL.
253+
254+
### Claude Code (CLI)
255+
256+
Add via the CLI:
257+
258+
```bash
259+
claude mcp add phantom https://your-phantom.ghostwright.dev/mcp \
260+
--transport http \
261+
--header "Authorization: Bearer YOUR_TOKEN"
262+
```
263+
264+
Or add directly to your project's `.mcp.json`:
253265

254266
```json
255267
{
256268
"mcpServers": {
257269
"phantom": {
258-
"type": "streamableHttp",
270+
"type": "http",
259271
"url": "https://your-phantom.ghostwright.dev/mcp",
260272
"headers": {
261273
"Authorization": "Bearer YOUR_TOKEN"
@@ -265,7 +277,35 @@ Then add this to your Claude Code MCP config:
265277
}
266278
```
267279

268-
Now Claude Code can query your Phantom's memory, ask it questions, check status, and use any dynamic tools the agent has built.
280+
### Claude Desktop
281+
282+
Claude Desktop only supports stdio transport, so you need [`mcp-remote`](https://www.npmjs.com/package/mcp-remote) to bridge the connection.
283+
284+
Add this to your `claude_desktop_config.json` (Settings → Developer → Edit Config):
285+
286+
```json
287+
{
288+
"mcpServers": {
289+
"phantom": {
290+
"command": "npx",
291+
"args": [
292+
"mcp-remote",
293+
"https://your-phantom.ghostwright.dev/mcp",
294+
"--header",
295+
"Authorization: Bearer YOUR_TOKEN"
296+
]
297+
}
298+
}
299+
}
300+
```
301+
302+
Restart Claude Desktop after saving. The first connection may take a moment while `mcp-remote` is downloaded.
303+
304+
Restart Claude Desktop after saving. The first connection may take a moment while `mcp-remote` is downloaded.
305+
306+
### Verify
307+
308+
Once connected, Claude can query your Phantom's memory, ask it questions, check status, and use any dynamic tools the agent has built.
269309

270310
## Self-Evolution
271311

0 commit comments

Comments
 (0)