Labsco
MCP SERVER

TrueNAS Middleware MCP Server

by sonicaj

Feed a coding assistant the TrueNAS middleware docs in focused pieces, instead of the whole repository.

Codebase Context Packing & Compression
Summary
Documentation sliced to fit a context window.

The problem it solves is specific and real: a large middleware repository has more documentation than any single prompt can carry, so pasting it in crowds out the code you are working on. Serving it as addressable resources means the assistant pulls the plugin or subsystem page it needs and nothing else. Resources are the surface here — this is a reading server, not one that changes your NAS.

What it is

A Python MCP server that scans the TrueNAS middleware repository for its CLAUDE.md documentation files, categorises them, and serves them as small resources so a coding assistant can understand the codebase without drowning in context.

What you get
  • Architecture and practice: `truenas://overview` and `truenas://development/guidelines`
  • Plugins: `truenas://plugins/service-types`, `truenas://plugins/patterns`, `truenas://plugins/categories`, and `truenas://plugins/{plugin_name}` for a specific one
  • API: `truenas://api/versioning` and `truenas://api/models` for the Pydantic model patterns
  • Testing: `truenas://testing/overview` and `truenas://testing/patterns`
  • Subsystems: `truenas://subsystems/{name}`
  • Content is summarised on the way out — key sections extracted, code examples trimmed, API signatures kept over full implementations
Requirements

Python 3.11 in a virtualenv with `pip install -r requirements.txt`, or the bundled docker-compose setup. Point your client at truenas_mcp_server.py using that virtualenv's interpreter.