AI coding agent embedded in VS Code. Powered by DeepSeek V4, with file editing, terminal, search, and plan/todos. Standalone, no backend required.
Deep Copilot is a VS Code extension, not an MCP server. The codebase shows 24 tools with basic naming (verb_noun pattern mostly followed) but critical gaps: descriptions are extremely terse (5-30 chars, well below the 50-200 char LLM-optimized baseline), input schemas are minimal (only 1-2 params per tool, no type validation visible), and no output schemas documented. Tools like run_shell and apply_patch expose dangerous operations with no error handling guidance, confirmation patterns, or permission gates. The tool definitions appear to be hardcoded in tool-executor.js with no visible JSON Schema validation. No evidence of pagination, structured output formatting, or recovery guidance for failures.
Apply a patch to files
Find files matching criteria
Find code references
Get code diagnostics
Get current editor context
Get git diff
Get git log
Get git repository status
Descriptions critically short (5-30 chars vs 50-200 char baseline). LLMs cannot determine when/why to select tools. E.g., 'Read file contents' and 'Write or create a file' lack context on prerequisites, return format, or error cases.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields. E.g., does list_dir return file sizes, timestamps, permissions? Does grep_search return line numbers and context?
Destructive/irreversible tools (run_shell, apply_patch, write_file, str_replace_in_file) lack confirmation patterns, dry-run support, or error recovery guidance. No indication of what happens on failure or how to undo.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | <=2025-11-25 | v2 |
Go to symbol definition
Search for text patterns in files
List directory contents
Read from memory store
Write to memory store
Read file contents
Read terminal output
Run shell commands
Run shell commands in background
Save a plan or todo
Create a new skill
Invoke a skill
Replace text in a file
Fetch web page content
Search the web
Write or create a file
Input schemas minimal and incomplete. Most tools show only 1-2 parameters with basic type info. No enums for constrained values (e.g., git_diff should constrain path format), no min/max for numeric params, no regex patterns for strings.
No parameter descriptions visible in schema. LLMs cannot infer what 'pattern' means in grep_search (regex? glob? literal?) or what 'in_terminal' does in run_shell. Ambiguous parameter names force guessing.