# release-standalone-mcp
Source: https://speakeasy.com/blog/release-standalone-mcp


[Gram by Speakeasy](https://app.getgram.ai/login) is the fastest way to create, curate and host MCP servers in production. It's an all in one platform for your team.

But for organizations that prefer a bare-metal approach, we're excited to introduce the new self-hostable MCP target. This dedicated target creates an MCP server code repository, which can be deployed as a remote server or used locally. It's a perfect fit for those who want total control over the internals of their MCP servers.

## A fully featured MCP server

The new self-hostable MCP target is an evolution of the [SDK-bundled version](/blog/release-model-context-protocol). By creating a dedicated target, more MCP-specific features have been added, for a more fully featured server.

### Automatic DXT generation

Think of DXT files as the "app store for AI tools" — but instead of downloading apps, you're installing powerful MCP servers that extend what Claude Desktop and other MCP clients can do.

Before DXT, connecting Claude to external tools meant manually installing Node.js or Python and editing JSON configuration files. While not complicated for developers, this was imposing for users without a technical background.

With DXT support, it's literally one-click installation with no computer science knowledge needed:

1. Download a `.dxt` file
2. Double-click to install

That's it — no terminal commands, no JSON configuration files to edit. The [automatic DXT generation](/docs/standalone-mcp/build-server#desktop-extension-dxt-generation) creates a packaged Desktop Extension alongside your MCP server, making distribution to non-technical users seamless.

### Built-in Cloudflare deployment

No big company has invested in MCP infrastructure like Cloudflare. The result is that Cloudflare Workers are the infrastructure of choice for remote MCP servers, which is why deploying to Workers is now a native feature of our MCP server generator.

The [built-in Cloudflare deployment](/docs/standalone-mcp/cloudflare-deployment) makes getting your MCP server running on Workers incredibly simple. Just specify your Worker's URL and we'll create the necessary configuration so that deploying your server is a single command:

```bash
npx wrangler deploy
```

This integration leverages Cloudflare's robust MCP infrastructure investment, giving your MCP server access to their global edge network with minimal setup effort.

### Streamlined OAuth setup

The MCP specification recommends OAuth 2.1 with Dynamic Client Registration (DCR) for seamless authentication. While some APIs support DCR, the vast majority don't.

Our [streamlined OAuth setup](/docs/standalone-mcp/setting-up-oauth) makes setting up authentication for your MCP server easy, regardless of your API's auth set up:

- **For APIs with DCR support**: Direct integration with your existing OAuth provider
- **For APIs without DCR**: Automatic OAuth proxy generation that bridges the gap between MCP requirements and your provider's capabilities

You get production-ready authentication without building custom OAuth infrastructure from scratch.

## Moving on from bundled MCP

If you're currently using MCP servers generated as part of TypeScript SDK generation, migrating to standalone generation is straightforward:

1. **Run standalone generation**: Use the Speakeasy CLI to generate a standalone MCP server.

    ```bash
    speakeasy quickstart --mcp
    ```
2. **Update configurations**: Remove MCP server generation from your TypeScript SDK by editing the `gen.yaml` file.

    ```yaml filename="gen.yaml"
     enableMCPServer: False
    ```
3. **Distribute easily**: Use your MCP server locally with DXT or deploy on Cloudflare for a remote server experience.

For detailed documentation on customization, deployment, and advanced features, visit our [standalone MCP documentation](/docs/standalone-mcp/build-server).

## The benefits of unbundling

Human developers (who use SDKs) and AI agents (who use MCP) have different needs — so bundling them together into one package means that suboptimal trade-offs have to be made between them.

By moving MCP server generation into its own dedicated target, we can optimize for each audience individually. Here are some examples of how the standalone MCP target delivers better performance:

- **Agent-friendly naming conventions**: When MCP tools are bundled in the TypeScript SDK, field names get converted to camelCase per TypeScript convention. However, this confuses LLMs since tool descriptions reference the original field names. For example, an API field called `user_name` would become `userName` in the TypeScript SDK, but tool descriptions would expect the original `user_name`. The standalone MCP server maintains the original naming format, avoiding this confusion.

- **Richer data descriptions**: Every property gets detailed Zod descriptions that help AI understand your data model. Including these in an SDK would bloat the bundle unnecessarily, but they're essential for AI tools.

- **Smaller SDK bundles**: Removing MCP functionality from the TypeScript SDK means reduced bundle size for web developers.

- **Simplified configuration**: With MCP, there's less need to worry about style choices such as HTTP response format or union syntax that matter more for human developers.
---

*The future of API-AI integration is here, and it's built for independence, optimization, and production scale. Try standalone MCP generation today and see the difference dedicated tooling makes.*