Compare commits
3 Commits
b3ca1a09bc
...
2307eb072d
| Author | SHA1 | Date | |
|---|---|---|---|
| 2307eb072d | |||
| ab21749a16 | |||
| 338094fef0 |
64
AGENTS.md
64
AGENTS.md
@@ -11,62 +11,62 @@ This document tracks the AI agents and MCP servers configured in this project.
|
|||||||
#### Design & Engineering (3 servers)
|
#### Design & Engineering (3 servers)
|
||||||
| Service | Container Name | Description |
|
| Service | Container Name | Description |
|
||||||
|---------|---------------|-------------|
|
|---------|---------------|-------------|
|
||||||
| kicad-mcp | KNELDevStack-AIMiddleware-kicad-mcp | PCB design automation with 64 tools, JLCPCB integration (host-only) |
|
| kicad-mcp | kneldevstack-aimiddleware-kicad-mcp | PCB design automation with 64 tools, JLCPCB integration (host-only) |
|
||||||
| blender-mcp | KNELDevStack-AIMiddleware-blender-mcp | 3D modeling, materials, scenes, AI 3D model generation |
|
| blender-mcp | kneldevstack-aimiddleware-blender-mcp | 3D modeling, materials, scenes, AI 3D model generation |
|
||||||
| freecad-mcp | KNELDevStack-AIMiddleware-freecad-mcp | CAD modeling, Python execution, parts library |
|
| freecad-mcp | kneldevstack-aimiddleware-freecad-mcp | CAD modeling, Python execution, parts library |
|
||||||
|
|
||||||
#### Hosting & Infrastructure (5 servers)
|
#### Hosting & Infrastructure (5 servers)
|
||||||
| Service | Container Name | Description |
|
| Service | Container Name | Description |
|
||||||
|---------|---------------|-------------|
|
|---------|---------------|-------------|
|
||||||
| kubernetes-mcp | KNELDevStack-AIMiddleware-kubernetes-mcp | K8s/OpenShift management (native Go implementation) |
|
| kubernetes-mcp | kneldevstack-aimiddleware-kubernetes-mcp | K8s/OpenShift management (native Go implementation) |
|
||||||
| docker-mcp | KNELDevStack-AIMiddleware-docker-mcp | Container and compose stack management |
|
| docker-mcp | kneldevstack-aimiddleware-docker-mcp | Container and compose stack management |
|
||||||
| proxmox-mcp | KNELDevStack-AIMiddleware-proxmox-mcp | Hypervisor VM/container management |
|
| proxmox-mcp | kneldevstack-aimiddleware-proxmox-mcp | Hypervisor VM/container management |
|
||||||
| terraform-mcp | KNELDevStack-AIMiddleware-terraform-mcp | IaC automation, HCP Terraform, workspace management |
|
| terraform-mcp | kneldevstack-aimiddleware-terraform-mcp | IaC automation, HCP Terraform, workspace management |
|
||||||
| cloudron-mcp | KNELDevStack-AIMiddleware-cloudron-mcp | Self-hosted app management |
|
| cloudron-mcp | kneldevstack-aimiddleware-cloudron-mcp | Self-hosted app management |
|
||||||
|
|
||||||
#### Development Tools (2 servers)
|
#### Development Tools (2 servers)
|
||||||
| Service | Container Name | Description |
|
| Service | Container Name | Description |
|
||||||
|---------|---------------|-------------|
|
|---------|---------------|-------------|
|
||||||
| bash-language-server | KNELDevStack-AIMiddleware-bash-language-server | LSP for bash (diagnostics, completion, formatting) |
|
| bash-language-server | kneldevstack-aimiddleware-bash-language-server | LSP for bash (diagnostics, completion, formatting) |
|
||||||
| context7-mcp | KNELDevStack-AIMiddleware-context7-mcp | MCP server framework and SDK for documentation |
|
| context7-mcp | kneldevstack-aimiddleware-context7-mcp | MCP server framework and SDK for documentation |
|
||||||
|
|
||||||
#### Content Management (4 servers)
|
#### Content Management (4 servers)
|
||||||
| Service | Container Name | Description |
|
| Service | Container Name | Description |
|
||||||
|---------|---------------|-------------|
|
|---------|---------------|-------------|
|
||||||
| nextcloud-mcp | KNELDevStack-AIMiddleware-nextcloud-mcp | 90+ tools across 8 apps (Notes, Calendar, Files, Deck, etc.) |
|
| nextcloud-mcp | kneldevstack-aimiddleware-nextcloud-mcp | 90+ tools across 8 apps (Notes, Calendar, Files, Deck, etc.) |
|
||||||
| ghost-mcp | KNELDevStack-AIMiddleware-ghost-mcp | CMS post, member, newsletter management |
|
| ghost-mcp | kneldevstack-aimiddleware-ghost-mcp | CMS post, member, newsletter management |
|
||||||
| docspace-mcp | KNELDevStack-AIMiddleware-docspace-mcp | Room, file, collaboration management |
|
| docspace-mcp | kneldevstack-aimiddleware-docspace-mcp | Room, file, collaboration management |
|
||||||
| wordpress-mcp | KNELDevStack-AIMiddleware-wordpress-mcp | WordPress integration via Abilities API |
|
| wordpress-mcp | kneldevstack-aimiddleware-wordpress-mcp | WordPress integration via Abilities API |
|
||||||
|
|
||||||
#### Communication & Collaboration (3 servers)
|
#### Communication & Collaboration (3 servers)
|
||||||
| Service | Container Name | Description |
|
| Service | Container Name | Description |
|
||||||
|---------|---------------|-------------|
|
|---------|---------------|-------------|
|
||||||
| discourse-mcp | KNELDevStack-AIMiddleware-discourse-mcp | Forum search, posts, topics, categories (read/write modes) |
|
| discourse-mcp | kneldevstack-aimiddleware-discourse-mcp | Forum search, posts, topics, categories (read/write modes) |
|
||||||
| imap-mcp | KNELDevStack-AIMiddleware-imap-mcp | Email browsing, composition, Gmail OAuth2 support |
|
| imap-mcp | kneldevstack-aimiddleware-imap-mcp | Email browsing, composition, Gmail OAuth2 support |
|
||||||
| postizz-mcp | KNELDevStack-AIMiddleware-postizz-mcp | Social media management platform |
|
| postizz-mcp | kneldevstack-aimiddleware-postizz-mcp | Social media management platform |
|
||||||
|
|
||||||
#### Analytics & Security (2 servers)
|
#### Analytics & Security (2 servers)
|
||||||
| Service | Container Name | Description |
|
| Service | Container Name | Description |
|
||||||
|---------|---------------|-------------|
|
|---------|---------------|-------------|
|
||||||
| matomo-mcp | KNELDevStack-AIMiddleware-matomo-mcp | Analytics integration |
|
| matomo-mcp | kneldevstack-aimiddleware-matomo-mcp | Analytics integration |
|
||||||
| bitwarden-mcp | KNELDevStack-AIMiddleware-bitwarden-mcp | Official password vault management |
|
| bitwarden-mcp | kneldevstack-aimiddleware-bitwarden-mcp | Official password vault management |
|
||||||
|
|
||||||
#### Productivity & Automation (6 servers)
|
#### Productivity & Automation (6 servers)
|
||||||
| Service | Container Name | Description |
|
| Service | Container Name | Description |
|
||||||
|---------|---------------|-------------|
|
|---------|---------------|-------------|
|
||||||
| gimp-mcp | KNELDevStack-AIMiddleware-gimp-mcp | Image editing with GIMP 3.0, OCR support |
|
| gimp-mcp | kneldevstack-aimiddleware-gimp-mcp | Image editing with GIMP 3.0, OCR support |
|
||||||
| snipeit-mcp | KNELDevStack-AIMiddleware-snipeit-mcp | Asset inventory, maintenance tracking |
|
| snipeit-mcp | kneldevstack-aimiddleware-snipeit-mcp | Asset inventory, maintenance tracking |
|
||||||
| mcp-redmine | KNELDevStack-AIMiddleware-mcp-redmine | Project management, issue tracking, file operations |
|
| mcp-redmine | kneldevstack-aimiddleware-mcp-redmine | Project management, issue tracking, file operations |
|
||||||
| mcp-ansible | KNELDevStack-AIMiddleware-mcp-ansible | IT automation playbooks |
|
| mcp-ansible | kneldevstack-aimiddleware-mcp-ansible | IT automation playbooks |
|
||||||
| elasticsearch-mcp | KNELDevStack-AIMiddleware-elasticsearch-mcp | Search and index management (Rust) |
|
| elasticsearch-mcp | kneldevstack-aimiddleware-elasticsearch-mcp | Search and index management (Rust) |
|
||||||
| audiobook-mcp | KNELDevStack-AIMiddleware-audiobook-mcp | Audiobook management with AI-powered features |
|
| audiobook-mcp | kneldevstack-aimiddleware-audiobook-mcp | Audiobook management with AI-powered features |
|
||||||
|
|
||||||
#### Additional Tools (3 servers)
|
#### Additional Tools (3 servers)
|
||||||
| Service | Container Name | Description |
|
| Service | Container Name | Description |
|
||||||
|---------|---------------|-------------|
|
|---------|---------------|-------------|
|
||||||
| drawio-mcp | KNELDevStack-AIMiddleware-drawio-mcp | Draw.io diagram management |
|
| drawio-mcp | kneldevstack-aimiddleware-drawio-mcp | Draw.io diagram management |
|
||||||
| docker-language-server | KNELDevStack-AIMiddleware-docker-language-server | Language server for Dockerfiles, Compose files, Bake files |
|
| docker-language-server | kneldevstack-aimiddleware-docker-language-server | Language server for Dockerfiles, Compose files, Bake files |
|
||||||
| penpot-mcp | KNELDevStack-AIMiddleware-penpot-mcp | Design collaboration platform integration |
|
| penpot-mcp | kneldevstack-aimiddleware-penpot-mcp | Design collaboration platform integration |
|
||||||
|
|
||||||
## Agent Capabilities
|
## Agent Capabilities
|
||||||
|
|
||||||
@@ -168,8 +168,8 @@ When working on any MCP server:
|
|||||||
|
|
||||||
### Project Conventions
|
### Project Conventions
|
||||||
|
|
||||||
- All containers use the prefix `KNELDevStack-AIMiddleware-` for easy identification
|
- All containers use the prefix `kneldevstack-aimiddleware-` for easy identification
|
||||||
- Container names are in PascalCase for readability
|
- Container names are lowercase for consistency
|
||||||
- Service names are lowercase for Docker Compose compatibility
|
- Service names are lowercase for Docker Compose compatibility
|
||||||
- Each agent is validated individually before moving to the next
|
- Each agent is validated individually before moving to the next
|
||||||
- Vendor directory is gitignored to avoid committing cloned repositories
|
- Vendor directory is gitignored to avoid committing cloned repositories
|
||||||
@@ -186,13 +186,13 @@ All LSP and MCP instances must be configured in `crush.json` for Crush to use th
|
|||||||
"lsp": {
|
"lsp": {
|
||||||
"bash": {
|
"bash": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-bash-language-server"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-bash-language-server"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mcp": {
|
"mcp": {
|
||||||
"docker": {
|
"docker": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-docker-mcp"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-docker-mcp"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -202,15 +202,15 @@ All LSP and MCP instances must be configured in `crush.json` for Crush to use th
|
|||||||
"lsp": {
|
"lsp": {
|
||||||
"bash": {
|
"bash": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-bash-language-server", "start"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-bash-language-server", "start"]
|
||||||
},
|
},
|
||||||
"docker": {
|
"docker": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-docker-language-server", "start", "--stdio"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-docker-language-server", "start", "--stdio"]
|
||||||
},
|
},
|
||||||
"markdown": {
|
"markdown": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-marksman", "server"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-marksman", "server"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -233,7 +233,7 @@ For Docker-based LSP instances, use this pattern:
|
|||||||
"run",
|
"run",
|
||||||
"-i", // Interactive mode (required for stdio)
|
"-i", // Interactive mode (required for stdio)
|
||||||
"--rm", // Auto-cleanup after use
|
"--rm", // Auto-cleanup after use
|
||||||
"KNELDevStack-AIMiddleware-<service-name>",
|
"kneldevstack-aimiddleware-<service-name>",
|
||||||
"<server-args>" // e.g., "start", "--stdio"
|
"<server-args>" // e.g., "start", "--stdio"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -268,7 +268,7 @@ service-name:
|
|||||||
build:
|
build:
|
||||||
context: ./vendor/service-name
|
context: ./vendor/service-name
|
||||||
dockerfile: ../../dockerfiles/service-name/Dockerfile
|
dockerfile: ../../dockerfiles/service-name/Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-service-name
|
container_name: kneldevstack-aimiddleware-service-name
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -317,7 +317,7 @@ docker inspect <container-name>
|
|||||||
2. Test container manually:
|
2. Test container manually:
|
||||||
```bash
|
```bash
|
||||||
echo '{"jsonrpc":"2.0","method":"initialize","params":{}}' | \
|
echo '{"jsonrpc":"2.0","method":"initialize","params":{}}' | \
|
||||||
docker run -i --rm KNELDevStack-AIMiddleware-<lsp-name>
|
docker run -i --rm kneldevstack-aimiddleware-<lsp-name>
|
||||||
```
|
```
|
||||||
3. Check `crush.json` configuration
|
3. Check `crush.json` configuration
|
||||||
4. Verify container runs with `-i` flag for stdio
|
4. Verify container runs with `-i` flag for stdio
|
||||||
|
|||||||
@@ -56,4 +56,4 @@ To rebuild a server after changes:
|
|||||||
docker compose build --no-cache <service-name>
|
docker compose build --no-cache <service-name>
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: Use lowercase service names from compose file. Container names will still be prefixed with KNELDevStack-AIMiddleware-.
|
Note: Use lowercase service names from compose file. Container names will be prefixed with kneldevstack-aimiddleware-.
|
||||||
|
|||||||
12
crush.json
12
crush.json
@@ -3,29 +3,29 @@
|
|||||||
"lsp": {
|
"lsp": {
|
||||||
"bash": {
|
"bash": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-bash-language-server"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-bash-language-server"]
|
||||||
},
|
},
|
||||||
"docker": {
|
"docker": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-docker-language-server"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-docker-language-server"]
|
||||||
},
|
},
|
||||||
"markdown": {
|
"markdown": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-marksman"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-marksman"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mcp": {
|
"mcp": {
|
||||||
"audiobook": {
|
"audiobook": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-audiobook-mcp"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-audiobook-mcp"]
|
||||||
},
|
},
|
||||||
"bitwarden": {
|
"bitwarden": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-bitwarden-mcp"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-bitwarden-mcp"]
|
||||||
},
|
},
|
||||||
"ghost": {
|
"ghost": {
|
||||||
"command": "docker",
|
"command": "docker",
|
||||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-ghost-mcp"]
|
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-ghost-mcp"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,11 @@ services:
|
|||||||
# NOTE: Requires KiCAD to be installed on host machine
|
# NOTE: Requires KiCAD to be installed on host machine
|
||||||
# The MCP server connects to an existing KiCAD instance via TCP
|
# The MCP server connects to an existing KiCAD instance via TCP
|
||||||
kicad-mcp:
|
kicad-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-kicad-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/KiCAD-MCP-Server
|
context: ./vendor/KiCAD-MCP-Server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-kicad-mcp
|
container_name: kneldevstack-aimiddleware-kicad-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
@@ -22,10 +23,11 @@ services:
|
|||||||
|
|
||||||
# Blender MCP - 3D modeling and materials
|
# Blender MCP - 3D modeling and materials
|
||||||
blender-mcp:
|
blender-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-blender-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/blender-mcp
|
context: ./vendor/blender-mcp
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-blender-mcp
|
container_name: kneldevstack-aimiddleware-blender-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -35,10 +37,11 @@ services:
|
|||||||
|
|
||||||
# FreeCAD MCP - CAD modeling
|
# FreeCAD MCP - CAD modeling
|
||||||
freecad-mcp:
|
freecad-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-freecad-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/freecad-mcp
|
context: ./vendor/freecad-mcp
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-freecad-mcp
|
container_name: kneldevstack-aimiddleware-freecad-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -52,10 +55,11 @@ services:
|
|||||||
|
|
||||||
# Kubernetes MCP - K8s/OpenShift management
|
# Kubernetes MCP - K8s/OpenShift management
|
||||||
kubernetes-mcp:
|
kubernetes-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-kubernetes-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/kubernetes-mcp-server
|
context: ./vendor/kubernetes-mcp-server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-kubernetes-mcp
|
container_name: kneldevstack-aimiddleware-kubernetes-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "8081:8080"
|
- "8081:8080"
|
||||||
@@ -66,10 +70,11 @@ services:
|
|||||||
|
|
||||||
# Docker MCP - Container and compose management
|
# Docker MCP - Container and compose management
|
||||||
docker-mcp:
|
docker-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-docker-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/docker-mcp
|
context: ./vendor/docker-mcp
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-docker-mcp
|
container_name: kneldevstack-aimiddleware-docker-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
@@ -82,10 +87,11 @@ services:
|
|||||||
|
|
||||||
# Proxmox MCP - Hypervisor management
|
# Proxmox MCP - Hypervisor management
|
||||||
proxmox-mcp:
|
proxmox-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-proxmox-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/ProxmoxMCP
|
context: ./vendor/ProxmoxMCP
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-proxmox-mcp
|
container_name: kneldevstack-aimiddleware-proxmox-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -99,11 +105,12 @@ services:
|
|||||||
|
|
||||||
# Terraform MCP - IaC automation
|
# Terraform MCP - IaC automation
|
||||||
terraform-mcp:
|
terraform-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-terraform-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/terraform-mcp-server
|
context: ./vendor/terraform-mcp-server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
target: dev
|
target: dev
|
||||||
container_name: KNELDevStack-AIMiddleware-terraform-mcp
|
container_name: kneldevstack-aimiddleware-terraform-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- HOME=/terraform
|
- HOME=/terraform
|
||||||
@@ -115,10 +122,11 @@ services:
|
|||||||
|
|
||||||
# Cloudron MCP - Self-hosted app management
|
# Cloudron MCP - Self-hosted app management
|
||||||
cloudron-mcp:
|
cloudron-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-cloudron-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/mcp-cloudron
|
context: ./vendor/mcp-cloudron
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-cloudron-mcp
|
container_name: kneldevstack-aimiddleware-cloudron-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- CLOUDRON_URL=${CLOUDRON_URL}
|
- CLOUDRON_URL=${CLOUDRON_URL}
|
||||||
@@ -132,20 +140,22 @@ services:
|
|||||||
|
|
||||||
# Bash Language Server - LSP for bash
|
# Bash Language Server - LSP for bash
|
||||||
bash-language-server:
|
bash-language-server:
|
||||||
|
image: kneldevstack-aimiddleware-bash-language-server
|
||||||
build:
|
build:
|
||||||
context: ./vendor/bash-language-server
|
context: ./vendor/bash-language-server
|
||||||
dockerfile: ../../dockerfiles/bash-language-server/Dockerfile
|
dockerfile: ../../dockerfiles/bash-language-server/Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-bash-language-server
|
container_name: kneldevstack-aimiddleware-bash-language-server
|
||||||
restart: "no"
|
restart: "no"
|
||||||
profiles:
|
profiles:
|
||||||
- dev
|
- dev
|
||||||
|
|
||||||
# Context7 MCP - Documentation framework
|
# Context7 MCP - Documentation framework
|
||||||
context7-mcp:
|
context7-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-context7-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/context7
|
context: ./vendor/context7
|
||||||
dockerfile: ../../dockerfiles/context7/Dockerfile
|
dockerfile: ../../dockerfiles/context7/Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-context7-mcp
|
container_name: kneldevstack-aimiddleware-context7-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- UPSTASH_REDIS_REST_URL=${UPSTASH_REDIS_REST_URL}
|
- UPSTASH_REDIS_REST_URL=${UPSTASH_REDIS_REST_URL}
|
||||||
@@ -159,10 +169,11 @@ services:
|
|||||||
|
|
||||||
# Nextcloud MCP - 90+ tools across 8 apps
|
# Nextcloud MCP - 90+ tools across 8 apps
|
||||||
nextcloud-mcp:
|
nextcloud-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-nextcloud-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/nextcloud-mcp-server
|
context: ./vendor/nextcloud-mcp-server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-nextcloud-mcp
|
container_name: kneldevstack-aimiddleware-nextcloud-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -175,24 +186,26 @@ services:
|
|||||||
- ops
|
- ops
|
||||||
|
|
||||||
# Ghost MCP - CMS integration
|
# Ghost MCP - CMS integration
|
||||||
# Note: Using npx directly with @fanyangmeng/ghost-mcp package
|
|
||||||
ghost-mcp:
|
ghost-mcp:
|
||||||
image: node:22-alpine
|
image: kneldevstack-aimiddleware-ghost-mcp
|
||||||
container_name: KNELDevStack-AIMiddleware-ghost-mcp
|
build:
|
||||||
|
context: ./vendor/ghost-mcp
|
||||||
|
dockerfile: ../../dockerfiles/ghost-mcp/Dockerfile
|
||||||
|
container_name: kneldevstack-aimiddleware-ghost-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- GHOST_API_URL=${GHOST_API_URL}
|
- GHOST_API_URL=${GHOST_API_URL}
|
||||||
- GHOST_ADMIN_API_KEY=${GHOST_ADMIN_API_KEY}
|
- GHOST_ADMIN_API_KEY=${GHOST_ADMIN_API_KEY}
|
||||||
command: ["npx", "-y", "@fanyangmeng/ghost-mcp"]
|
|
||||||
profiles:
|
profiles:
|
||||||
- ops
|
- ops
|
||||||
|
|
||||||
# ONLYOFFICE DocSpace MCP - Room and file management
|
# ONLYOFFICE DocSpace MCP - Room and file management
|
||||||
docspace-mcp:
|
docspace-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-docspace-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/docspace-mcp
|
context: ./vendor/docspace-mcp
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-docspace-mcp
|
container_name: kneldevstack-aimiddleware-docspace-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- DOCSPACE_HOST=${DOCSPACE_HOST}
|
- DOCSPACE_HOST=${DOCSPACE_HOST}
|
||||||
@@ -202,10 +215,11 @@ services:
|
|||||||
|
|
||||||
# WordPress MCP Adapter
|
# WordPress MCP Adapter
|
||||||
wordpress-mcp:
|
wordpress-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-wordpress-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/mcp-adapter
|
context: ./vendor/mcp-adapter
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-wordpress-mcp
|
container_name: kneldevstack-aimiddleware-wordpress-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- WORDPRESS_URL=${WORDPRESS_URL}
|
- WORDPRESS_URL=${WORDPRESS_URL}
|
||||||
@@ -220,25 +234,27 @@ services:
|
|||||||
# ==========================================
|
# ==========================================
|
||||||
|
|
||||||
# Discourse MCP - Forum integration
|
# Discourse MCP - Forum integration
|
||||||
# Note: Using npx directly due to TypeScript compilation errors in 0.2.4
|
|
||||||
discourse-mcp:
|
discourse-mcp:
|
||||||
image: node:24-alpine
|
image: kneldevstack-aimiddleware-discourse-mcp
|
||||||
container_name: KNELDevStack-AIMiddleware-discourse-mcp
|
build:
|
||||||
|
context: ./vendor/discourse-mcp
|
||||||
|
dockerfile: ../../dockerfiles/discourse-mcp/Dockerfile
|
||||||
|
container_name: kneldevstack-aimiddleware-discourse-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- DISCOURSE_URL=${DISCOURSE_URL}
|
- DISCOURSE_URL=${DISCOURSE_URL}
|
||||||
- DISCOURSE_API_KEY=${DISCOURSE_API_KEY}
|
- DISCOURSE_API_KEY=${DISCOURSE_API_KEY}
|
||||||
- DISCOURSE_API_USERNAME=${DISCOURSE_API_USERNAME}
|
- DISCOURSE_API_USERNAME=${DISCOURSE_API_USERNAME}
|
||||||
command: ["npx", "-y", "@discourse/mcp"]
|
|
||||||
profiles:
|
profiles:
|
||||||
- ops
|
- ops
|
||||||
|
|
||||||
# IMAP MCP - Email processing
|
# IMAP MCP - Email processing
|
||||||
imap-mcp:
|
imap-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-imap-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/imap-mcp
|
context: ./vendor/imap-mcp
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-imap-mcp
|
container_name: kneldevstack-aimiddleware-imap-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -252,10 +268,11 @@ services:
|
|||||||
|
|
||||||
# Postiz MCP - Social media management
|
# Postiz MCP - Social media management
|
||||||
postizz-mcp:
|
postizz-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-postizz-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/postizz-MCP
|
context: ./vendor/postizz-MCP
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-postizz-mcp
|
container_name: kneldevstack-aimiddleware-postizz-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- POSTIZ_API_KEY=${POSTIZ_API_KEY}
|
- POSTIZ_API_KEY=${POSTIZ_API_KEY}
|
||||||
@@ -269,10 +286,11 @@ services:
|
|||||||
|
|
||||||
# Matomo MCP Client
|
# Matomo MCP Client
|
||||||
matomo-mcp:
|
matomo-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-matomo-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/matomo-mcp-client
|
context: ./vendor/matomo-mcp-client
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-matomo-mcp
|
container_name: kneldevstack-aimiddleware-matomo-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- MATOMO_URL=${MATOMO_URL}
|
- MATOMO_URL=${MATOMO_URL}
|
||||||
@@ -282,10 +300,11 @@ services:
|
|||||||
|
|
||||||
# Bitwarden MCP - Password vault
|
# Bitwarden MCP - Password vault
|
||||||
bitwarden-mcp:
|
bitwarden-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-bitwarden-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/mcp-server
|
context: ./vendor/mcp-server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-bitwarden-mcp
|
container_name: kneldevstack-aimiddleware-bitwarden-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- BITWARDEN_CLIENT_ID=${BITWARDEN_CLIENT_ID}
|
- BITWARDEN_CLIENT_ID=${BITWARDEN_CLIENT_ID}
|
||||||
@@ -302,10 +321,11 @@ services:
|
|||||||
|
|
||||||
# GIMP MCP - Image editing
|
# GIMP MCP - Image editing
|
||||||
gimp-mcp:
|
gimp-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-gimp-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/gimp-mcp
|
context: ./vendor/gimp-mcp
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-gimp-mcp
|
container_name: kneldevstack-aimiddleware-gimp-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -315,10 +335,11 @@ services:
|
|||||||
|
|
||||||
# Snipe-IT MCP - Asset inventory
|
# Snipe-IT MCP - Asset inventory
|
||||||
snipeit-mcp:
|
snipeit-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-snipeit-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/snipeit-mcp
|
context: ./vendor/snipeit-mcp
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-snipeit-mcp
|
container_name: kneldevstack-aimiddleware-snipeit-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -330,10 +351,11 @@ services:
|
|||||||
|
|
||||||
# Redmine MCP - Project management
|
# Redmine MCP - Project management
|
||||||
mcp-redmine:
|
mcp-redmine:
|
||||||
|
image: kneldevstack-aimiddleware-mcp-redmine
|
||||||
build:
|
build:
|
||||||
context: ./vendor/mcp-redmine
|
context: ./vendor/mcp-redmine
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-mcp-redmine
|
container_name: kneldevstack-aimiddleware-mcp-redmine
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -345,10 +367,11 @@ services:
|
|||||||
|
|
||||||
# Ansible MCP - IT automation
|
# Ansible MCP - IT automation
|
||||||
mcp-ansible:
|
mcp-ansible:
|
||||||
|
image: kneldevstack-aimiddleware-mcp-ansible
|
||||||
build:
|
build:
|
||||||
context: ./vendor/mcp-ansible
|
context: ./vendor/mcp-ansible
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-mcp-ansible
|
container_name: kneldevstack-aimiddleware-mcp-ansible
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
@@ -361,10 +384,11 @@ services:
|
|||||||
|
|
||||||
# Elasticsearch MCP
|
# Elasticsearch MCP
|
||||||
elasticsearch-mcp:
|
elasticsearch-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-elasticsearch-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/mcp-server-elasticsearch
|
context: ./vendor/mcp-server-elasticsearch
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-elasticsearch-mcp
|
container_name: kneldevstack-aimiddleware-elasticsearch-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- ELASTICSEARCH_URL=${ELASTICSEARCH_URL:-http://localhost:9200}
|
- ELASTICSEARCH_URL=${ELASTICSEARCH_URL:-http://localhost:9200}
|
||||||
@@ -377,10 +401,11 @@ services:
|
|||||||
|
|
||||||
# Audiobook MCP Server
|
# Audiobook MCP Server
|
||||||
audiobook-mcp:
|
audiobook-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-audiobook-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/audiobook-mcp-server
|
context: ./vendor/audiobook-mcp-server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-audiobook-mcp
|
container_name: kneldevstack-aimiddleware-audiobook-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- AUDIOBOOK_LIBRARY_PATH=${AUDIOBOOK_LIBRARY_PATH:-/audiobooks}
|
- AUDIOBOOK_LIBRARY_PATH=${AUDIOBOOK_LIBRARY_PATH:-/audiobooks}
|
||||||
@@ -396,10 +421,11 @@ services:
|
|||||||
|
|
||||||
# Draw.io MCP Server
|
# Draw.io MCP Server
|
||||||
drawio-mcp:
|
drawio-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-drawio-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/drawio-mcp-server
|
context: ./vendor/drawio-mcp-server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-drawio-mcp
|
container_name: kneldevstack-aimiddleware-drawio-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- DRAWIO_URL=${DRAWIO_URL:-https://app.diagrams.net}
|
- DRAWIO_URL=${DRAWIO_URL:-https://app.diagrams.net}
|
||||||
@@ -409,20 +435,22 @@ services:
|
|||||||
|
|
||||||
# Docker Language Server
|
# Docker Language Server
|
||||||
docker-language-server:
|
docker-language-server:
|
||||||
|
image: kneldevstack-aimiddleware-docker-language-server
|
||||||
build:
|
build:
|
||||||
context: ./vendor/docker-language-server
|
context: ./vendor/docker-language-server
|
||||||
dockerfile: ../../dockerfiles/docker-language-server/Dockerfile
|
dockerfile: ../../dockerfiles/docker-language-server/Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-docker-language-server
|
container_name: kneldevstack-aimiddleware-docker-language-server
|
||||||
restart: "no"
|
restart: "no"
|
||||||
profiles:
|
profiles:
|
||||||
- dev
|
- dev
|
||||||
|
|
||||||
# Marksman LSP - Markdown language server
|
# Marksman LSP - Markdown language server
|
||||||
marksman:
|
marksman:
|
||||||
|
image: kneldevstack-aimiddleware-marksman
|
||||||
build:
|
build:
|
||||||
context: ./vendor/marksman
|
context: ./vendor/marksman
|
||||||
dockerfile: ../../dockerfiles/marksman/Dockerfile
|
dockerfile: ../../dockerfiles/marksman/Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-marksman
|
container_name: kneldevstack-aimiddleware-marksman
|
||||||
restart: "no"
|
restart: "no"
|
||||||
profiles:
|
profiles:
|
||||||
- dev
|
- dev
|
||||||
@@ -433,10 +461,11 @@ services:
|
|||||||
|
|
||||||
# Penpot MCP - Design collaboration platform
|
# Penpot MCP - Design collaboration platform
|
||||||
penpot-mcp:
|
penpot-mcp:
|
||||||
|
image: kneldevstack-aimiddleware-penpot-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/penpot-mcp
|
context: ./vendor/penpot-mcp
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
container_name: KNELDevStack-AIMiddleware-penpot-mcp
|
container_name: kneldevstack-aimiddleware-penpot-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- PENPOT_URL=${PENPOT_URL:-https://design.penpot.app}
|
- PENPOT_URL=${PENPOT_URL:-https://design.penpot.app}
|
||||||
|
|||||||
Reference in New Issue
Block a user