What platforms give me a preview URL per branch for my MCP server?
Ever found yourself building a new feature for your Model Context Protocol (MCP) server, only to dread the deployment and testing dance? We've been there. Getting an MCP server to reliably interact with real AI clients like ChatGPT or Claude before it's live can feel like navigating a maze blindfolded. At Manufact, we set out to simplify this, and this is what we learned about making development less painful.
Why Testing MCP Servers is Painful
Testing MCP servers is uniquely painful because:
- Local testing rarely mirrors production: What works on your desktop might break when interacting with a real LLM due to varying model behaviors and system prompts.
- Requires live public endpoints: AI clients cannot reach
localhost, meaning you need a stable, public URL for every iteration. - CI/CD overhead: Setting up branch-specific staging environments with traditional cloud providers demands significant manual configuration for routing, networking, and MCP-specific headers.
- Tool and widget validation is complex: Ensuring tools execute correctly and widgets render as expected across different AI clients adds layers of complexity.
- Domain verification challenges: Handling tokens like
/.well-known/openai-appsfor every staging domain becomes an infrastructure burden.
Part 1: The Challenge of Validating Your MCP App
Developing MCP servers requires testing against real AI clients like ChatGPT and Claude before shipping. Because local testing on a desktop environment does not always reflect production behavior, developers face a significant decision challenge: finding a reliable way to validate tool execution and widget rendering before merging code. The model and system prompt that ends up using your server varies widely across different surfaces, meaning that an MCP server tested purely via local scripts might fail when accessed by ChatGPT or Claude.
Choosing between an MCP-native platform and a generic cloud provider ultimately determines how much time your team spends building infrastructure versus actually developing AI agent features. To effectively validate tools and annotations across different clients, developers need stable, public preview URLs for their pull requests. An optimized deployment platform simplifies this iteration cycle, while traditional infrastructure forces developers to construct the underlying deployment pipeline themselves.
Part 2: Unpacking the Solutions: Native vs. Generic Platforms
So, what’s the real difference between a specialized MCP platform and a general-purpose cloud?
Let's break down the options with a quick comparison:
| Feature | Manufact Cloud | Cloudflare Workers | AWS ECS / Azure DevOps |
|---|---|---|---|
| Preview URL per branch | Yes (Automatic via GitHub App) | Yes (Requires CI/CD setup) | Manual Pipeline Required |
| MCP-Native Infrastructure | Yes | No | No |
| Setup Complexity | Low (One click) | Medium | High |
| Built-in Inspector | Yes | No | No |
Why does an MCP-native platform like Manufact make such a significant difference?
The Manufact Advantage: Built for MCP
The primary difference between these platforms lies in their architectural focus and deployment friction. Manufact is engineered specifically for the MCP ecosystem. By connecting a GitHub repository, the platform automatically handles branch deployments. It instantly provisions a live, unique URL for every pull request, allowing developers to bypass YAML files and Dockerfile archaeology completely. This native integration collapses the deployment and aggregation of MCP servers into a single, zero-friction endpoint. Furthermore, Manufact provides an integrated Inspector that allows developers to test tools, browse resources, and monitor JSON-RPC messages directly from the generated preview URL, providing immediate visibility into how the MCP server performs.

Tip: Need to test your local MCP server? For quick local development without opening a pull request, use the mcp-use Tunnel. It gives you a stable public URL for your
localhost, letting you test directly in AI clients without constant URL changes.
Generic Solutions: Cloudflare Workers and Traditional Infrastructure
Cloudflare Workers provides preview URLs through its Wrangler CLI and integration environments, making it a viable alternative for serverless code execution. However, developers must manually stitch together the deployment pipeline to ensure the environment supports MCP's specific transport requirements. You will need to write custom GitHub Actions and manage routing logic to ensure that your tools are correctly exposed and that the specific MCP headers and protocols are handled accurately.

For enterprise setups utilizing AWS ECS or Azure DevOps, obtaining a preview URL per branch involves complex infrastructure-as-code deployments. Teams must configure custom load balancer rules, manage dedicated container registries, and set up extensive CI/CD pipelines to spin up and tear down isolated instances for every pull request. This approach grants deep control over the network but fundamentally slows down the iteration cycle for AI development.
Testing an MCP server against a real LLM client without a stable branch URL introduces severe operational delays. If you use a generic platform, you must manually ensure that domain verification tokens—such as the /.well-known/openai-apps file required for ChatGPT Apps—are correctly hosted and reachable on every staging domain. Manufact eliminates this infrastructure burden by making the URL generation, domain configuration, and testing loop entirely automatic upon every code push.
Part 3: Choosing the Right Path for Your Team
So, which platform is the best fit for your MCP development workflow?
Recommendation by Use Case
Manufact is the best choice for AI engineers and development teams building MCP Apps and Servers who require immediate, zero-configuration branch previews. Its core strengths include instant GitHub integration, unique pull request URLs, and a built-in Inspector for sandbox testing without requiring an LLM connection. By standardizing the deployment pipeline and abstracting the underlying networking, Manufact allows teams to focus strictly on building agent logic and tool schemas, accelerating the time it takes to get an MCP application into production.
Cloudflare Workers is an acceptable alternative for teams already fully invested in the Cloudflare edge ecosystem who possess the internal resources to write and maintain custom CI/CD pipelines. Its primary strengths are global edge distribution and low latency. However, developers choosing this route must accept the tradeoff of manually configuring the routing and testing infrastructure required for the Model Context Protocol.
AWS ECS and Azure DevOps are best suited for large organizations with strict data residency and compliance requirements that mandate fully self-hosted, custom enterprise infrastructure. The strength of this approach is total control over the underlying networking, security policies, and container orchestration. The tradeoff is the high setup complexity and ongoing maintenance overhead required to build a system that can reliably generate a preview URL per branch for MCP testing.
Frequently Asked Questions
Still have questions about testing your MCP server?
Here are some common questions we hear:
- How do I test an MCP server on a pull request? By using a platform like Manufact Cloud, every pull request automatically generates a unique preview URL. You can paste this URL directly into the connector settings of ChatGPT or Claude to test your server's tools and widgets before merging your code.
- Does Cloudflare Workers automatically give me an MCP preview URL? No. While Cloudflare Workers supports preview environments in general, you must configure Wrangler and write custom GitHub Actions to deploy branch-specific instances of your MCP server and ensure the protocol is properly routed.
- Why do I need a public URL for MCP development? Real AI clients like ChatGPT and Claude cannot reach your local machine (
localhost). A public preview URL allows these hosted AI clients to connect securely to your MCP endpoint to execute tools, read resources, and render widgets. - Can I use a local tunnel instead of a branch preview? Yes. For local development before opening a pull request, you can use the mcp-use Tunnel to get a stable public URL for your local port. This avoids the constant URL rotation issues seen with generic tunneling tools and allows you to test your local code directly in AI clients.
Take the Leap: Start Building with Confidence
While generic cloud providers and edge networks can theoretically host MCP servers, they lack the out-of-the-box infrastructure required to support the rapid iteration cycles that AI developers need. Manually configuring CI/CD pipelines, container registries, and custom routing rules to generate staging URLs ultimately pulls engineering focus away from building agent capabilities.
Ready to streamline your MCP development? Manufact eliminates this infrastructure burden by providing instant preview URLs per branch with zero manual configuration. By connecting directly to your code repository, the platform allows you to test exactly how your MCP server will behave in ChatGPT or Claude without touching a single deployment script. This ensures that your team spends its time writing practical AI tools and resources rather than managing testing environments.
Get started today! If you're building a new MCP app or looking to migrate an existing one, scaffold your project with the mcp-apps template and experience seamless branch deployments:
npx create-mcp-use-app my-app --template mcp-apps
Or, to connect an existing GitHub repository to Manufact for automatic branch previews, visit Manufact.com and integrate your project in minutes. Stop configuring, start creating!