MCP Server Catalog

Ten MCP servers ship under the sonny.sh/mcp/ namespace. Each is its own Go module in its own private repository. The sonny.sh/mcp/<name> pages provide machine-readable go-import metadata for authorized consumers. Browser visitors stay on the public documentation site. These modules are commercial software; see Licensing and access .

ServerWhat it coversEntrypoint
analystReproducible statistical analysiscmd/analyst
atlassianThe complete Atlassian API capability surfacecmd/atlassian
code-managerCode, dependency and delivery intelligence for the CodePros organisationcmd/code-manager
forensicsEvidence-preserving forensic orchestrationcmd/forensics
msftMicrosoft Graph and related Microsoft API surface, as permission-scoped toolscmd/msft-mcp
netcapCapture, deep packet inspection, assets and controlled packet modificationcmd/netcap
project-managerProject management with evidence-preserving transcriptscmd/project-manager, cmd/pm-parse-worker
threat-intelProvenance-aware threat intelligencecmd/threat-intel
vulnNormalised vulnerability intelligencecmd/vuln
web-crawlerControlled web acquisition and extractioncmd/web-crawler

Each server also ships a generated configs/<name>.json server configuration, a docs/ tree, and (for most) a minimal examples/basic program, generated by apic from its API contract.

Module paths matter here

The vanity prefix and the Go module path agree for eight of the ten, but not all:

Servergo.mod module path
analyst, atlassian, forensics, netcap, project-manager, threat-intel, vuln, web-crawlersonny.sh/mcp/<name>
code-managergitlab.com/devnw/codepros/sonny/mcp/code-manager
msftdevnw.dev/mcp/msft

For the eight, go install sonny.sh/mcp/<name>@latest works: the redirect and the declared module path agree. For code-manager and msft the vanity URL still redirects the browser and still resolves the repository, but Go requires the required path and the declared path to match, so install from the declared path:

go install sonny.sh/mcp/analyst@latest
go install gitlab.com/devnw/codepros/sonny/mcp/code-manager/cmd/code-manager@latest
go install devnw.dev/mcp/msft/cmd/msft-mcp@latest
Warning
These are private modules. go install needs access to the repositories and, for a private host, GOPRIVATE/GONOSUMDB and credentials configured. Check each repository’s own status before relying on it: several are at an early milestone — code-manager describes itself as the M0 foundation with real MCP wiring landing later, and msft as a bootstrap skeleton whose generated tool surface lands under its tracked epics. Read the repository’s README.md and docs/ for the current tool surface rather than assuming one.

Registering one with Sonny

Write the binary you built into an mcp.yaml server entry, then approve it so the allowlist pins it (Trust model ):

# ~/.config/sonny/mcp.yaml
servers:
  - name: analyst
    type: stdio
    command: /usr/local/bin/analyst
    env_allowlist: ["ANALYST_TOKEN"]
sonny mcp approve server analyst --command /usr/local/bin/analyst
sonny mcp list --connect

Or write a project-scoped entry in .sonny/mcp.yaml and approve it from inside the repository:

sonny mcp approve server analyst --project

Servers that expose an SSE endpoint are registered with type: sse and url, and must declare an egress.allow_hosts policy naming their own host — remote egress is deny-by-default and a remote server without a policy loads but is never connected.

Transport notes

Most servers are built from the same generated skeleton, whose default server configuration listens on 127.0.0.1 with a /health endpoint, a /ws/mcp WebSocket route, and transports including http, websocket and stdio. Sonny speaks stdio and sse to MCP servers. Configure these servers as stdio subprocesses (or as sse with an egress policy); Sonny does not connect to a raw HTTP or streamable_http MCP endpoint. Consult each repository for how to select its stdio transport.

Running Sonny’s own tools as an MCP server

The catalog is not one-directional. sonny mcp-server exposes Sonny’s own catalog-classified, host-pure tools over stdio, so another MCP client can drive Sonny:

sonny mcp-server --allowed-tools read_file,edit_file
FlagEffect
--allowed-tools <csv>comma-separated tool names to expose; empty exposes none
--allow-host-effectsexplicitly permit model-driven filesystem, network and process effects on this host
--realm-containedrequire and use Sonny’s verified realm process environment
--proxy-config <file> / --proxy-server <name>expose an allowlisted upstream MCP definition through Sonny as a traced proxy
--supervisor-endpoint / --supervisor-tenant / --supervisor-sessionserve admitted tools from an existing supervisor
Warning
Effectful tools are disabled by default and the surface refuses to run under a dangerous environment override — this endpoint has no operator making the request, so a dangerous switch here would have been armed by a client, a peer, or an ambient daemon environment. Sonny’s own isolation-off session and child-agent wiring supplies --allow-host-effects itself; do not add it because a client asks you to.