MCP server for packing directory contents into single files for LLM consumption. Scans directories, respects gitignore, filters files, and outputs in multiple formats (XML, Markdown, Text, JSON).
Zeitgeist is a file-reading utility with three well-intentioned tools operating on filesystem operations. All three tools have explicit names following verb_noun patterns (pack_directory, list_files, get_file_content), clear descriptions (100-150 chars each), and detailed JSON schemas visible in the source code. However, several definition quality issues limit the score: (1) output schemas are completely undocumented, there is no description of what pack_directory, list_files, or get_file_content actually return, forcing LLMs to guess structure; (2) some parameters lack descriptions in the actual tool definitions visible in mcp_tools.zig (the schema builders show descriptions, but the actual parameter details are sparse); (3) no error handling guidance is present, tools lack actionable error messages or recovery hints; (4) no pagination support for list operations, which could return unbounded results; (5) no indication of what the tools return (e.g., does pack_directory return a file path, file contents, or metadata?). The three tools are well-named and address distinct concerns (packing vs. listing vs. reading), which is positive. But the lack of output schema documentation and error handling drops this from a 75+ to a solid C+/B-.
Get the content of a specific file with optional line numbers and token estimation.
List all files in a directory that would be included in a pack operation. Returns file paths, sizes, and other metadata.
Pack a directory's contents into a single file for LLM consumption. Scans the directory, respects gitignore, filters files, and outputs in the specified format.
Output schemas completely undocumented. Tools are declared with descriptions but no specification of what they return (fields, types, structure). LLMs cannot plan downstream calls or extract relevant data without this information.
No error handling guidance. Tools lack actionable error messages telling LLMs what to do on failure (retry, ask user, try alternative). A raw I/O error or missing file error gives the agent nothing to act on.
list_files returns unbounded results with no pagination. Large directories could return thousands of entries, exhausting context window. Missing limit parameter and total count in response.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
pack_directory and get_file_content accept max_file_size and max_size parameters but do not document what happens when file exceeds limit (truncate? error? return metadata only?). Silent truncation could mislead LLMs.
Parameter descriptions in schema builders use generic language ('Output format', 'Glob patterns for files to include') without context for WHEN or WHY to use each option. Descriptions should be LLM-optimized with use-case guidance.