NoMoreJoel
www.nomorejoel.com

MCP · scoped agent keys · REST fallback

Deploy from your coding agent

Works with Cursor, Claude Code, Claude Desktop, VS Code Copilot, Windsurf, and any client that supports remote MCP (Streamable HTTP). Point it at https://www.nomorejoel.com/mcp with a Bearer agent key.

What agents can and cannot do

CapabilitySupportedNotes
List servers, projects, apps, routesYesread scope
Create project, environment, applicationYeswrite scope
Create sslip.io test routeYesHTTPS without manual DNS
Set env vars, deploy, poll logsYesdeploy scope for deploy
Add server / upload SSH keyNoConnect VPS in dashboard first
Platform operator / super-adminNoTenant-scoped keys only

Before you connect an MCP client

  1. AccountInvite-gated sign-up at /register with an NJ-… code.
  2. Ready serverAt least one server in ready state — add via dashboard with SSH key or password.
  3. GitHub (optional)For private Git deploys, connect GitHub under Integrations.

Four steps to agent deploy

  1. Create an agent key Settings → Agent keys. Copy the token and pre-filled mcp.json snippet immediately — shown once.
  2. Configure your MCP client Paste the URL and Bearer token into Cursor, Claude Code, or another client — see paths below.
  3. Reload the client Restart or reload MCP in your tool's settings. Verify nomorejoel lists deploy tools.
  4. Prompt your agent Examples below. The agent calls MCP tools; you answer clarifying questions in chat.

Where to add the server

Use the same URL and Bearer token in whichever client you use. JSON shape below works for Cursor, Claude Desktop, and other mcpServers-style configs.

Example mcp.json

{
  "mcpServers": {
    "nomorejoel": {
      "url": "https://www.nomorejoel.com/mcp",
      "headers": {
        "Authorization": "Bearer sp_your_agent_key_here"
      }
    }
  }
}

Example prompts

Tool reference

ToolScopeDescription
get_workspace_summaryreadServers, projects, apps, recent deploys
list_servers / get_serverreadServer inventory and status
list_projects / create_projectread / writeProject CRUD
create_environmentwriteAdd env under a project
list_applications / create_application / update_applicationread / writeApp specs (image or git)
list_routes / create_routeread / writePublic URLs (sslip.io default)
list_env_vars / set_env_varsread / writeEncrypted app env
deploy_applicationdeployTrigger deploy with idempotency key
get_deploy / get_deploy_logsreadStatus and container logs
explain_deploy_blockersreadPre-flight checks before deploy

Direct API access

Non-MCP integrations can use the same sp_* tokens against the REST API:

Keep keys safe

Common issues

IssueFix
MCP shows disconnectedReload MCP after editing config. URL must be https://www.nomorejoel.com/mcp. Check your client's HTTP MCP / Streamable HTTP support.
403 forbiddenKey missing scope — create a new key with read, write, deploy.
401 token expiredCreate a new agent key in Settings.
Deploy blocked: no routesAgent must create a route first, or pass explicit allow flag if supported.
No ready serversAdd and validate a server in the dashboard before agent deploy.
Local devUse http://127.0.0.1:28417/mcp (see .dev/state.json for port).