A fast, single-binary CLI for listing, finding, searching, and inspecting files with MCP server support for LLM agents
LLM Dev Toolkit exposes 42 file/git/web utilities as MCP tools. Most tools have basic descriptions (10-50 chars) and input schemas with type info, but fall short of production-grade quality. Naming is inconsistent (ls, la, ll, fd, ff are aliases rather than verb_noun patterns). Descriptions lack context on WHEN to use each tool and what downstream tools expect. Many parameters lack descriptions entirely (e.g., 'sort' tool's 'by' param has no description). Output schemas are not documented, LLMs cannot predict what fields to extract. Error handling is absent from tool definitions. Destructive tools (dups with --delete, extract, clip write) lack confirmation patterns. No tool annotations (readOnlyHint, destructiveHint). Overall: functional CLI wrapped as MCP, but not optimized for agent reasoning.
List branches
Concatenate and display files
Compute file checksums (SHA-256 default)
Read/write system clipboard
Generate shell completion scripts
Show or inspect tk configuration
Concatenate files with path headers and optional token-budget truncation
Count lines, words, chars, bytes
Detect project type, language, and toolchain from config files
Alias proliferation (ls, la, ll, fd, ff) violates verb_noun naming convention. LLMs cannot infer intent from single-letter aliases. Consolidate to canonical names: list_directory, find_files, find_files_by_extension.
Descriptions are too brief (10-50 chars) and lack context. 'List directory contents' does not explain WHEN to use ls vs ll vs la, or what output structure to expect. Expand to 50-200 chars with use-case guidance.
Output schemas are not documented. LLMs cannot predict what fields (e.g., file_path, size, modified_time) each tool returns. Add explicit response schemas to every tool definition.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Show diff of working tree or staged changes
Find duplicate files by SHA-256 hash
Find empty files and directories
Extract archives (zip, tar, gz)
Compatibility command for ff
Fetch a URL and return its content as text or markdown
Find files by name (substring match)
Find files by extension
Find files by substring match in name
Display first lines of files
Show file info or system overview
Format, validate, or inspect JSON
Short for 'ls -a'
Show largest files or directories
Short for 'ls -al'
Show commit log
List directory contents
Display directory tree with depth limit
Syntax-highlighted file preview
Read a file with line numbers, binary detection, and size limit
Read a specific range of lines from a file
List recently modified files
Summarize a repository tree, size, largest, and recent files
Scrape a web page using CSS selector or readability extraction
Search file contents (substring matching)
Show a file or bounded context around FILE:LINE
Sort directory entries by various criteria
Install or print Spec0 agent slash commands
Show file/directory statistics
Show working tree status
Extract symbol definitions from source files
Display last lines of files
Display directory tree
Destructive tools (dups --delete, extract, clip write) lack confirmation patterns and error guidance. No dry-run mode. Agents can accidentally delete files or overwrite data without recovery options.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe tools from risky ones. Mark read-only tools and destructive tools explicitly.