🧠 MCP Server Helm Chart

by lgiuppone

321 downloads
Not rated
GitHub

About

This Helm chart dynamically deploys an MCP server accessible remotely via Server-Sent Events (SSE). It allows you to integrate existing REST APIs from your application and publish them as tools within the MCP server, enabling easy discovery and interaction by intelligent agents o

Details

Author
lgiuppone
Downloads
321
Categories
Other

- Deploy an MCP server in a Kubernetes cluster
- Enable remote interaction via SSE
- Dynamically register and expose API endpoints as tools
- Lightweight configuration via values.yaml
- Compatible with FastAPI, Express, Flask, and any REST service

Install the chart using helm install mcp-server ./mcp-server --values values.yaml after defining your API endpoints in the config.tools section of values.yaml. Clients connect to the deployed server via the /sse endpoint, as shown in the provided JSON configuration example.

🧠 MCP Server Helm Chart

This Helm chart dynamically deploys an MCP (Model Context Protocol) server, accessible remotely via Server-Sent Events (SSE). It allows you to easily expose any existing REST API from your application as tools within the MCP environment, enabling intelligent agents or external clients to query and use them.

---

πŸš€ Features

- Deploy an MCP server in a Kubernetes cluster
- Enable remote interaction via SSE
- Dynamically register and expose API endpoints as tools
- Lightweight configuration via values.yaml
- Compatible with FastAPI, Express, Flask, and any REST service

---

πŸ“¦ Chart Structure

mcp-server/
β”œβ”€β”€ Chart.yaml
β”œβ”€β”€ values.yaml
└── templates/
    β”œβ”€β”€ deployment.yaml
    β”œβ”€β”€ service.yaml
    β”œβ”€β”€ ingressroute.yaml
    └── configmap.yaml

---

βš™οΈ Dynamic Configuration

You can define which APIs to expose directly in your values.yaml file using the config.tools section. Here's an example configuration:


config:
  tools: |
    tools:
      get_api_status:
        endpoint: https://api-users.dev.example.com/
        description: Get root message to verify the API is running.

fetch_user_by_id:
endpoint: https://api-users.dev.example.com/users/1
description: Fetch a specific user by ID from the API.

get_random_user:
endpoint: https://api-users.dev.example.com/users/random
description: Retrieve a randomly selected user (for testing/demo).

> πŸ”’ Make sure to replace *.dev.example.com with your actual domains.

---

πŸ§ͺ Install the Chart

helm install mcp-server ./mcp-server \
  --values values.yaml

---

πŸ”Œ MCP Client Configuration

Once deployed, clients can connect to your MCP server using the following configuration:

{
  "mcp": {
    "servers": {
      "users-api": {
        "url": "https://mcp-server.dev.example.com/sse"
      }
    }
  }
}

> πŸ” The MCP server uses SSE (/sse) to stream messages in real-time.

---

🧹 Uninstall

helm uninstall mcp-server

---

🧠 About MCP

MCP (Model Context Protocol) is a lightweight interaction layer that enables intelligent agents or applications to access domain-specific tools using natural language interfaces or direct API querying.

---

πŸ“¬ Questions / Contributions

Feel free to open an issue or submit a pull request. Contributions are welcome!

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.