Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .claude/mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@
"Authorization": "Bearer ${CIPHER_API_TOKEN}"
}
},
"agent-zero": {
"_purpose": "Agent Zero orchestrator for cross-agent task dispatch and memory operations.",
"type": "http",
"url": "http://localhost:8080/mcp"
},
"_pmoves-cipher-legacy-python-wrapper": {
"_disabled": "Replaced 2026-05-15 with direct SSE to Cipher's native MCP endpoint. The Python wrapper called non-existent /api/memory routes. Kept here commented for rollback; remove in follow-up after SSE validated for 2 weeks.",
"command": "uv",
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ yarn-error.log*
# Per-node MCP-config backups created by `docker mcp client connect` flow
.claude/mcp.json.pre-toolkit-connect.bak
.mcp.json.pre-toolkit-connect.bak
*.pre-mcp-bootstrap.bak

# Docker MCP Toolkit's per-node Claude Code MCP registration. Generated by
# `docker mcp client connect claude-code --profile <name>` and contains
Expand Down
80 changes: 77 additions & 3 deletions .kimi/mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,86 @@
"headers": {
"Authorization": "Bearer ${CIPHER_API_TOKEN}"
},
"description": "Agent memory (Neo4j knowledge graph) via Tailscale"
"description": "Agent memory (Neo4j knowledge graph)"
},
"agent-zero": {
"type": "http",
"url": "http://${TS_Z890}:8080/mcp",
"description": "Agent Zero orchestrator via Tailscale"
"description": "Agent Zero orchestrator"
},
"pmoves-nats-fleet": {
"description": "NATS fleet messaging bridge",
"command": "uv",
"args": [
"--directory",
"./pmoves-nats-mcp",
"run",
"python",
"-m",
"nats_mcp.server"
],
"env": {
"NATS_URL": "${NATS_URL}"
}
},
"pmoves-supabase": {
"description": "Supabase PostgREST API",
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-postgrest@0.1.1",
"--apiUrl",
"http://localhost:8000/rest/v1",
"--apiKey",
"${SUPABASE_SERVICE_ROLE_KEY:-${SUPABASE_SERVICE_KEY}}",
"--schema",
"public"
]
},
"supabase-db": {
"description": "Supabase Postgres database",
"command": "uvx",
"args": [
"postgres-mcp@0.3.0",
"--access-mode=unrestricted"
],
"env": {
"DATABASE_URI": "${SUPABASE_DB_URI}"
}
},
"huggingface": {
"description": "HuggingFace model/paper/space search",
"command": "npx",
"args": [
"-y",
"@llmindset/hf-mcp-server@0.3.30"
],
"env": {
"HF_TOKEN": "${HF_TOKEN}"
}
},
"tailscale": {
"description": "Tailscale network administration",
"command": "npx",
"args": [
"-y",
"tailscale-mcp@2026.4.10-1"
],
"env": {
"TAILSCALE_API_KEY": "${TAILSCALE_API_KEY}",
"TAILSCALE_TAILNET": "${TAILSCALE_TAILNET}"
}
},
"pmoves-docker-gateway": {
"description": "Docker MCP Toolkit gateway (stdio) for Claude/Kimi/OpenCode/Crush",
"command": "docker",
"args": [
"mcp",
"gateway",
"run",
"--profile",
"pmoves_5090_web"
]
}
}
}
}
139 changes: 119 additions & 20 deletions kilo.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,28 @@
"apiKey": "${Z_AI_API_KEY}"
},
"models": {
"glm-5.2": { "name": "GLM-5.2 (Latest)" },
"glm-5-turbo": { "name": "GLM-5 Turbo (Agentic)" },
"glm-5.1": { "name": "GLM-5.1 (Reasoning)" },
"glm-5v-turbo": { "name": "GLM-5V Turbo (Vision+Coding)" },
"glm-4.7": { "name": "GLM-4.7 (Balanced Coding)" },
"glm-4-air": { "name": "GLM-4 Air (Fast)" }
"glm-5.2": {
"name": "GLM-5.2 (Latest)"
},
"glm-5-turbo": {
"name": "GLM-5 Turbo (Agentic)"
},
"glm-5.1": {
"name": "GLM-5.1 (Reasoning)"
},
"glm-5v-turbo": {
"name": "GLM-5V Turbo (Vision+Coding)"
},
"glm-4.7": {
"name": "GLM-4.7 (Balanced Coding)"
},
"glm-4-air": {
"name": "GLM-4 Air (Fast)"
}
},
"whitelist": ["glm-*"]
"whitelist": [
"glm-*"
]
},
"minimax": {
"options": {
Expand All @@ -34,16 +48,26 @@
"apiKey": "${MINIMAX_API_KEY}"
},
"models": {
"minimax-m2.7": { "name": "MiniMax-M2.7 (1M Context)" },
"minimax-m2.1": { "name": "MiniMax-M2.1 (100K Context)" }
"minimax-m2.7": {
"name": "MiniMax-M2.7 (1M Context)"
},
"minimax-m2.1": {
"name": "MiniMax-M2.1 (100K Context)"
}
},
"whitelist": ["minimax-*"]
"whitelist": [
"minimax-*"
]
}
},
"mcp": {
"zai-vision": {
"type": "local",
"command": ["npx", "-y", "@z_ai/mcp-server"],
"command": [
"npx",
"-y",
"@z_ai/mcp-server"
],
"environment": {
"Z_AI_API_KEY": "${Z_AI_API_KEY}",
"Z_AI_MODE": "ZAI"
Expand All @@ -52,40 +76,110 @@
"zai-web-search": {
"type": "remote",
"url": "https://api.z.ai/api/mcp/web_search_prime/mcp",
"headers": { "Authorization": "Bearer ${Z_AI_API_KEY}" }
"headers": {
"Authorization": "Bearer ${Z_AI_API_KEY}"
}
},
"zai-web-reader": {
"type": "remote",
"url": "https://api.z.ai/api/mcp/web_reader/mcp",
"headers": { "Authorization": "Bearer ${Z_AI_API_KEY}" }
"headers": {
"Authorization": "Bearer ${Z_AI_API_KEY}"
}
},
"zai-zread": {
"type": "remote",
"url": "https://api.z.ai/api/mcp/zread/mcp",
"headers": { "Authorization": "Bearer ${Z_AI_API_KEY}" }
"headers": {
"Authorization": "Bearer ${Z_AI_API_KEY}"
}
},
"pmoves-cipher": {
"type": "remote",
"url": "http://${TS_Z890}:8105/mcp/sse",
"headers": { "Authorization": "Bearer ${CIPHER_API_TOKEN}" }
"headers": {
"Authorization": "Bearer ${CIPHER_API_TOKEN}"
}
},
"tailscale": {
"type": "local",
"command": ["npx", "-y", "tailscale-mcp@2026.4.10-1"],
"command": [
"npx",
"-y",
"tailscale-mcp@2026.4.10-1"
],
"environment": {
"TAILSCALE_API_KEY": "${TAILSCALE_API_KEY}"
"TAILSCALE_API_KEY": "${TAILSCALE_API_KEY}",
"TAILSCALE_TAILNET": "${TAILSCALE_TAILNET}"
}
},
"huggingface": {
"type": "local",
"command": ["npx", "-y", "@llmindset/hf-mcp-server@0.3.30"],
"command": [
"npx",
"-y",
"@llmindset/hf-mcp-server@0.3.30"
],
"environment": {
"HF_TOKEN": "${HF_TOKEN}"
}
},
"agent-zero": {
"type": "remote",
"url": "http://${TS_Z890}:8080/mcp"
},
"pmoves-nats-fleet": {
"type": "local",
"command": [
"uv",
"--directory",
"./pmoves-nats-mcp",
"run",
"python",
"-m",
"nats_mcp.server"
],
"environment": {
"NATS_URL": "${NATS_URL}"
}
},
"pmoves-supabase": {
"type": "local",
"command": [
"npx",
"-y",
"@supabase/mcp-server-postgrest@0.1.1",
"--apiUrl",
"http://localhost:8000/rest/v1",
"--apiKey",
"${SUPABASE_SERVICE_KEY}",
"--schema",
"public"
]
Comment on lines +146 to +158

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Preserve the Supabase service-role-key fallback.

Line 155 accepts only SUPABASE_SERVICE_KEY, unlike the corresponding Kimi configuration. Environments exposing only SUPABASE_SERVICE_ROLE_KEY will fail authentication.

Proposed fix
-        "${SUPABASE_SERVICE_KEY}",
+        "${SUPABASE_SERVICE_ROLE_KEY:-${SUPABASE_SERVICE_KEY}}",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"pmoves-supabase": {
"type": "local",
"command": [
"npx",
"-y",
"@supabase/mcp-server-postgrest@0.1.1",
"--apiUrl",
"http://localhost:8000/rest/v1",
"--apiKey",
"${SUPABASE_SERVICE_KEY}",
"--schema",
"public"
]
"pmoves-supabase": {
"type": "local",
"command": [
"npx",
"-y",
"`@supabase/mcp-server-postgrest`@0.1.1",
"--apiUrl",
"http://localhost:8000/rest/v1",
"--apiKey",
"${SUPABASE_SERVICE_ROLE_KEY:-${SUPABASE_SERVICE_KEY}}",
"--schema",
"public"
]
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@kilo.json` around lines 146 - 158, Update the pmoves-supabase configuration’s
--apiKey value to support the SUPABASE_SERVICE_ROLE_KEY fallback used by the
corresponding Kimi configuration, while retaining SUPABASE_SERVICE_KEY as the
primary variable. Preserve the existing PostgREST command and other arguments
unchanged.

},
"supabase-db": {
"type": "local",
"command": [
"uvx",
"postgres-mcp@0.3.0",
"--access-mode=unrestricted"
],
"environment": {
"DATABASE_URI": "${SUPABASE_DB_URI}"
}
},
"pmoves-docker-gateway-sse": {
"type": "remote",
"url": "http://localhost:8090/sse",
"headers": {
"Authorization": "Bearer ${MCP_GATEWAY_AUTH_TOKEN}"
}
}
},
"skills": {
"paths": [".kilocode/skills"],
"paths": [
".kilocode/skills"
],
"urls": []
},
"permission": {
Expand All @@ -100,6 +194,11 @@
"zai-zread_*": "allow",
"pmoves-cipher_*": "allow",
"tailscale_*": "allow",
"huggingface_*": "allow"
"huggingface_*": "allow",
"agent-zero_*": "allow",
"pmoves-nats-fleet_*": "allow",
"pmoves-supabase_*": "allow",
"supabase-db_*": "allow",
"pmoves-docker-gateway-sse_*": "allow"
}
}
6 changes: 5 additions & 1 deletion pmoves/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -871,7 +871,7 @@ bootstrap-data: ## Umbrella: Supabase SQL + Neo4j seeds + Qdrant/Meili demo data
@echo " 💡 Run 'make smoke' to verify installation"

.PHONY: first-run
first-run: ## Guided first-run: env setup, Supabase, core services, agents, demo data
first-run: ## Guided first-run: env setup, Supabase, core services, agents, MCPs, demo data
@echo "🚀 PMOVES First-Run Bootstrap"
@echo "================================"
@echo ""
Expand All @@ -883,6 +883,8 @@ first-run: ## Guided first-run: env setup, Supabase, core services, agents, demo
@echo " ✓ Start core services (data tier, workers)"
@echo " ✓ Start agents (Agent Zero, Archon)"
@echo " ✓ Run auth bootstrap (mode=$(AUTH_BOOTSTRAP_MODE), email=$(SUPABASE_BOOT_USER_EMAIL))"
@echo " ✓ Bootstrap Docker MCP Toolkit profile"
@echo " ✓ Register native PMOVES MCP servers (Claude/Kimi/KiloCode configs)"
@echo " ✓ Seed Agent Zero MCP servers"
@echo ""
@$(MAKE) --no-print-directory check-tools
Expand All @@ -892,6 +894,8 @@ first-run: ## Guided first-run: env setup, Supabase, core services, agents, demo
@$(MAKE) --no-print-directory up
@$(MAKE) --no-print-directory up-agents-ui
@$(MAKE) --no-print-directory auth-bootstrap
@$(MAKE) --no-print-directory mcp-toolkit-bootstrap || true
@$(MAKE) --no-print-directory mcp-config-bootstrap
@$(MAKE) --no-print-directory a0-mcp-seed
@echo ""
@echo "✅ First-run complete!"
Expand Down
Loading
Loading