AI Dev Assistant

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.

Category
Visit Server

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_executor Python 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, .lock files
  • 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

  1. Create src/tools/myTool.ts — export a function returning { name, description, inputSchema, handler }
  2. Import it in src/index.ts and add it to the tools array
  3. Run npm run build
  4. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured