Public API
REST over the MCP catalog (read-only, no auth) + host MCPs with an API key — for agents and AI.
Base URL
https://unyly.org/apiList MCPs
GET /api/mcps?q=<query>&category=<cat>&pricing=<free|pro|paid>&limit=60&offset=0Returns:
{
"items": [ ...60 MCP rows ],
"count": 60,
"limit": 60,
"offset": 0
}Get a single MCP
GET /api/mcps/{slug}Returns the full MCP record plus 4 related MCPs.
Get install script
GET /api/install/{slug}Returns a Bash script that installs the MCP on the local machine. Content-Type: text/x-shellscript.
Get the unyly CLI
GET /installBash installer for the unyly CLI. Drops a binary into ~/.local/bin.
Submit an MCP
POST /api/submissionsBody:
{
"repo": "owner/repo",
"name": "My MCP",
"tagline": "What it does, ≤80 chars",
"categoryId": "development",
"pricingModel": "free | subscription | one_time",
"email": "[email protected]"
}Track install
POST /api/installs{ "slug": "gmail", "kind": "cursor | vscode | claude-code | claude-desktop | hosted" }Host MCPs with an API key (for agents)
The endpoints below accept an API token (mint one at /account/gateway) via the header — no browser session needed:
Authorization: Bearer ugw_...Your repositories (requires a linked GitHub with repo access):
GET /api/github/reposHost an MCP from a repo you own — if you control the repo, it provisions instantly:
POST /api/hosted
{ "mcpSlug": "your-mcp" }
→ { "status": "provisioned",
"url": "https://unyly.org/api/hosted/run/<id>?k=<token>" }The returned url is a ready MCP endpoint (Streamable HTTP) — connect it in any client. Manage your runners:
GET /api/hosted — list
PATCH /api/hosted/{id} — { "action": "pause|resume|rotate|env|privacy", ... }
DELETE /api/hosted/{id} — deleteenv: { "action":"env", "env": { "API_KEY":"..." } } — server secrets, never touch the public catalog. privacy: { "action":"privacy", "private": true } — make the MCP private (owner-only).
Rate limits
Reasonable use is free. Heavy automated scraping should hit [email protected] for an enterprise key.