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)
|
||||
| Service | Container Name | Description |
|
||||
|---------|---------------|-------------|
|
||||
| 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 |
|
||||
| freecad-mcp | KNELDevStack-AIMiddleware-freecad-mcp | CAD modeling, Python execution, parts library |
|
||||
| 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 |
|
||||
| freecad-mcp | kneldevstack-aimiddleware-freecad-mcp | CAD modeling, Python execution, parts library |
|
||||
|
||||
#### Hosting & Infrastructure (5 servers)
|
||||
| Service | Container Name | Description |
|
||||
|---------|---------------|-------------|
|
||||
| kubernetes-mcp | KNELDevStack-AIMiddleware-kubernetes-mcp | K8s/OpenShift management (native Go implementation) |
|
||||
| docker-mcp | KNELDevStack-AIMiddleware-docker-mcp | Container and compose stack management |
|
||||
| proxmox-mcp | KNELDevStack-AIMiddleware-proxmox-mcp | Hypervisor VM/container management |
|
||||
| terraform-mcp | KNELDevStack-AIMiddleware-terraform-mcp | IaC automation, HCP Terraform, workspace management |
|
||||
| cloudron-mcp | KNELDevStack-AIMiddleware-cloudron-mcp | Self-hosted app management |
|
||||
| kubernetes-mcp | kneldevstack-aimiddleware-kubernetes-mcp | K8s/OpenShift management (native Go implementation) |
|
||||
| docker-mcp | kneldevstack-aimiddleware-docker-mcp | Container and compose stack management |
|
||||
| proxmox-mcp | kneldevstack-aimiddleware-proxmox-mcp | Hypervisor VM/container management |
|
||||
| terraform-mcp | kneldevstack-aimiddleware-terraform-mcp | IaC automation, HCP Terraform, workspace management |
|
||||
| cloudron-mcp | kneldevstack-aimiddleware-cloudron-mcp | Self-hosted app management |
|
||||
|
||||
#### Development Tools (2 servers)
|
||||
| Service | Container Name | Description |
|
||||
|---------|---------------|-------------|
|
||||
| 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 |
|
||||
| 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 |
|
||||
|
||||
#### Content Management (4 servers)
|
||||
| Service | Container Name | Description |
|
||||
|---------|---------------|-------------|
|
||||
| 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 |
|
||||
| docspace-mcp | KNELDevStack-AIMiddleware-docspace-mcp | Room, file, collaboration management |
|
||||
| wordpress-mcp | KNELDevStack-AIMiddleware-wordpress-mcp | WordPress integration via Abilities API |
|
||||
| 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 |
|
||||
| docspace-mcp | kneldevstack-aimiddleware-docspace-mcp | Room, file, collaboration management |
|
||||
| wordpress-mcp | kneldevstack-aimiddleware-wordpress-mcp | WordPress integration via Abilities API |
|
||||
|
||||
#### Communication & Collaboration (3 servers)
|
||||
| Service | Container Name | Description |
|
||||
|---------|---------------|-------------|
|
||||
| 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 |
|
||||
| postizz-mcp | KNELDevStack-AIMiddleware-postizz-mcp | Social media management platform |
|
||||
| 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 |
|
||||
| postizz-mcp | kneldevstack-aimiddleware-postizz-mcp | Social media management platform |
|
||||
|
||||
#### Analytics & Security (2 servers)
|
||||
| Service | Container Name | Description |
|
||||
|---------|---------------|-------------|
|
||||
| matomo-mcp | KNELDevStack-AIMiddleware-matomo-mcp | Analytics integration |
|
||||
| bitwarden-mcp | KNELDevStack-AIMiddleware-bitwarden-mcp | Official password vault management |
|
||||
| matomo-mcp | kneldevstack-aimiddleware-matomo-mcp | Analytics integration |
|
||||
| bitwarden-mcp | kneldevstack-aimiddleware-bitwarden-mcp | Official password vault management |
|
||||
|
||||
#### Productivity & Automation (6 servers)
|
||||
| Service | Container Name | Description |
|
||||
|---------|---------------|-------------|
|
||||
| gimp-mcp | KNELDevStack-AIMiddleware-gimp-mcp | Image editing with GIMP 3.0, OCR support |
|
||||
| snipeit-mcp | KNELDevStack-AIMiddleware-snipeit-mcp | Asset inventory, maintenance tracking |
|
||||
| mcp-redmine | KNELDevStack-AIMiddleware-mcp-redmine | Project management, issue tracking, file operations |
|
||||
| mcp-ansible | KNELDevStack-AIMiddleware-mcp-ansible | IT automation playbooks |
|
||||
| elasticsearch-mcp | KNELDevStack-AIMiddleware-elasticsearch-mcp | Search and index management (Rust) |
|
||||
| audiobook-mcp | KNELDevStack-AIMiddleware-audiobook-mcp | Audiobook management with AI-powered features |
|
||||
| gimp-mcp | kneldevstack-aimiddleware-gimp-mcp | Image editing with GIMP 3.0, OCR support |
|
||||
| snipeit-mcp | kneldevstack-aimiddleware-snipeit-mcp | Asset inventory, maintenance tracking |
|
||||
| mcp-redmine | kneldevstack-aimiddleware-mcp-redmine | Project management, issue tracking, file operations |
|
||||
| mcp-ansible | kneldevstack-aimiddleware-mcp-ansible | IT automation playbooks |
|
||||
| elasticsearch-mcp | kneldevstack-aimiddleware-elasticsearch-mcp | Search and index management (Rust) |
|
||||
| audiobook-mcp | kneldevstack-aimiddleware-audiobook-mcp | Audiobook management with AI-powered features |
|
||||
|
||||
#### Additional Tools (3 servers)
|
||||
| Service | Container Name | Description |
|
||||
|---------|---------------|-------------|
|
||||
| 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 |
|
||||
| penpot-mcp | KNELDevStack-AIMiddleware-penpot-mcp | Design collaboration platform integration |
|
||||
| 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 |
|
||||
| penpot-mcp | kneldevstack-aimiddleware-penpot-mcp | Design collaboration platform integration |
|
||||
|
||||
## Agent Capabilities
|
||||
|
||||
@@ -168,8 +168,8 @@ When working on any MCP server:
|
||||
|
||||
### Project Conventions
|
||||
|
||||
- All containers use the prefix `KNELDevStack-AIMiddleware-` for easy identification
|
||||
- Container names are in PascalCase for readability
|
||||
- All containers use the prefix `kneldevstack-aimiddleware-` for easy identification
|
||||
- Container names are lowercase for consistency
|
||||
- Service names are lowercase for Docker Compose compatibility
|
||||
- Each agent is validated individually before moving to the next
|
||||
- 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": {
|
||||
"bash": {
|
||||
"command": "docker",
|
||||
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-bash-language-server"]
|
||||
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-bash-language-server"]
|
||||
}
|
||||
},
|
||||
"mcp": {
|
||||
"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": {
|
||||
"bash": {
|
||||
"command": "docker",
|
||||
"args": ["run", "-i", "--rm", "KNELDevStack-AIMiddleware-bash-language-server", "start"]
|
||||
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-bash-language-server", "start"]
|
||||
},
|
||||
"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": {
|
||||
"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",
|
||||
"-i", // Interactive mode (required for stdio)
|
||||
"--rm", // Auto-cleanup after use
|
||||
"KNELDevStack-AIMiddleware-<service-name>",
|
||||
"kneldevstack-aimiddleware-<service-name>",
|
||||
"<server-args>" // e.g., "start", "--stdio"
|
||||
]
|
||||
}
|
||||
@@ -268,7 +268,7 @@ service-name:
|
||||
build:
|
||||
context: ./vendor/service-name
|
||||
dockerfile: ../../dockerfiles/service-name/Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-service-name
|
||||
container_name: kneldevstack-aimiddleware-service-name
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
@@ -317,7 +317,7 @@ docker inspect <container-name>
|
||||
2. Test container manually:
|
||||
```bash
|
||||
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
|
||||
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>
|
||||
```
|
||||
|
||||
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": {
|
||||
"bash": {
|
||||
"command": "docker",
|
||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-bash-language-server"]
|
||||
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-bash-language-server"]
|
||||
},
|
||||
"docker": {
|
||||
"command": "docker",
|
||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-docker-language-server"]
|
||||
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-docker-language-server"]
|
||||
},
|
||||
"markdown": {
|
||||
"command": "docker",
|
||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-marksman"]
|
||||
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-marksman"]
|
||||
}
|
||||
},
|
||||
"mcp": {
|
||||
"audiobook": {
|
||||
"command": "docker",
|
||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-audiobook-mcp"]
|
||||
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-audiobook-mcp"]
|
||||
},
|
||||
"bitwarden": {
|
||||
"command": "docker",
|
||||
"args": ["run", "-i", "--rm", "knel-aimiddleware-bitwarden-mcp"]
|
||||
"args": ["run", "-i", "--rm", "kneldevstack-aimiddleware-bitwarden-mcp"]
|
||||
},
|
||||
"ghost": {
|
||||
"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
|
||||
# The MCP server connects to an existing KiCAD instance via TCP
|
||||
kicad-mcp:
|
||||
image: kneldevstack-aimiddleware-kicad-mcp
|
||||
build:
|
||||
context: ./vendor/KiCAD-MCP-Server
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-kicad-mcp
|
||||
container_name: kneldevstack-aimiddleware-kicad-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
@@ -22,10 +23,11 @@ services:
|
||||
|
||||
# Blender MCP - 3D modeling and materials
|
||||
blender-mcp:
|
||||
image: kneldevstack-aimiddleware-blender-mcp
|
||||
build:
|
||||
context: ./vendor/blender-mcp
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-blender-mcp
|
||||
container_name: kneldevstack-aimiddleware-blender-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -35,10 +37,11 @@ services:
|
||||
|
||||
# FreeCAD MCP - CAD modeling
|
||||
freecad-mcp:
|
||||
image: kneldevstack-aimiddleware-freecad-mcp
|
||||
build:
|
||||
context: ./vendor/freecad-mcp
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-freecad-mcp
|
||||
container_name: kneldevstack-aimiddleware-freecad-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -52,10 +55,11 @@ services:
|
||||
|
||||
# Kubernetes MCP - K8s/OpenShift management
|
||||
kubernetes-mcp:
|
||||
image: kneldevstack-aimiddleware-kubernetes-mcp
|
||||
build:
|
||||
context: ./vendor/kubernetes-mcp-server
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-kubernetes-mcp
|
||||
container_name: kneldevstack-aimiddleware-kubernetes-mcp
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8081:8080"
|
||||
@@ -66,10 +70,11 @@ services:
|
||||
|
||||
# Docker MCP - Container and compose management
|
||||
docker-mcp:
|
||||
image: kneldevstack-aimiddleware-docker-mcp
|
||||
build:
|
||||
context: ./vendor/docker-mcp
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-docker-mcp
|
||||
container_name: kneldevstack-aimiddleware-docker-mcp
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
@@ -82,10 +87,11 @@ services:
|
||||
|
||||
# Proxmox MCP - Hypervisor management
|
||||
proxmox-mcp:
|
||||
image: kneldevstack-aimiddleware-proxmox-mcp
|
||||
build:
|
||||
context: ./vendor/ProxmoxMCP
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-proxmox-mcp
|
||||
container_name: kneldevstack-aimiddleware-proxmox-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -99,11 +105,12 @@ services:
|
||||
|
||||
# Terraform MCP - IaC automation
|
||||
terraform-mcp:
|
||||
image: kneldevstack-aimiddleware-terraform-mcp
|
||||
build:
|
||||
context: ./vendor/terraform-mcp-server
|
||||
dockerfile: Dockerfile
|
||||
target: dev
|
||||
container_name: KNELDevStack-AIMiddleware-terraform-mcp
|
||||
container_name: kneldevstack-aimiddleware-terraform-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- HOME=/terraform
|
||||
@@ -115,10 +122,11 @@ services:
|
||||
|
||||
# Cloudron MCP - Self-hosted app management
|
||||
cloudron-mcp:
|
||||
image: kneldevstack-aimiddleware-cloudron-mcp
|
||||
build:
|
||||
context: ./vendor/mcp-cloudron
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-cloudron-mcp
|
||||
container_name: kneldevstack-aimiddleware-cloudron-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- CLOUDRON_URL=${CLOUDRON_URL}
|
||||
@@ -132,20 +140,22 @@ services:
|
||||
|
||||
# Bash Language Server - LSP for bash
|
||||
bash-language-server:
|
||||
image: kneldevstack-aimiddleware-bash-language-server
|
||||
build:
|
||||
context: ./vendor/bash-language-server
|
||||
dockerfile: ../../dockerfiles/bash-language-server/Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-bash-language-server
|
||||
container_name: kneldevstack-aimiddleware-bash-language-server
|
||||
restart: "no"
|
||||
profiles:
|
||||
- dev
|
||||
|
||||
# Context7 MCP - Documentation framework
|
||||
context7-mcp:
|
||||
image: kneldevstack-aimiddleware-context7-mcp
|
||||
build:
|
||||
context: ./vendor/context7
|
||||
dockerfile: ../../dockerfiles/context7/Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-context7-mcp
|
||||
container_name: kneldevstack-aimiddleware-context7-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- UPSTASH_REDIS_REST_URL=${UPSTASH_REDIS_REST_URL}
|
||||
@@ -159,10 +169,11 @@ services:
|
||||
|
||||
# Nextcloud MCP - 90+ tools across 8 apps
|
||||
nextcloud-mcp:
|
||||
image: kneldevstack-aimiddleware-nextcloud-mcp
|
||||
build:
|
||||
context: ./vendor/nextcloud-mcp-server
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-nextcloud-mcp
|
||||
container_name: kneldevstack-aimiddleware-nextcloud-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -175,24 +186,26 @@ services:
|
||||
- ops
|
||||
|
||||
# Ghost MCP - CMS integration
|
||||
# Note: Using npx directly with @fanyangmeng/ghost-mcp package
|
||||
ghost-mcp:
|
||||
image: node:22-alpine
|
||||
container_name: KNELDevStack-AIMiddleware-ghost-mcp
|
||||
image: kneldevstack-aimiddleware-ghost-mcp
|
||||
build:
|
||||
context: ./vendor/ghost-mcp
|
||||
dockerfile: ../../dockerfiles/ghost-mcp/Dockerfile
|
||||
container_name: kneldevstack-aimiddleware-ghost-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- GHOST_API_URL=${GHOST_API_URL}
|
||||
- GHOST_ADMIN_API_KEY=${GHOST_ADMIN_API_KEY}
|
||||
command: ["npx", "-y", "@fanyangmeng/ghost-mcp"]
|
||||
profiles:
|
||||
- ops
|
||||
|
||||
# ONLYOFFICE DocSpace MCP - Room and file management
|
||||
docspace-mcp:
|
||||
image: kneldevstack-aimiddleware-docspace-mcp
|
||||
build:
|
||||
context: ./vendor/docspace-mcp
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-docspace-mcp
|
||||
container_name: kneldevstack-aimiddleware-docspace-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DOCSPACE_HOST=${DOCSPACE_HOST}
|
||||
@@ -202,10 +215,11 @@ services:
|
||||
|
||||
# WordPress MCP Adapter
|
||||
wordpress-mcp:
|
||||
image: kneldevstack-aimiddleware-wordpress-mcp
|
||||
build:
|
||||
context: ./vendor/mcp-adapter
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-wordpress-mcp
|
||||
container_name: kneldevstack-aimiddleware-wordpress-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- WORDPRESS_URL=${WORDPRESS_URL}
|
||||
@@ -220,25 +234,27 @@ services:
|
||||
# ==========================================
|
||||
|
||||
# Discourse MCP - Forum integration
|
||||
# Note: Using npx directly due to TypeScript compilation errors in 0.2.4
|
||||
discourse-mcp:
|
||||
image: node:24-alpine
|
||||
container_name: KNELDevStack-AIMiddleware-discourse-mcp
|
||||
image: kneldevstack-aimiddleware-discourse-mcp
|
||||
build:
|
||||
context: ./vendor/discourse-mcp
|
||||
dockerfile: ../../dockerfiles/discourse-mcp/Dockerfile
|
||||
container_name: kneldevstack-aimiddleware-discourse-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DISCOURSE_URL=${DISCOURSE_URL}
|
||||
- DISCOURSE_API_KEY=${DISCOURSE_API_KEY}
|
||||
- DISCOURSE_API_USERNAME=${DISCOURSE_API_USERNAME}
|
||||
command: ["npx", "-y", "@discourse/mcp"]
|
||||
profiles:
|
||||
- ops
|
||||
|
||||
# IMAP MCP - Email processing
|
||||
imap-mcp:
|
||||
image: kneldevstack-aimiddleware-imap-mcp
|
||||
build:
|
||||
context: ./vendor/imap-mcp
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-imap-mcp
|
||||
container_name: kneldevstack-aimiddleware-imap-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -252,10 +268,11 @@ services:
|
||||
|
||||
# Postiz MCP - Social media management
|
||||
postizz-mcp:
|
||||
image: kneldevstack-aimiddleware-postizz-mcp
|
||||
build:
|
||||
context: ./vendor/postizz-MCP
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-postizz-mcp
|
||||
container_name: kneldevstack-aimiddleware-postizz-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTIZ_API_KEY=${POSTIZ_API_KEY}
|
||||
@@ -269,10 +286,11 @@ services:
|
||||
|
||||
# Matomo MCP Client
|
||||
matomo-mcp:
|
||||
image: kneldevstack-aimiddleware-matomo-mcp
|
||||
build:
|
||||
context: ./vendor/matomo-mcp-client
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-matomo-mcp
|
||||
container_name: kneldevstack-aimiddleware-matomo-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MATOMO_URL=${MATOMO_URL}
|
||||
@@ -282,10 +300,11 @@ services:
|
||||
|
||||
# Bitwarden MCP - Password vault
|
||||
bitwarden-mcp:
|
||||
image: kneldevstack-aimiddleware-bitwarden-mcp
|
||||
build:
|
||||
context: ./vendor/mcp-server
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-bitwarden-mcp
|
||||
container_name: kneldevstack-aimiddleware-bitwarden-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- BITWARDEN_CLIENT_ID=${BITWARDEN_CLIENT_ID}
|
||||
@@ -302,10 +321,11 @@ services:
|
||||
|
||||
# GIMP MCP - Image editing
|
||||
gimp-mcp:
|
||||
image: kneldevstack-aimiddleware-gimp-mcp
|
||||
build:
|
||||
context: ./vendor/gimp-mcp
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-gimp-mcp
|
||||
container_name: kneldevstack-aimiddleware-gimp-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -315,10 +335,11 @@ services:
|
||||
|
||||
# Snipe-IT MCP - Asset inventory
|
||||
snipeit-mcp:
|
||||
image: kneldevstack-aimiddleware-snipeit-mcp
|
||||
build:
|
||||
context: ./vendor/snipeit-mcp
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-snipeit-mcp
|
||||
container_name: kneldevstack-aimiddleware-snipeit-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -330,10 +351,11 @@ services:
|
||||
|
||||
# Redmine MCP - Project management
|
||||
mcp-redmine:
|
||||
image: kneldevstack-aimiddleware-mcp-redmine
|
||||
build:
|
||||
context: ./vendor/mcp-redmine
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-mcp-redmine
|
||||
container_name: kneldevstack-aimiddleware-mcp-redmine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -345,10 +367,11 @@ services:
|
||||
|
||||
# Ansible MCP - IT automation
|
||||
mcp-ansible:
|
||||
image: kneldevstack-aimiddleware-mcp-ansible
|
||||
build:
|
||||
context: ./vendor/mcp-ansible
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-mcp-ansible
|
||||
container_name: kneldevstack-aimiddleware-mcp-ansible
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
@@ -361,10 +384,11 @@ services:
|
||||
|
||||
# Elasticsearch MCP
|
||||
elasticsearch-mcp:
|
||||
image: kneldevstack-aimiddleware-elasticsearch-mcp
|
||||
build:
|
||||
context: ./vendor/mcp-server-elasticsearch
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-elasticsearch-mcp
|
||||
container_name: kneldevstack-aimiddleware-elasticsearch-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- ELASTICSEARCH_URL=${ELASTICSEARCH_URL:-http://localhost:9200}
|
||||
@@ -377,10 +401,11 @@ services:
|
||||
|
||||
# Audiobook MCP Server
|
||||
audiobook-mcp:
|
||||
image: kneldevstack-aimiddleware-audiobook-mcp
|
||||
build:
|
||||
context: ./vendor/audiobook-mcp-server
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-audiobook-mcp
|
||||
container_name: kneldevstack-aimiddleware-audiobook-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- AUDIOBOOK_LIBRARY_PATH=${AUDIOBOOK_LIBRARY_PATH:-/audiobooks}
|
||||
@@ -396,10 +421,11 @@ services:
|
||||
|
||||
# Draw.io MCP Server
|
||||
drawio-mcp:
|
||||
image: kneldevstack-aimiddleware-drawio-mcp
|
||||
build:
|
||||
context: ./vendor/drawio-mcp-server
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-drawio-mcp
|
||||
container_name: kneldevstack-aimiddleware-drawio-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DRAWIO_URL=${DRAWIO_URL:-https://app.diagrams.net}
|
||||
@@ -409,20 +435,22 @@ services:
|
||||
|
||||
# Docker Language Server
|
||||
docker-language-server:
|
||||
image: kneldevstack-aimiddleware-docker-language-server
|
||||
build:
|
||||
context: ./vendor/docker-language-server
|
||||
dockerfile: ../../dockerfiles/docker-language-server/Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-docker-language-server
|
||||
container_name: kneldevstack-aimiddleware-docker-language-server
|
||||
restart: "no"
|
||||
profiles:
|
||||
- dev
|
||||
|
||||
# Marksman LSP - Markdown language server
|
||||
marksman:
|
||||
image: kneldevstack-aimiddleware-marksman
|
||||
build:
|
||||
context: ./vendor/marksman
|
||||
dockerfile: ../../dockerfiles/marksman/Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-marksman
|
||||
container_name: kneldevstack-aimiddleware-marksman
|
||||
restart: "no"
|
||||
profiles:
|
||||
- dev
|
||||
@@ -433,10 +461,11 @@ services:
|
||||
|
||||
# Penpot MCP - Design collaboration platform
|
||||
penpot-mcp:
|
||||
image: kneldevstack-aimiddleware-penpot-mcp
|
||||
build:
|
||||
context: ./vendor/penpot-mcp
|
||||
dockerfile: Dockerfile
|
||||
container_name: KNELDevStack-AIMiddleware-penpot-mcp
|
||||
container_name: kneldevstack-aimiddleware-penpot-mcp
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PENPOT_URL=${PENPOT_URL:-https://design.penpot.app}
|
||||
|
||||
Reference in New Issue
Block a user