mcp-ephemeral-k8s

by BobMerkus

2 stars
176 downloads
Not rated
GitHub

About

Python implementation to spawn ephemeral Model Context Protocol (MCP) servers using the kubernetes API.

Details

Author
BobMerkus
GitHub stars
2
Downloads
176
Categories
Cloud Service

- Supports Node.js (via npx) and Python (via uvx) runtimes
- Integrates with mcp-proxy for runtime execution
- Works with local kubeconfig or in-cluster configuration
- Can be run as an MCP server itself
- Provides a Python library for programmatic session management
- Exposes ephemeral MCP servers over SSE

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name mcp-ephemeral-k8s
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Run the server with uvx mcp-ephemeral-k8s or install as a Python package (pip install mcp-ephemeral-k8s and then mcp-ephemeral-k8s). Optionally deploy via a Helm chart. Connect using an SSE URL (e.g., http://localhost:8000/sse) with the sse transport.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp-ephemeral-k8s": {
            "mcp-ephemeral-k8s": {
                "command": "uvx",
                "args": [
                    "mcp-ephemeral-k8s"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-ephemeral-k8s": {
        "command": "uvx",
        "args": [
            "mcp-ephemeral-k8s"
        ]
    }
}

mcp-ephemeral-k8s

Release
Build status
codecov
Commit activity
License

A Python library for spawning ephemeral Model Context Protocol (MCP) servers on Kubernetes using Server-Sent Events (SSE).

- Github: <https://github.com/BobMerkus/mcp-ephemeral-k8s/>
- Documentation: <https://BobMerkus.github.io/mcp-ephemeral-k8s/docs/>

Features

- Supports multiple runtimes:
- Node.js (via npx)
- Python (via uvx)
- Works with mcp-proxy for uvx or npx runtimes
- Supports both local kubeconfig and in-cluster configuration
- Can be run as MCP server

Usage

Running the MCP Server

uvx mcp-ephemeral-k8s

Using the Library

import asyncio
from mcp_ephemeral_k8s import KubernetesSessionManager, presets

async def main():
async with KubernetesSessionManager() as session_manager:
mcp_server = await session_manager.create_mcp_server(
presets.K8S_MCP_SERVER, wait_for_ready=True, expose_port=True
)
print(mcp_server.sse_url)

if __name__ == "__main__":
asyncio.run(main())


Job 'mcp-ephemeral-k8s-proxy-1762291156-x17zuayy' in unknown state, waiting...
http://mcp-ephemeral-k8s-proxy-1762291156-x17zuayy.default.svc.cluster.local:8080/sse

Installation

Prerequisites

- Docker
- Kind or any Kubernetes cluster with valid kubectl configuration

Option 1: Using uvx (Recommended)

uvx mcp-ephemeral-k8s

To connect to the MCP server, use the following config:

{
"mcp-ephemeral-k8s": {
"url": "http://localhost:8000/sse",
"transport": "sse"
}
}

Option 2: As a Python Package

pip install mcp-ephemeral-k8s
mcp-ephemeral-k8s

Option 3: Using Helm Chart

To install the Helm chart, run:
helm repo add mcp-ephemeral-k8s https://BobMerkus.github.io/mcp-ephemeral-k8s/
helm repo update
helm install mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s

To upgrade the Helm chart, run:

helm upgrade -i mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s

To install a specific version, run:

helm install mcp-ephemeral-k8s mcp-ephemeral-k8s/mcp-ephemeral-k8s --version <replace-with-version>

To uninstall the Helm chart, run:

helm uninstall mcp-ephemeral-k8s

Option 4: From Source

1. Clone the repository

   git clone https://github.com/BobMerkus/mcp-ephemeral-k8s.git
cd mcp-ephemeral-k8s

2. Set up development environment

   make install

3. Run pre-commit hooks

   make check

4. Run tests

   make test

5. Build Docker images

   make docker-build-local
make docker-build-local-proxy

6. Load images to cluster

   kind load docker-image ghcr.io/bobmerkus/mcp-ephemeral-k8s:latest
kind load docker-image ghcr.io/bobmerkus/mcp-ephemeral-k8s-proxy:latest

7. Install Helm chart

   helm upgrade -i mcp-ephemeral-k8s charts/mcp-ephemeral-k8s --set image.tag=latest

8. Port forward the MCP server

   kubectl port-forward svc/mcp-ephemeral-k8s 8000:8000

9. Visit the FastAPI server

   npx @modelcontextprotocol/inspector --sse http://localhost:8000/sse

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.