Some checks failed
Build and Push Image / Build and push image (push) Has been cancelled
MCPO Project
This repository contains the source code, configuration files, and deployment instructions for a project that uses Docker, Kubernetes, and the mcpo
tool to manage mulitiple MCP (Multi-Component Protocol) services.
Overview
The project sets up:
- A Docker container running the
mcpo
tool with configuration frommcpo_config.yaml
managed by config_builder.py - A Kubernetes deployment for the Gitea MCP application
- Services and pods to manage the application's networking and lifecycle
Key Components
Docker
- Dockerfile: Builds a container with Python dependencies and the
mcpo
tool - gitea_mcp_set.sh: Script to configure gitea_mcp in the container environment
- requirements.txt: Python dependencies for any script-based components
Kubernetes
- kube/deployment.yaml: Defines the Kubernetes deployment for the Gitea MCP application
- kube/pod.yaml: Pod specification for the container
- kube/service.yaml: Service configuration to expose the application
Configuration
Configuration
- Configuration File: Managed through
mcpo_config.yaml
. - Conversion Tool: Uses
config_builder.py
to convert YAML to JSON. - Template Guidelines: Assumes the yaml will follw the guideline template outlined in the MCPo configuration guidelines. It doesn't perform validation so it won't fail until build if you fuck it up
Purpose
This project provides a complete environment to:
- Run the mpco service using containerization
- Orchestrate the service using Kubernetes
- Manage configuration and authentication securely
Setup Instructions
-
Clone the repository:
git clone [repository-url]
-
Build the Docker image:
docker build -t mcpo-service:latest .
-
Apply Kubernetes configurations:
kubectl apply -f kube/
-
Verify the deployment:
kubectl get pods -n mcpo kubectl get services -n mcpo
-
Test the service:
- Ensure the service is accessible through the NodePort (30026)
- Verify the MCP servers are configured correctly
Notes
- The
mcpo
tool is used to manage MCP connections - Sensitive information should be parsed via environment variables to mcpo_config.yaml
- mcpo_config.yaml will parse env vars using the following syntax
!ENV ${YOUR_VAR}
- The project is designed for production deployment with Kubernetes orchestration
For detailed explanations of individual components, refer to their respective files in the repository.
Description
Languages
Python
64.2%
Dockerfile
22%
Shell
13.8%