Help us improve
Share bugs, ideas, or general feedback.
From render
Configures Render MCP server for AI coding tools like Cursor, Claude Code, and Codex, handling authentication, workspace selection, tool catalog, and troubleshooting when list_services() fails or MCP is unconfigured.
npx claudepluginhub render-oss/skills --plugin renderHow this skill is triggered — by the user, by Claude, or both
Slash command
/render:render-mcpThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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**.
Discovers zero-setup hosted MCP servers (Supabase, Vercel, Sentry, Stripe, Linear, Slack, Greptile) and provides connection URLs for immediate use in any MCP client.
Monitors Render services in real-time: health checks, performance metrics, logs, resource usage. Use to check status, view metrics, verify deployments, investigate issues.
Automates Render cloud platform tasks: list services, trigger deployments, manage projects via Composio's Rube MCP toolkit. Use for Render DevOps and deployment workflows.
Share bugs, ideas, or general feedback.
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 |