plugins/render/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 openai/plugins 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
Use when the user wants to spin up / create / launch / provision a DigitalOcean droplet (or "a remote dev box on DO") and connect to it from Codex as a remote SSH workspace.
data-ai
Search through Microsoft Teams chats or channels, triage unread or recent activity, draft follow-ups, and manage Planner tasks through connected Teams data.
tools
Motion / animation context for the `use_figma` MCP tool — animating Figma nodes via manual keyframes, animation styles, easing, and timeline duration. Load alongside figma-use whenever a task involves adding, editing, or inspecting animation on a node.
development
SwiftUI ↔ Figma translation. Use whenever the user mentions Swift, SwiftUI, iOS, iPhone, or iPad — in EITHER direction — translating a Figma design into SwiftUI (design → code), or pushing SwiftUI views / screens / tokens back into a Figma file (code → design). Triggers on phrases like 'implement this Figma design in SwiftUI', 'build this screen in Swift', 'push this SwiftUI view to Figma', 'mirror my Swift code in a Figma file', or whenever a Figma URL appears alongside `.swift` files / an `.xcodeproj`. Routes to a direction-specific reference doc; loads alongside `figma-use` for the code → design path.