NoMoreJoel
www.nomorejoel.com

MCP · scoped agent keys · REST fallback

Deploy from your coding agent

This page covers connecting an AI coding agent — if you just want to try NoMoreJoel yourself, start on the homepage.

50+ MCP tools including deploy, git keys, failure diagnosis, alerts, security scans, and managed databases. 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.

Early access. We're in startup mode — request access before you can create an account.

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
List, acknowledge, resolve alertsYesops scope for ack/resolve
Security scan resultsYesget_security_scans
Managed Postgres databasesYesCreate, link, backup via MCP
Stack audit/repair, diagnosticsYesops scope for repair/diagnostics
Route proxy reconcileYesreconcile_route
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 Integrations → Coding agents. 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

Grouped by category. Add ops scope for alert actions, stack repair, and server diagnostics.

Workspace & inventory
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 / get_application / create_application / update_applicationread / writeApp specs, setup checklist, git/DB links
create_app_instance / clone_applicationwriteMulti-environment and clone flows
list_routes / create_route / update_route / delete_routeread / writePublic URLs (sslip.io default), DNS check
get_git_access_status / generate_deploy_key / register_deploy_key_on_githubread / writePrivate git — prefer workspace GitHub App; deploy keys when allowed
list_env_vars / set_env_varsread / writeEncrypted app env
Deploy
ToolScopeDescription
deploy_application / cancel_deploydeployTrigger or abort deploy runs
get_deploy / get_deploy_logs / list_deploysreadStatus, logs, and history
explain_deploy_blockersreadPre-flight checks before deploy
diagnose_deploy_failure / diagnose_deploy_healthreadStructured failure analysis after deploy errors
get_version_statusreadGit commits behind remote branch
Alerts & health
ToolScopeDescription
list_health_signalsreadOpen health signals in workspace
list_alertsreadAlert events with context
acknowledge_alert / resolve_alertopsAcknowledge or dismiss alerts
Server operations
ToolScopeDescription
audit_server_stackreadAudit platform stack on a server
repair_server_stackopsRepair Traefik/Docker platform stack
run_server_diagnostic / get_diagnostic_runops / readSSH diagnostics with remediation hints
reconcile_routewriteRefresh Traefik proxy labels for a route
Security
ToolScopeDescription
get_security_scansreadScan runs and posture for deploy or app
Managed databases
ToolScopeDescription
list_databases / get_databasereadPostgres inventory and status
create_databasewriteProvision logical DB on shared Postgres (database_name optional)
migrate_database_to_sharedwriteMigrate dedicated DB to shared host (requires recent backup)
link_database_to_app / list_database_links / unlink_database_from_appwriteLink apps via DATABASE_URL
start_database / stop_database / restart_databasewriteLifecycle for dedicated containers only — shared DBs use server Postgres host controls
decommission_databasewriteTeardown (requires confirm name)
get_database_connectionreadMasked connection URL
run_database_backup / list_database_backupswrite / readPer logical database — not a full-server dump
explain_database_blockersreadPre-flight before create

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, and ops if you need alerts or stack repair.
401 token expiredCreate a new agent key in Integrations.
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).