skills/render-mcp/SKILL.md
Connects and configures the Render MCP server for AI coding tools—setup per tool (Cursor, Claude Code, Codex), authentication, workspace selection, tool catalog, and troubleshooting. Use when MCP is not configured, list_services() fails, the user asks about Render MCP setup, or an action skill needs MCP but it's not connected yet. Trigger terms: MCP, Render MCP, list_services, MCP setup, MCP server, API key, Bearer token, mcp.render.com, workspace selection.
npx skillsauth add render-oss/skills render-mcpInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The Render MCP server lets AI coding tools manage Render services, databases, deploys, logs, and metrics directly. This skill covers setup, authentication, workspace selection, the tool catalog, and troubleshooting.
Action skills (render-deploy, render-debug, render-monitor) use MCP tools for their workflows. If MCP is not connected, set it up using this skill first.
list_services() fails or MCP tools are unavailable| Property | Value |
|----------|-------|
| URL | https://mcp.render.com/mcp |
| Transport | HTTP (streamable) |
| Auth | Bearer token (Render API key) |
| API key page | https://dashboard.render.com/u/*/settings#api-keys |
| Docs | https://render.com/docs/mcp-server |
Get an API key from the Render Dashboard
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"render": {
"url": "https://mcp.render.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
list_services()Get an API key from the Render Dashboard
Add the MCP server:
claude mcp add --transport http render https://mcp.render.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
list_services()Get an API key from the Render Dashboard
Set the key in your shell:
export RENDER_API_KEY="<YOUR_API_KEY>"
codex mcp add render --url https://mcp.render.com/mcp --bearer-token-env-var RENDER_API_KEY
list_services()For tools not listed above, use the generic HTTP MCP configuration:
https://mcp.render.com/mcpAuthorization: Bearer <YOUR_API_KEY>See Render MCP docs for tool-specific instructions.
After MCP is connected, set the active workspace:
Set my Render workspace to [WORKSPACE_NAME]
Or programmatically:
get_selected_workspace() # Check current
list_workspaces() # List available
All MCP operations run against the active workspace.
| Tool | Purpose |
|------|---------|
| list_services() | List all services and datastores |
| get_service(serviceId) | Get service details |
| create_web_service(...) | Create a web service from Git repo |
| create_static_site(...) | Create a static site from Git repo |
| update_service(serviceId, ...) | Update service configuration |
| restart_service(serviceId) | Restart a service |
| Tool | Purpose |
|------|---------|
| list_deploys(serviceId, limit) | List deploys for a service |
| trigger_deploy(serviceId) | Trigger a new deploy |
| Tool | Purpose |
|------|---------|
| list_logs(resource, level, type, text, statusCode, limit) | Query logs with filters |
Key filters: level (error, warn, info), type (build, deploy), text (search string), statusCode (HTTP codes).
| Tool | Purpose |
|------|---------|
| get_metrics(resourceId, metricTypes, ...) | Get service or database metrics |
Metric types: cpu_usage, memory_usage, cpu_limit, memory_limit, http_latency, http_request_count, active_connections.
Optional: httpLatencyQuantile (0.5, 0.95, 0.99), httpPath (filter by endpoint).
| Tool | Purpose |
|------|---------|
| list_postgres_instances() | List Postgres databases |
| get_postgres(postgresId) | Get database details |
| query_render_postgres(postgresId, sql) | Run SQL query |
| Tool | Purpose |
|------|---------|
| list_key_value() | List Key Value instances |
| get_key_value(keyValueId) | Get Key Value details |
| Tool | Purpose |
|------|---------|
| update_environment_variables(serviceId, envVars) | Set env vars on a service |
| Tool | Purpose |
|------|---------|
| list_workspaces() | List available workspaces |
| get_selected_workspace() | Get the active workspace |
| Mistake | Fix |
|---------|-----|
| Wrong URL (using SSE endpoint) | Use https://mcp.render.com/mcp (not /sse) |
| Expired or invalid API key | Generate a new key from Dashboard > Account Settings > API Keys |
| Wrong workspace selected | Run list_workspaces() and switch to the correct one |
| Using MCP to create image-backed services | Not supported — use Dashboard or API for prebuilt Docker images |
| Missing Bearer prefix in auth header | Header must be Authorization: Bearer <key> |
See references/troubleshooting.md for connection errors, auth failures, timeout issues, and tool-specific quirks.
| Document | Contents |
|----------|----------|
| references/troubleshooting.md | Connection errors, auth failures, tool-specific issues, timeout handling |
development
Configures Render web services—port binding, TLS, health checks, custom domains, auto-deploy, PR previews, persistent disks, and deploy lifecycle. Use when the user needs to set up a web service, fix health check failures, add a custom domain, configure zero-downtime deploys, or troubleshoot port binding issues.
development
Deploys and configures static sites on Render's global CDN—build commands, publish paths, SPA routing, redirects, custom headers, and PR previews. Use when the user needs to deploy a static site, set up a React/Vue/Hugo/Gatsby frontend, configure SPA fallback routing, add redirect rules, customize response headers, or choose between a static site and a web service for their frontend. Trigger terms: static site, CDN, SPA, single-page app, React deploy, Vue deploy, Hugo, Gatsby, Docusaurus, Jekyll, staticPublishPath.
tools
Scales Render services—configures autoscaling targets, chooses instance types, sets manual instance counts, and optimizes cost. Use when the user needs to handle more traffic, set up autoscaling, pick the right instance type, reduce costs, or troubleshoot scaling behavior like slow scale-down or stuck instances.
development
Configures Render private services—internal-only apps that accept traffic exclusively from other Render services over the private network. Use when the user needs an internal API, microservice, gRPC server, sidecar, or any service that should not be publicly accessible. Also use when choosing between a private service and a background worker. Trigger terms: private service, pserv, internal service, internal API, microservice, gRPC, not public, private network service.