dev-workflow-mcp
# dev-workflow-mcp
An MCP server that gives Claude Code extra tools for everyday development work: reading files, exploring project structure, searching code, checking git state, and generating review checklists.
## Install
```bash
cd "/Users/asimali/development/mcp servers/dev-workflow-mcp"
npm install
```
## Add to Claude Code
### Option A: CLI (recommended)
```bash
claude mcp add dev-workflow -- node "/Users/asimali/development/mcp servers/dev-workflow-mcp/server.js"
```
### Option B: Manual config
Add this to your Claude Code MCP config (e.g. `.claude.json` or the relevant `mcpServers` block):
```json
{
"mcpServers": {
"dev-workflow": {
"command": "node",
"args": ["/Users/asimali/development/mcp servers/dev-workflow-mcp/server.js"]
}
}
}
```
The server uses `process.cwd()` as the project root for all file/search operations, so it reflects whatever directory Claude Code launches it from.
## Tools
| Tool | Description |
|---|---|
| `read_project_file` | Reads and returns the full contents of a file by relative path. |
| `list_project_structure` | Lists files/folders recursively from a directory, up to a given depth. |
| `search_code` | Searches for a text or regex pattern across `.js`, `.ts`, `.tsx`, `.jsx` files. |
| `git_info` | Returns current branch, `git status`, and the last 10 commits. |
| `code_review_checklist` | Returns a checklist tailored to `react`, `api`, or `general` code, for a given file. |
| `generate_commit_message` | Retrieves staged changes and formats them with a conventional commit template. |
All tools fail gracefully — errors (missing files, invalid paths, non-git directories, etc.) are returned as readable error messages instead of crashing the server.
## Usage Examples
Ask Claude Code to use these tools naturally:
- **"Read package.json"** → `read_project_file`
- **"Show me the project structure"** → `list_project_structure`
- **"Find all imports of React"** → `search_code`
- **"What's the current git status?"** → `git_info`
- **"Give me a code review checklist for this component"** → `code_review_checklist`
- **"Show me what I'm about to commit"** → `generate_commit_message`
## Development
```bash
# Install dependencies
npm install
# Verify syntax
npm run lint
# Run server (stays open on stdio)
npm start
```
## Requirements
- **Node.js** 18+ (uses native modules: `fs`, `path`, `child_process`)
- **Git** (for `git_info` and `generate_commit_message` tools)
## Security
- **Path traversal prevention:** All file paths validated against project root
- **Graceful degradation:** All tools handle errors without crashing
- **No injection risks:** Git commands use template literals with args (safe in Node.js 22+), patterns validated with zod
- **Buffer limits:** Large diffs capped at 3000 bytes preview; `maxBuffer` set to 10MB for git commands
- **Stdio-only:** Server uses stdio transport (no network exposure)
TDQS
Scored across 6 tools
Each tool targets a distinct action and resource: reading a file, listing structure, searching code, checking git state, getting a review checklist, and generating a commit message. The only mild overlap is between git_info and generate_commit_message, both touching repository state, but their descriptions clearly separate status inspection from staged-diff retrieval.
Most tools follow a clear verb_noun pattern (read_project_file, list_project_structure, search_code, generate_commit_message). Two deviate to noun phrases (git_info, code_review_checklist), which is a minor inconsistency but still readable and predictable.
Six tools is well-scoped for a focused dev-workflow helper, with each tool covering a distinct facet of inspecting and preparing code changes. No redundant or filler tools pad the set.
The surface covers reading, searching, git inspection, and review/commit prep, but it has no write or edit operations despite descriptions referencing 'before editing' and 'before committing' changes. There is no tool to actually apply edits or perform the commit, leaving a notable lifecycle gap.