AI conversations and agentic coding in markdown with your preferred editor
md-ai provides 6 tools with mixed quality. All tools have descriptions (positive), and input schemas are visible in the source code. However, several tools have critical gaps: parameter descriptions are inconsistent or missing, output schemas are not documented, and error handling guidance is absent. The tools follow reasonable naming conventions (listFiles, readFiles, writeFiles, grepSearch, execCommand, fetchUrlContent), but descriptions lack the specificity and LLM-optimization needed for reliable agent use. For example, writeFiles has a complex oneOf schema but provides no guidance on error recovery or validation. execCommand has a timeout parameter but no documentation of which commands are safe or restricted. This is typical of community tools, functional but not production-grade.
Execute a shell command in the project directory. Before running any command, the AI should carefully inspect the project files, configuration, and context to ensure the command is relevant, safe, and appropriate for the specific project environment.
Fetches and extracts relevant text content from a given URL. Optionally filters extracted links by regex patterns and limits the number of links.
search for a fixed string in files recursively using grep, only within the cwd
list file paths on disk matching one or more glob patterns. does not list files that are ignored by .gitignore
open one or more files contents that match one or more glob patterns. does not open files that are ignored by .gitignore
Applies a single file modification based on a JSON patch object. Supports add, delete, update, move, and replace operations with user confirmation.
Output schemas not documented. LLMs cannot infer what fields will be returned from listFiles, readFiles, grepSearch, or fetchUrlContent. Missing output schema documentation blocks planning of downstream tool calls.
writeFiles has a complex oneOf schema with 5 operation types (add, delete, update, move, replace) but provides no error recovery guidance. If the patch fails (file not found, permission denied), the LLM has no recovery strategy documented.
execCommand description lacks critical safety constraints. No documentation of: which commands are forbidden, how timeouts work, what environment variables are available, or whether shell injection is possible. LLMs could attempt dangerous commands.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Parameter descriptions are sparse or missing context. For example, 'patterns' in listFiles and readFiles just says 'Glob patterns to list' / 'glob patterns for files to open' without explaining what glob syntax is supported, whether negation is allowed, or whether absolute vs relative paths work.
fetchUrlContent lacks pagination and result limit documentation. The 'maxLinks' parameter has no default documented in the description, and no guidance on what happens if URL content is extremely large (does it timeout? truncate? fail?).
writeFiles description says 'user confirmation' but this is a CLI tool with no MCP UI interaction pattern defined. The confirmation mechanism is unclear to an LLM invoking this tool via an MCP client.