Skip to content

doctor reports a registered MCP command as working without establishing its identity #572

Description

@MongLong0214

SSOT execution contract

Outcome

Doctor distinguishes "a command is present" from "a CommitLore MCP server is healthy".

Acceptance

  • initialize, serverInfo name/version, minimum tool set are probed
  • dead/foreign/unverifiable command is not ok
  • healthy custom wrapper is preserved

Fifth production-readiness review. Recorded for 0.8.0.

0.8.0 changed .mcp.json registration from "the key exists" to "the entry has a non-empty command", which is what stopped null and {} from counting. The remaining gap is identity: {"command": "false"}, or a wrapper an earlier install left behind, still counts as registered. init leaves it untouched and doctor reports ok, which claims a host can start unattended capture.

The tension

Requiring our exact command would overwrite a wrapper somebody chose deliberately — the callers respond to "not registered" by writing our entry over it. Preserving a custom command is right. Reporting its identity as established is not.

What to do

Keep preserving the entry; narrow what doctor claims. Report the command it found rather than a bare ok, or add a check that the registered command actually answers as a CommitLore MCP server.

src/core/mcp-registration.ts, src/commands/doctor/checks/capture-unattended-initiator.ts.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrelease:0.9.0Must close before 0.9.0: an unaware user gets a wrong result, or the docs already promise it

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions