mcpo_mcp_servers/README.md
armistace 79909c91be
Some checks failed
Build and Push Image / Build and push image (push) Has been cancelled
README updates
2025-07-23 13:47:24 +10:00

73 lines
2.5 KiB
Markdown

# 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 from `mcpo_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](https://github.com/open-webui/mcpo). 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:
1. Run the mpco service using containerization
2. Orchestrate the service using Kubernetes
3. Manage configuration and authentication securely
## Setup Instructions
1. **Clone the repository**:
```bash
git clone [repository-url]
```
2. **Build the Docker image**:
```bash
docker build -t mcpo-service:latest .
```
3. **Apply Kubernetes configurations**:
```bash
kubectl apply -f kube/
```
4. **Verify the deployment**:
```bash
kubectl get pods -n mcpo
kubectl get services -n mcpo
```
5. **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.