Compare commits

...

11 Commits

Author SHA1 Message Date
246e43251f Merge pull request 'stray quote' (#3) from postgres_mcp into master
Some checks failed
Build and Push Image / Build and push image (push) Failing after 11m52s
Reviewed-on: #3
2025-07-28 15:28:41 +10:00
cccc9a7c8d stray quote 2025-07-28 15:28:14 +10:00
73f2510c04 Merge pull request 'postgres_mcp' (#2) from postgres_mcp into master
Some checks failed
Build and Push Image / Build and push image (push) Failing after 1m0s
Reviewed-on: #2
2025-07-28 15:23:10 +10:00
1e3202c869 don't use uv, debian not ready for that 2025-07-28 15:18:01 +10:00
c39b393503 update pipeline 2025-07-28 15:15:06 +10:00
1a8d216cea add postgres 2025-07-28 15:12:56 +10:00
79909c91be README updates
Some checks failed
Build and Push Image / Build and push image (push) Has been cancelled
2025-07-23 13:47:24 +10:00
98dcd7becb README updates
Some checks failed
Build and Push Image / Build and push image (push) Has been cancelled
2025-07-23 13:46:49 +10:00
f7506b4f20 README updates
Some checks failed
Build and Push Image / Build and push image (push) Has been cancelled
2025-07-23 13:45:55 +10:00
2b8cada173 remove config
Some checks failed
Build and Push Image / Build and push image (push) Has been cancelled
2025-07-23 13:36:30 +10:00
ea91c3e495 Merge pull request 'config_builder' (#1) from config_builder into master
All checks were successful
Build and Push Image / Build and push image (push) Successful in 22m49s
Reviewed-on: #1
2025-07-23 13:05:12 +10:00
5 changed files with 20 additions and 28 deletions

View File

@ -39,6 +39,7 @@ jobs:
run: | run: |
echo "GITEA_TOKEN=${{ secrets.GITEAMCPTOKEN }}" > .env echo "GITEA_TOKEN=${{ secrets.GITEAMCPTOKEN }}" > .env
echo "HOMEASSISTANT_TOKEN=${{ secrets.HOMEASSISTANTMCPTOKEN }}" >> .env echo "HOMEASSISTANT_TOKEN=${{ secrets.HOMEASSISTANTMCPTOKEN }}" >> .env
echo "POSTGRES_URI=${{ secrets.POSTGRES_URI }}" >> .env
- name: Build and push - name: Build and push
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5

View File

@ -1,11 +1,11 @@
# MCPO Project # 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) service. 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 ## Overview
The project sets up: The project sets up:
- A Docker container running the `mcpo` tool with configuration from `mcpo_config.json` - 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 - A Kubernetes deployment for the Gitea MCP application
- Services and pods to manage the application's networking and lifecycle - Services and pods to manage the application's networking and lifecycle
@ -22,10 +22,12 @@ The project sets up:
- **kube/service.yaml**: Service configuration to expose the application - **kube/service.yaml**: Service configuration to expose the application
### Configuration ### Configuration
- **mcpo_config.json**: Main configuration file for the `mcpo` tool, containing: ### Configuration
- MCP server settings
- Authentication credentials - **Configuration File**: Managed through `mcpo_config.yaml`.
- API endpoints - **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 ## Purpose
@ -43,7 +45,7 @@ This project provides a complete environment to:
2. **Build the Docker image**: 2. **Build the Docker image**:
```bash ```bash
docker build -t gitea-mcp:latest . docker build -t mcpo-service:latest .
``` ```
3. **Apply Kubernetes configurations**: 3. **Apply Kubernetes configurations**:
@ -53,8 +55,8 @@ This project provides a complete environment to:
4. **Verify the deployment**: 4. **Verify the deployment**:
```bash ```bash
kubectl get pods -n gitea-mcp kubectl get pods -n mcpo
kubectl get services -n gitea-mcp kubectl get services -n mcpo
``` ```
5. **Test the service**: 5. **Test the service**:
@ -63,7 +65,8 @@ This project provides a complete environment to:
## Notes ## Notes
- The `mcpo` tool is used to manage MCP connections - The `mcpo` tool is used to manage MCP connections
- The configuration file contains sensitive information (access tokens, Bearer tokens) - 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 - The project is designed for production deployment with Kubernetes orchestration
For detailed explanations of individual components, refer to their respective files in the repository. For detailed explanations of individual components, refer to their respective files in the repository.

View File

@ -1,18 +0,0 @@
{
"mcpServers": {
"gitea_stdio": {
"command": "gitea-mcp",
"args": ["-t", "stdio", "--host", "https://git.aridgwayweb.com"],
"env": {
"GITEA_ACCESS_TOKEN": "bac6a1e753d6f2c0b848bd1cbad82965b43ea480"
}
},
"homeassistant": {
"type": "sse",
"url": "https://homeassistant.aridgwayweb.com/mcp_server/sse",
"headers": {
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIwZmM4ZTIyNGFlOGI0MGIxOWJmNWE2YzI3NmRkYTBkYiIsImlhdCI6MTc1MzE4MzUwNSwiZXhwIjoyMDY4NTQzNTA1fQ.At_LG5QAuIzeM470tTokbp-XIq3ytf7j5SsAmpoPrLk"
}
}
}
}

View File

@ -9,3 +9,8 @@ mcpServers:
url: "https://homeassistant.aridgwayweb.com/mcp_server/sse" url: "https://homeassistant.aridgwayweb.com/mcp_server/sse"
headers: headers:
Authorization: !ENV ${HOMEASSISTANT_TOKEN} Authorization: !ENV ${HOMEASSISTANT_TOKEN}
postgres:
command: "postgres-mcp"
args: ["--access-mode=unrestricted"]
env:
"DATABASE_URI": !ENV ${POSTGRES_URI}

View File

@ -2,3 +2,4 @@ mcpo
pyyaml pyyaml
python-dotenv python-dotenv
pyaml_env pyaml_env
postgres-mcp