chore(naming): distinct MCP server names — molecule-a2a (channel) vs molecule-platform (management) #38

Closed
opened 2026-06-04 18:05:58 +00:00 by core-devops · 0 comments
Member

Problem

The agent↔agent A2A/channel MCP and the platform-management MCP (this repo, MOLECULE_MCP_MODE=management, merged in #32 dcd74cba) can both surface under an ambiguous molecule name. When only the A2A bridge is connected to a session, the single molecule name falsely implies platform-admin capability is present — leading an operator/agent to reach for raw SQL / raw API instead of the OpenAPI-SSOT management surface (observed 2026-06-04: raw-SQL fallback with wrong column/table guesses because the management MCP was not wired in and the absence wasn't obvious).

Convention (CTO ruling 2026-06-04)

Give the two MCPs distinct names so a session can tell at a glance which capability is present:

Purpose Server name Display Tool prefix
Agent↔agent comms (list_peers, reply_to_workspace, delegate_task, send_message_to_user, check_task_status, memory) molecule-a2a Molecule A2A Channel mcp__molecule_a2a__*
Platform admin (tenants, workspaces, instances, secrets, deploys — the 31 management tools) molecule-platform Molecule Platform Manage mcp__molecule_platform__*

Then molecule-platform being absent from a session is an unambiguous signal: "no admin surface — do not fall back to raw SQL."

Scope

  1. Rename the management server registration in this repo (server name / display) to molecule-platform.
  2. Coordinate the A2A/channel bridge (runtime molecule plugin) rename to molecule-a2a.
  3. Update .mcp.json examples + docs (docs repo) to the new names.
  4. Wire molecule-platform (mode=management) into the operator/CTO Claude Code session so platform-state queries go through the OpenAPI-SSOT interface, not raw DB.

Pure naming + wiring — derives no contract changes. Relates to #32 (management MCP build) and the OpenAPI SSOT (core #2056).

## Problem The agent↔agent **A2A/channel** MCP and the **platform-management** MCP (this repo, `MOLECULE_MCP_MODE=management`, merged in #32 `dcd74cba`) can both surface under an ambiguous `molecule` name. When only the A2A bridge is connected to a session, the single `molecule` name falsely implies platform-admin capability is present — leading an operator/agent to reach for raw SQL / raw API instead of the OpenAPI-SSOT management surface (observed 2026-06-04: raw-SQL fallback with wrong column/table guesses because the management MCP was not wired in and the absence wasn't obvious). ## Convention (CTO ruling 2026-06-04) Give the two MCPs **distinct names** so a session can tell at a glance which capability is present: | Purpose | Server name | Display | Tool prefix | |---|---|---|---| | Agent↔agent comms (list_peers, reply_to_workspace, delegate_task, send_message_to_user, check_task_status, memory) | `molecule-a2a` | Molecule A2A Channel | `mcp__molecule_a2a__*` | | Platform admin (tenants, workspaces, instances, secrets, deploys — the 31 management tools) | `molecule-platform` | Molecule Platform Manage | `mcp__molecule_platform__*` | Then `molecule-platform` being **absent** from a session is an unambiguous signal: "no admin surface — do not fall back to raw SQL." ## Scope 1. Rename the management server registration in this repo (server `name` / display) to `molecule-platform`. 2. Coordinate the A2A/channel bridge (runtime `molecule` plugin) rename to `molecule-a2a`. 3. Update `.mcp.json` examples + docs (docs repo) to the new names. 4. Wire `molecule-platform` (mode=management) into the operator/CTO Claude Code session so platform-state queries go through the OpenAPI-SSOT interface, not raw DB. Pure naming + wiring — derives no contract changes. Relates to #32 (management MCP build) and the OpenAPI SSOT (core #2056).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-mcp-server#38