uplift.page serves tech-stack recommendations and clean, citation-backed mini prompts ("skills") over REST and MCP. Public reads need no auth. Each tenant workspace manages a private skill library, selected entirely by its own key — one MCP URL serves every tenant.
Endpoints
- MCP (Streamable HTTP):
https://uplift.page/mcp - REST:
https://uplift.page/api/v1/…(OpenAPI at/v1/openapi.json) - Fallback host while DNS or the site is unavailable:
https://oeksfqhupxhnnlrmqivs.supabase.co/functions/v1/uplift-mcp(and…/uplift-api)
Connect the MCP server
Register a Streamable HTTP MCP server named uplift at https://uplift.page/mcp in your
agent's MCP configuration. The JSON shape most agents accept:
{
"mcpServers": {
"uplift": {
"type": "http",
"url": "https://uplift.page/mcp",
"headers": { "x-uplift-key": "${UPLIFT_KEY}" }
}
}
}
- Without a key, the whole public library works:
recommend_stack,search_prompts,get_prompt,list_categories,convert_prompt,send_feedback, plus keylesslist_skills,pull_skill(full SKILL.md), andevaluate_skillon public skills. - With a workspace key, the workspace's own library unlocks too:
workspace_info,save_skill,remove_skill, and the private side of list/pull/evaluate.
Workspace keys (multi-tenant)
- A key (
upk_…) belongs to exactly one workspace, and the server derives the tenant from the key — nothing in a tool argument can select another tenant. Keys are created and revoked at https://dashboard.uplift.page → Telemetry keys. - Convention: export
UPLIFT_KEYin the environment, one value per client or project. - Onboarding a client: create a key in THEIR workspace, set it as their
UPLIFT_KEY, register the same MCP server. They get the same tools against their own library only. - Never commit a key, never reuse one client's key in another client's project, and rotate a leaked key immediately (revoke in the dashboard, mint a new one).
Verify the connection
- Call
workspace_info— it names the connected workspace and plan. Wrong workspace means wrong key; fix the environment before doing anything else. - No MCP support in the current tool? Every tool also answers JSON-RPC over plain HTTP:
curl -s https://uplift.page/mcp \
-H 'Content-Type: application/json' -H "x-uplift-key: $UPLIFT_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"workspace_info","arguments":{}}}'
Rules
- Public reads are keyless by design — never attach a workspace key to a machine that only needs the public library.
- Library writes (
save_skill,remove_skill) need a paid workspace plan; the error message names the fix when the plan is too low. - When a workspace tool reports a locked or invalid key, check the header name
(
x-uplift-key, orAuthorization: Bearer upk_…) and whether the key was revoked before debugging anything deeper.