Compare commits
11 Commits
config_bui
...
master
Author | SHA1 | Date | |
---|---|---|---|
246e43251f | |||
cccc9a7c8d | |||
73f2510c04 | |||
1e3202c869 | |||
c39b393503 | |||
1a8d216cea | |||
79909c91be | |||
98dcd7becb | |||
f7506b4f20 | |||
2b8cada173 | |||
ea91c3e495 |
@ -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
|
||||||
|
23
README.md
23
README.md
@ -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.
|
||||||
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -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}
|
@ -2,3 +2,4 @@ mcpo
|
|||||||
pyyaml
|
pyyaml
|
||||||
python-dotenv
|
python-dotenv
|
||||||
pyaml_env
|
pyaml_env
|
||||||
|
postgres-mcp
|
Loading…
x
Reference in New Issue
Block a user