Compare commits

...

3 Commits

Author SHA1 Message Date
2307eb072d fix: update crush.json container names to kneldevstack-aimiddleware-*
- Update all LSP and MCP container names from knel-aimiddleware-* to kneldevstack-aimiddleware-*
- Ensures Crush uses correct container names matching docker-compose.yml
- Fixes bash, docker, and marksman LSP configs
- Fixes audiobook, bitwarden, and ghost MCP configs

Resolves MCP/LSP server connection issues due to naming mismatch.
2026-01-22 10:05:47 -05:00
ab21749a16 docs: update container name references to lowercase kneldevstack-aimiddleware-*
- AGENTS.md: Update all 29 container names in tables and Crush integration examples
- README.md: Update container names in Crush integration, troubleshooting, and project structure examples
- STATUS.md: Update container prefix note to reflect new naming convention

Aligns documentation with docker-compose.yml changes for consistency.
2026-01-22 10:05:43 -05:00
338094fef0 refactor: standardize container names to lowercase kneldevstack-aimiddleware-*
- Update all 29 container_name fields from KNELDevStack-AIMiddleware-* to kneldevstack-aimiddleware-*
- Add explicit image: fields to all services for consistent image naming
- Fix ghost-mcp and discourse-mcp to use build context instead of direct npx calls
- Ensures consistent lowercase naming across all services

This resolves confusion between service names, image names, and container names.
All three tiers (service, image, container) now use the same lowercase naming convention.
2026-01-22 10:05:29 -05:00
5 changed files with 109 additions and 80 deletions

View File

@@ -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"]
}
}
}

View File

@@ -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

View File

@@ -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-.

View File

@@ -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"]
}
}
}

View File

@@ -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}