---
title: Deployment Strategies
description: Choose the right deployment flow for your MCP server.
---

MCPLambda supports three distinct ways to deploy your Model Context Protocol servers. Each strategy is optimized for different use cases and development workflows.

You can also **discover** servers from the [MCP Server Registry](/docs/registry/) (Official + Community catalog) and install them into a project — that path still lands on package, Git, or image deployment under the hood. Bring-your-own sources remain first-class when a server is not in the catalog.

---

## 1. Direct Package Flow

**Best for:** Rapidly deploying existing community-built servers or testing ideas without local setup.

This flow leverages our internal runtime to containerize and deploy servers directly from package manager URLs. You don't need to write a Dockerfile or manage any build infrastructure.

**Supported Protocols:**
- `npx://@mcp/server-time`
- `uvx://mcp-server-fetch`
- `pip://mcp-server-gmail`
- `go://github.com/mcp-server/go-server`

**How it works:** MCPLambda's backend identifies the protocol, resolves the package, and spins up a dedicated container with the required runtime environment (Node.js, Python, Go) automatically.

---

## 2. GitOps Flow

**Best for:** Custom server development, teams, and production-grade CI/CD pipelines.

Connect your GitHub repository directly to MCPLambda. Every push to your main branch (or a custom branch) triggers an automated build and deployment.

**Workflow:**
1. Connect your GitHub account.
2. Select your repository and branch.
3. MCPLambda's **Image Builder** service automatically detects your language, builds a secure container image, and deploys it.
4. Future pushes automatically update your deployment.

### Optional: `mcplambda.yaml`

Commit a **`mcplambda.yaml`** at the repository root to declare repository-owned build and runtime defaults. MCPLambda reads it during Git builds so you do not re-enter flags on every deploy. Explicit CLI/API values **override** matching file values.

Full field reference and merge rules: **[mcplambda.yaml (Git Deploy Config)](/docs/mcplambda-yaml/)**.

```yaml
# Example — repo root
run: node dist/index.js
build:
  strategy: npm
  install_command: npm ci
  build_command: npm run build
transport: streamable-http
```

---

## 3. Direct Image Flow

**Best for:** Ready-made containers available in public or private registries, or complex applications with custom system-level dependencies.

If you already have a pre-built container image, you can deploy it directly without any source code or package resolution.

**Supported Registries:**
- Docker Hub
- GitHub Container Registry (GHCR)
- Amazon ECR
- Google Artifact Registry

**Example Source:** `ghcr.io/mcp-server/custom-server:v1.2.0`

**How it works:** MCPLambda pulls the image directly from the registry and orchestrates the deployment based on your configuration (environment variables, storage, etc.).

---

## Deployment Configuration

No matter which strategy you choose, you can configure the following for every deployment:

- **Transport:** Standard I/O, Streamable HTTP (modern, recommended), or SSE. **Regardless of the transport selected, MCPLambda provides a unique Deployment URL** for you to plug into your MCP client. For `stdio` deployments, the platform automatically handles the proxying to a web-native endpoint.
- **Environment Variables:** Inject API keys and configuration values securely.
- **Persistent Storage:** Request a dedicated volume for servers that need to maintain state across restarts.
- **Server Profile:** Choose between **Small**, **Medium**, or **Large** profiles based on your resource needs.

## Which strategy should I use?

| Scenario | Recommended Flow |
| :--- | :--- |
| Browsing known Official/Community servers | **[Registry](/docs/registry/)** then install |
| Deploying a popular server from a package manager | **Direct Package Flow** |
| Developing your own custom MCP server | **GitOps Flow** |
| Deploying a proprietary, pre-built binary | **Direct Image Flow** |
| Testing a server with unique system libraries | **Direct Image Flow** |

<Cards>
  <Card
    title="MCP Server Registry"
    href="/docs/registry/"
    description="Browse and install curated MCP servers."
  />
  <Card
    title="mcplambda.yaml"
    href="/docs/mcplambda-yaml/"
    description="Git deploy config: build, run, and transport."
  />
  <Card
    title="CLI Reference"
    href="/docs/cli/"
    description="Learn how to deploy using the mcpl CLI."
  />
  <Card
    title="Server Profiles"
    href="/docs/profiles/"
    description="Understand Compute Units and sizing."
  />
  <Card
    title="Tool-Usage Analytics"
    href="/docs/analytics/"
    description="Monitor tool calls after deploy."
  />
</Cards>