AI Dev Assistant
Bridges Claude Desktop to local Windows 10 development environments to enable repository reading, documentation searching, and isolated code execution. It provides a secure interface for running allowlisted terminal commands and scripts directly through natural language.
README
š¤ AI Dev Assistant ā MCP Server
A production-ready Model Context Protocol (MCP) Server that bridges Claude Desktop directly to your local Windows 10 development environment. Give Claude the ability to read your code, run scripts, search docs, and execute safe terminal commands ā all without leaving the chat.
⨠What It Does
This server extends Claude Desktop with four powerful developer tools:
| Tool | What It Does |
|---|---|
github_repo_reader |
Recursively reads any local repo (ignores .git, node_modules, binaries) |
code_executor |
Runs Python or Node.js snippets in isolated child processes |
doc_search |
Full-text keyword search across your local docs/ folder |
terminal_commander |
Executes safe CMD/PowerShell commands via a strict allowlist |
šļø Project Structure
ai-dev-assistant-mcp/
āāā src/
ā āāā index.ts ā MCP server entry point & tool registry
ā āāā tools/
ā āāā repoReader.ts ā GitHub Repo Reader tool
ā āāā codeExecutor.ts ā Code Executor tool
ā āāā docSearch.ts ā Doc Search tool
ā āāā terminalCommander.ts ā Terminal Commander tool
āāā dist/ ā Compiled JavaScript (generated by `npm run build`)
āāā claude_desktop_config.json ā Example Claude Desktop config block
āāā package.json
āāā tsconfig.json
āāā README.md
āļø Setup (Windows 10)
Prerequisites
- Node.js v18 or higher ā verify with
node --version - Python 3 (optional, only needed for the
code_executorPython runtime) - Claude Desktop installed
Step 1 ā Clone / Place the Project
Place this project folder somewhere permanent, for example:
C:\ai-dev-assistant-mcp\
ā ļø Do not move the folder later ā Claude Desktop will reference the compiled path.
Step 2 ā Install Dependencies
Open a terminal in the project root and run:
cd C:\ai-dev-assistant-mcp
npm install
Step 3 ā Build the TypeScript
npm run build
This compiles src/ ā dist/. You should see dist/index.js appear.
Step 4 ā Configure Claude Desktop
Open (or create) the Claude Desktop config file at:
%APPDATA%\Claude\claude_desktop_config.json
Paste in the following block (adjust the path if you placed the project elsewhere):
{
"mcpServers": {
"ai-dev-assistant": {
"command": "node",
"args": [
"C:\\ai-dev-assistant-mcp\\dist\\index.js"
],
"env": {}
}
}
}
š” Already have other MCP servers? Just add the
"ai-dev-assistant"key inside your existing"mcpServers"object.
Step 5 ā Restart Claude Desktop
Fully quit and relaunch Claude Desktop. You should see the š§ tools icon in the chat input bar ā click it to confirm all four tools appear.
š Security Architecture
Terminal Commander Safe List
The terminal_commander tool will refuse to run any command whose base name is not on the explicit allowlist in src/tools/terminalCommander.ts:
const SAFE_COMMANDS_ALLOWLIST: Set<string> = new Set([
"dir", "ls", "git", "node", "npm", "npx", "python",
"tsc", "docker", "ipconfig", "ping", "whoami", ...
]);
Additionally, even allowlisted commands are blocked if they match any dangerous pattern:
rm -rf del /s format C: shutdown
taskkill net user netsh Invoke-Expression
curl | bash registry edits UAC elevation ...
To add a new command, edit SAFE_COMMANDS_ALLOWLIST in src/tools/terminalCommander.ts, then rebuild:
npm run build
Code Executor Sandbox
- Scripts run in isolated temp files ā no persistent state between calls
- 15-second hard timeout ā runaway processes are killed automatically
- 64 KB output cap ā prevents memory exhaustion from verbose output
- Temp files are deleted immediately after execution
Repo Reader Limits
- Ignores:
.git,node_modules,.next,dist,__pycache__,.venv, etc. - Skips: binary files, images, archives,
.lockfiles - 500 KB per-file cap ā large generated files are skipped automatically
- 500 file maximum per call
š ļø Usage Examples
Once connected to Claude Desktop, you can ask Claude:
"Read my repo at C:\Projects\my-api and explain the architecture."
"Run this Python script and tell me the output:
import json; print(json.dumps({'status': 'ok', 'count': 42}))"
"Search my docs folder at C:\Projects\my-api\docs for 'authentication'"
"Run git status in C:\Projects\my-api"
"What files are in C:\Projects? Run dir."
š§ Development
Watch Mode (auto-recompile on save)
npm run watch
Run Without Building (ts-node)
npm run dev
Add a New Tool
- Create
src/tools/myTool.tsā export a function returning{ name, description, inputSchema, handler } - Import it in
src/index.tsand add it to thetoolsarray - Run
npm run build - Restart Claude Desktop
šŖ Windows Path Notes
Windows paths use backslashes. In JSON config files, always double-escape them:
"C:\\Users\\YourName\\Projects\\my-repo"
In Claude prompts, you can use either style ā the tools normalize paths internally using Node's path.resolve().
š¦ Tech Stack
| Layer | Technology |
|---|---|
| Language | TypeScript 5.x |
| Runtime | Node.js 18+ |
| MCP SDK | @modelcontextprotocol/sdk |
| Process execution | Node.js child_process.spawn |
| Transport | stdio (standard MCP transport) |
š¤ How It Bridges Claude and Windows
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Claude Desktop ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā Claude AI (Claude Sonnet / Opus) ā ā
ā ā ā Decides which tool to call ā ā
ā āāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
āāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP Protocol (stdio JSON-RPC)
āāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā AI Dev Assistant MCP Server ā
ā āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā Repo Reader ā ā Code Executor ā ā
ā ā (fs module) ā ā (child_process.spawn) ā ā
ā āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā Doc Search ā ā Terminal Commander ā ā
ā ā (fs + regex) ā ā (cmd.exe / pwsh.exe) ā ā
ā āāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāā
ā
āāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāā
ā Windows 10 File System ā
ā Python / Node Runtimes ā
ā Git / npm / Docker ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Claude sends a tool-call request over stdio. The MCP server validates it, executes the appropriate handler, and returns formatted Markdown back to Claude ā which presents it naturally in the conversation.
š License
MIT ā free to use, modify, and build upon.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.