mcpField
M
mcp-server-operator

mcp-server-operator

Local
github.com/opendatahub-ioCloud & Infra1Updated 63w ago

About mcp-server-operator

MCP Server Operator manages MCP server lifecycles on OpenShift and compatible Kubernetes clusters. It uses an `MCPServer` custom resource to specify a container image and optional runtime command or arguments.

Key features

  1. 01Manage deployments through `MCPServer` resources
  2. 02Configure container images
  3. 03Set runtime commands and arguments
  4. 04Run on OpenShift-compatible clusters

Use cases

  1. 01Deploy MCP servers on an OpenShift cluster
  2. 02Specify server images and launch arguments
  3. 03Manage MCP server instances through Kubernetes resources

MCP support

The operator manages MCP server instances in a cluster; it does not describe tools or resources exposed by those servers.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Server Operator

The MCP Server Operator manages the lifecycle of MCP (Model Context Protocol) Servers on OpenShift Clusters. It leverages a Custom Resource Definition (CRD) Called MCPServer, allowing users to specify the MCP server image and runtime arguments for a custom MCP server deployment.

Features

  • Deploy and manages MCP server instances via CRDs
  • Supports custom container images and runtime arguments
  • Compatible with Openshift clusters
  • Includes both end-to-end test and unit tests.

Table of Contents

Usage

Prerequisites

Before installation, you will need the following to run the operator:

  • An OpenShift Cluster (ROSA, OSD, CRC) or compatible Kubernetes cluster
  • A container engine (podman or docker)
  • The OpenShift CLI tool: oc
  • Sufficient permissions to install CRDs and deploy operators
Installation

Before doing any of these steps, ensure that you are logged into your cluster if using one:

oc login --token=<your user token> --server=<your openshift cluster server>

After logging into your cluster, clone the repository and then swap to the mcp-server-operator folder:

git clone https://github.com/opendatahub-io/mcp-server-operator.git
cd mcp-server-operator

Next, set the environment variables:

export IMG=<your-registry>/<username>/mcp-server-operator:<tag>

Afterward, build the image:

CONTAINER_TOOL={docker|podman} IMG=$IMG make build

Then, install the necessary CRDs:

make install
Running the Operator Locally
make run
Running the Operator on a Cluster
make deploy IMG=$IMG
Making an MCP Server Instance

The following is an example on how to create an MCPServer, ensure that the text in brackets is replaced with the appropriate information before running the command.

cat << EOF | oc create -f -
apiVersion: mcpserver.opendatahub.io/v1
kind: MCPServer
metadata:
  name: <your_name_here>
  namespace: mcp-server-operator-system
spec:
  image: <your_image_here>
  args:
    - <arg 1>
    - <arg 2>
  command:
    - <command 1>
    - <command 2>
EOF

Field Descriptions

  • image: Container image for the MCP server.
  • args: (Optional) List of runtime arguments to be passed to the MCP server container.
  • command: (Optional) List for the entrypoint command to be passed to the MCP server container.
Uninstalling the operator and cleaning the cluster

Firstly, delete the MCPServer object from the cluster using the following command:

oc delete mcpserver -n mcp-server-operator-system [name]

Next is to uninstall the operator, which can be done by simply running the command below.

make undeploy

Developer Guide

Pre-requisites
  • Go 1.23
  • Kubebuilder
Run Tests

To run unit tests, run:

make test

To run end-to-end tests, run:

make test-e2e
Contributing

Contributions are welcome! Please refer to our contributing guidelines.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.