MCP server
Plug os-alt into Claude Desktop, Cursor or any MCP-aware assistant — answers about self-host alternatives without a browser tab.
The Model Context Protocol lets your AI assistant call structured tools on a remote server. This one exposes the os-alt directory — 100 SaaS pages, 227 unique open-source repos with live GitHub health — as four read-only tools your assistant can use directly. No API key, no rate limits, no signup.
JSON-RPC 2.0 over HTTP · read-only · CORS open · https://code-rho-dun.vercel.app/api/mcp
Install — Claude Desktop
Open ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows and add an entry under mcpServers:
{
"mcpServers": {
"os-alt": {
"type": "http",
"url": "https://code-rho-dun.vercel.app/api/mcp"
}
}
}
On older Claude Desktop builds that only speak the stdio transport, use the mcp-remote shim instead — same data, just proxied through a local npx:
{
"mcpServers": {
"os-alt": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://code-rho-dun.vercel.app/api/mcp"]
}
}
} Restart Claude Desktop and the four os-alt tools become available in any chat.
Install — Cursor
Settings → MCP → Add new MCP server. Or drop this directly into ~/.cursor/mcp.json:
{
"mcpServers": {
"os-alt": {
"url": "https://code-rho-dun.vercel.app/api/mcp"
}
}
} Install — anything else
Any MCP client that speaks JSON-RPC 2.0 over HTTP works against the same endpoint. Send a single POST per request:
curl -s https://code-rho-dun.vercel.app/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' Tools
search_saas(query, limit?)
Free-text match against name / slug / category / blurb. Returns slug, name, category, alternatives count and page URL for each hit. Default 20 results, max 50.
curl -s https://code-rho-dun.vercel.app/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_saas","arguments":{"query":"datadog"}}}' get_saas(slug)
Full editorial detail for one SaaS — pricing anchor, every recommended self-host alternative (license, setup time, monthly cost, migration sketch, fit/weak notes) and a step-by-step migration guide if one exists for the primary alt.
list_categories()
Returns the 15 self-host categories with the count of SaaS pages and slug list under each. Lets the assistant browse before drilling in.
get_health(github)
Live health for one repo (owner/name): alive / stale / dead / unknown, last commit date, age in days, open issues, archived flag. Recomputed on every os-alt deploy.
Why this exists
If you ever asked an LLM "what are the open-source alternatives to Datadog?" you've seen the failure mode — the model lists projects that are abandoned, archived, or haven't shipped in three years. os-alt curates that and tags every project with live commit data. Plugged in via MCP, your assistant can answer the question accurately without browsing.
Source & status
- Endpoint:
https://code-rho-dun.vercel.app/api/mcp(POST JSON-RPC 2.0) - GET
https://code-rho-dun.vercel.app/api/mcpreturns server info + tool list (no auth) - Underlying data is the same as /api/ — read-only, regenerated on every deploy
- Issues / missing SaaS: github.com/SolvoHQ/os-alt