From 2c0e19ab2bb967d0557ef3c952d0b44926dd1ba7 Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Thu, 22 Jan 2026 23:50:58 -0500 Subject: [PATCH] feat: add audiobook-mcp validation and fix Dockerfile Build and validate audiobook-mcp server for audiobook management. Changes: - dockerfiles/audiobook-mcp/Dockerfile: Fixed esbuild ETXTBSY error by using 'npm install --ignore-scripts' instead of 'npm ci' - STATUS.md: Added audiobook-mcp as validated MCP (v1.1.0, 361MB) - AGENTS.md: Added audiobook-mcp to Productivity & Automation section Validation: - Container builds successfully from source - MCP protocol handshake verified with initialize request - Protocol version 2024-11-05 confirmed - Server name: audiobook-library, version 1.1.0 - Requires AUDIOBOOK_ROOT environment variable --- AGENTS.md | 8 ++++++++ STATUS.md | 6 ++++-- dockerfiles/audiobook-mcp/Dockerfile | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a73e9a7..135d107 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -56,6 +56,14 @@ This document tracks the AI agents and MCP servers configured in this project. #### Productivity & Automation (6 servers) | Service | Container Name | Description | |---------|---------------|-------------| +| 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) | +| 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 | diff --git a/STATUS.md b/STATUS.md index c7aa37f..cd1dd0a 100644 --- a/STATUS.md +++ b/STATUS.md @@ -7,7 +7,7 @@ Last validated: 2026-01-22 ## Validation Summary **Working MCP Servers:** -- None +- ✓ audiobook-mcp: Working (audiobook-library v1.1.0) - requires AUDIOBOOK_ROOT env var **MCP Servers with Configuration Issues:** - None @@ -16,9 +16,10 @@ Last validated: 2026-01-22 - None **Pending Build:** -- All MCP servers pending build +- All other MCP servers pending build **Recently Built:** +- audiobook-mcp: Built (v1.1.0) - stdio-based, requires AUDIOBOOK_ROOT - bash-language-server: Built (v5.6.0) - configured in crush.json via wrapper script - docker-language-server: Built (v0.0.0) - configured in crush.json via wrapper script - marksman: Built (2025-12-13) - configured in crush.json via wrapper script @@ -38,6 +39,7 @@ Last validated: 2026-01-22 | Repository | Status | Notes | |------------|--------|-------| +| audiobook-mcp | Built | Container built from source (361MB). MCP stdio-based, requires AUDIOBOOK_ROOT env var. Fixed Dockerfile to use npm install instead of npm ci. Version 1.1.0. | | bash-language-server | Built | Container built using prebuilt npm package (190MB). LSP configured in crush.json via wrapper script. Version 5.6.0. | | docker-language-server | Built | Container built from Go source (49.2MB). LSP configured in crush.json via wrapper script. Version 0.0.0. | | marksman | Built | Container built from prebuilt binary (144MB). LSP configured in crush.json via wrapper script. Version 2025-12-13. | diff --git a/dockerfiles/audiobook-mcp/Dockerfile b/dockerfiles/audiobook-mcp/Dockerfile index 28e13d5..f62cad0 100644 --- a/dockerfiles/audiobook-mcp/Dockerfile +++ b/dockerfiles/audiobook-mcp/Dockerfile @@ -6,7 +6,8 @@ WORKDIR /app COPY package.json package-lock.json* ./ -RUN npm ci +# Use npm install instead of npm ci to avoid esbuild ETXTBSY errors +RUN npm install --ignore-scripts COPY . .