-
Notifications
You must be signed in to change notification settings - Fork 0
Development
Logan Besecker edited this page Oct 1, 2026
·
1 revision
Phoenix 1.8 and LiveView, on PostgreSQL.
mix setup
mix phx.server
mix testCI rejects unformatted code, so run mix format before pushing.
| Module | Responsibility |
|---|---|
McpRegistry.Registry |
listings and the queries behind every page |
McpRegistry.Registry.Manifest |
server.json ⇄ listing |
McpRegistry.OfficialRegistry |
the mirror of the official registry |
McpRegistry.Probe |
the MCP client that reads tools, prompts and resources |
McpRegistry.Documents |
the llms.txt and AGENTS.md fetcher |
McpRegistry.Changes |
changelog recording, and the rules on what is not a change |
McpRegistry.Registry.Logo |
which logo a listing gets |
McpRegistry.Registry.Clients |
each client's real configuration format |
McpRegistryWeb.Submissions |
the one path every submission takes, so rate limits and auth stay consistent |
McpRegistryWeb.MCP.Tools |
the MCP tools — their descriptions are read by models, so keep them precise |
-
Styling: Tailwind with semantic tokens only —
bg-canvas,text-ink,border-rule,bg-brand. Nodark:variants and no hard-coded colours; the tokens carry both themes. -
Analytics: only through
McpRegistry.Analytics.track/2, and never with request parameters, search text or credentials in an event. -
Listing origin (
local,seed,official) is never set from user input. -
External HTTP in tests goes through
Req.Teststubs; nothing in the suite touches the network. - One change, one issue, one branch, one pull request.
Apache 2.0.
MCP Harbor · MCP server changelog · Apache 2.0
Using it
How it works
Running it