Skip to content

feat: list Anatomia on the MCP Registry (server.json + mcp-publisher) #304

Description

@rpatricksmith

Summary

List Anatomia on the MCP Registry (registry.modelcontextprotocol.io) so any MCP-capable agent (Cursor, Cline, Zed, Claude Desktop) can discover and install it. This is the procedural/GTM half of the MCP work — a server.json + a publish step.

Blocked by the ana mcp subcommand build (separate issue). The registry resolves the published npm artifact and runs ana mcp — so the subcommand must exist in a released anatomia-cli version first.

Why two issues

The ana mcp build is code (new command, SDK dep, tools, tests, bundle) with engineering acceptance criteria. This listing is procedural (DNS TXT record, mcp-publisher run, mcpName + server.json, README handle) with zero unit tests and an external dependency (a registry in preview). Different work types, hard dependency, different risk — keep them separate so the build can merge/release independently of the (possibly-flaky) registry step.

Process correction (load-bearing — the research doc was outdated)

The flow is NOT "a PR to modelcontextprotocol/registry." That changed. Current flow (verified against the registry quickstart):

  1. Add "mcpName": "dev.anatomia/anatomia" to package.json (must exactly equal server.json name).
  2. npm publish (already done by release.yml:61).
  3. mcp-publisher login dns — prove control of anatomia.dev via a TXT record. (We own the domain — it's the homepage — so DNS auth gives us the clean dev.anatomia/anatomia namespace. Fallback: login githubio.github.anatomia-dev/anatomia.)
  4. mcp-publisher publish (reads ./server.json).

No registry-repo PR. The registry is in preview — expect possible breaking schema/process changes.

The server.json (real Anatomia values)

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "dev.anatomia/anatomia",
  "title": "Anatomia",
  "description": "Verified context for AI coding agents — house-style conventions and provenance-stamped proof-chain findings, read-only over your scan.",
  "repository": { "url": "https://github.com/anatomia-dev/anatomia", "source": "github" },
  "websiteUrl": "https://anatomia.dev",
  "version": "1.2.x",
  "packages": [
    {
      "registryType": "npm",
      "identifier": "anatomia-cli",
      "version": "1.2.x",
      "transport": { "type": "stdio" },
      "packageArguments": [
        { "type": "positional", "value": "mcp", "description": "Starts the read-only MCP server" },
        { "type": "named", "name": "--transport", "value": "stdio", "description": "Transport protocol" }
      ]
    }
  ]
}

Note: no repo_path positional (RepoWise passes one; we resolve root from cwd via findProjectRoot). Args are exactly ["mcp", "--transport", "stdio"].

Also add the verification handle to README line 1: <!-- mcp-name: dev.anatomia/anatomia --> (RepoWise does this; links the npm package ↔ the registry server).

Integration points

  • packages/cli/package.json — add mcpName (top level).
  • New server.json at repo root (or packages/cli/).
  • README.md:1 — the mcp-name handle.
  • The mcp-publisher step folded into the release flow (release.yml) or run manually post-release.

Dependencies / sequencing

  • Blocked by the ana mcp build issue in a released npm version (the registry installs the npm artifact).
  • DNS propagation gate (the TXT record).
  • After this lands, the same ana mcp binary is reachable three ways: the Claude plugin's .mcp.json, the MCP Registry, and direct CLI — one binary, three channels.

Gotchas

  • mcpNameserver.json name → publish fails with "Registry validation failed."
  • Registry is preview — pin to the 2025-12-11 schema but expect churn.
  • DNS auth requires control of anatomia.dev DNS (we have it).
  • Don't hand-author a registry PR (the old, removed process).

Acceptance criteria

  1. package.json mcpName equals server.json name (dev.anatomia/anatomia).
  2. mcp-publisher publish --dry-run validates the server.json schema.
  3. After publish, the server resolves via the registry search API and dev.anatomia/anatomia is installable from an MCP client.
  4. README.md line 1 carries the <!-- mcp-name: dev.anatomia/anatomia --> handle.
  5. Installing from the registry runs anatomia-cli's ana mcp --transport stdio and tools/list returns the expected tools.

Effort

~0.5 day of active work (DNS TXT record, mcpName, server.json, mcp-publisher run, README handle) — but calendar-gated on a released npm version containing ana mcp and on DNS propagation. Registry-preview risk may add iteration.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions