Repository navigation
Description
Summary
The create_web_service tool currently supports Docker as a runtime but only when building from source code repositories. It would be incredibly valuable to support deploying pre-built Docker images directly from container registries (Docker Hub, GitHub Container Registry, etc.), which is a common deployment pattern for many production services.
Use Case
We're building a Rails 8 real-time collaboration app (https://github.com/earino/tally.food) that uses AnyCable for high-performance WebSocket connections. Our architecture requires:
- Rails web service - Handles HTTP requests and RPC calls
- AnyCable-Go service - Dedicated WebSocket server (pre-built Docker image:
anycable/anycable-go:latest) - PostgreSQL & Redis - Data and pub/sub
This is a standard microservices pattern where specialized services use official pre-built images rather than custom source code.
Current Limitation
According to the tool description:
"This tool is currently limited to support only a subset of the web service configuration parameters. It also only supports web services which don't use Docker, or a container registry."
While the runtime: "docker" parameter exists, it appears to require a source repository with a Dockerfile, not a pre-built container image.
Proposed Solution
Add support for creating web services from existing container registry images, similar to Render's UI workflow: New+ → Web Service → Deploy an existing image from a registry
Suggested API Extension
create_web_service({
name: "my-anycable-server",
image: "anycable/anycable-go:latest", // NEW parameter
imageRegistry: { // NEW parameter (optional)
type: "dockerhub" | "ghcr" | "private",
credentials: { ... } // if needed
},
plan: "starter",
region: "oregon",
envVars: [
{ key: "ANYCABLE_HOST", value: "0.0.0.0" },
{ key: "ANYCABLE_PORT", value: "10000" },
// ...
]
})This would mirror Render's existing capability while making it accessible to LLM-powered workflows.
Workaround
Currently, we need to manually create the AnyCable-Go service through the Render dashboard, then use MCP for everything else. This breaks the workflow of fully automated infrastructure management through Claude Code or Cursor.
Additional Context
- Our development environment uses
docker-compose.ymlwith the sameanycable/anycable-go:latestimage - AnyCable requires this separate service architecture (documented at https://docs.anycable.io/deployment)
- This pattern is common for: Redis, Memcached, pgBouncer, custom sidecars, etc.
Related
- Issue How to get database/Redis connection URLs via MCP? (or feature request if not currently possible) #7 discusses obtaining connection URLs, which would also be needed for the web service returned from this enhanced tool
- This would complement the existing
create_web_servicefor source-based deployments
Activity
aaijazi commentedon Oct 22, 2025
Thanks for raising this feature request. I agree that it would be good to add -- I'll try to get to it in the next few weeks. We initially left it out of the MCP server because it can confuse the LLM that is doing the tool calls, but I think we can add it with some extra argument validation.
Feel free to also open a PR if you're interested in contributing it yourself, and are able to get to it before I do!
Add version flag (#8)