DevPilot
FreeNot checkedAn AI-powered development assistant that enables LLMs to securely interact with local development tools including Git, filesystem, Docker, PostgreSQL, and GitHu
About
An AI-powered development assistant that enables LLMs to securely interact with local development tools including Git, filesystem, Docker, PostgreSQL, and GitHub via the Model Context Protocol.
README
Your Personal AI Development Assistant powered by the Model Context Protocol (MCP).
DevPilot MCP is a local AI-powered developer assistant that allows LLMs such as ChatGPT, Claude, or any MCP-compatible client to securely interact with your development environment.
Instead of manually running Git commands, searching files, checking Docker containers, or querying databases, DevPilot exposes these capabilities as MCP tools.
The long-term vision is to create an intelligent software engineering assistant that can understand natural language, invoke the correct tools, and automate everyday development workflows.
✨ Features
✅ Git Tools
- Git Status // done
- Current Branch //
- Commit History //
- Diff //
- Show Commit
- Checkout Branch
- Create Branch
- Commit Changes
- Push / Pull
- Stash Operations
📁 Filesystem Tools
- Read File
- Write File
- Search Files
- List Directory
- Find TODOs
- Rename Files
- Delete Files
🐳 Docker Tools
- List Containers
- View Logs
- Restart Containers
- Stop Containers
- List Images
🗄 Database Tools
- Execute SQL Queries
- Show Schema
- Describe Tables
- List Databases
- Connection Information
🌐 GitHub Tools
- Clone Repository
- Create Pull Request
- Create Issue
- List Pull Requests
- List Branches
🤖 AI Assistant (Upcoming)
Instead of
Choose Tool:
git_status
You'll simply ask
Show me the status of my data-api repository.
The assistant will
- Understand your request
- Choose the correct MCP tool
- Execute it
- Explain the result naturally
🧩 Planner Arg Extractors
Defined in client/agent/planner.py as ARG_EXTRACTORS.
Each key is a tool argument name. The value is a function that pulls that argument out of the user's natural-language prompt (or None until implemented).
| Key | Meaning |
|---|---|
repo_path |
Absolute or relative path to a Git repository |
path |
Filesystem path (file or directory) |
symbol |
Code symbol name (class, function, etc.) |
branch |
Git branch name |
container |
Docker container name or ID |
command |
Shell command to run (e.g. inside a container) |
commit |
Git commit hash or ref (HEAD, abc123, …) |
content |
Text content to write into a file |
message |
Commit message or stash message |
query |
Text search string |
pattern |
Glob pattern for finding files |
remote |
Git remote name (origin, upstream, …) |
operation |
Stash operation (list, push, pop, apply, drop) |
limit |
Max number of items (e.g. git log entries) |
start_line |
First line number when reading a file |
max_lines |
How many lines to read from a file |
add_all |
Whether to git add -A before commit (true/false) |
append |
Whether to append instead of overwrite a file (true/false) |
checkout |
Whether to check out a branch after creating it (true/false) |
staged |
Whether to show staged diffs only (true/false) |
Example shape:
ARG_EXTRACTORS = {
"repo_path": extract_repo_path, # implemented
"branch": None, # TODO: implement later
...
}
🏗 Architecture
User Prompt
│
▼
Planner (Brain)
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Git Tools FS Tools Docker Tools
│ │ │
└──────────────┼──────────────┘
▼
Collect Results
│
▼
LLM Final Answer
---
# 📂 Project Structure
devpilot-mcp/ │ ├── README.md ├── pyproject.toml ├── .env │ ├── client/ │ ├── client.py │ ├── llm.py │ ├── prompt.py │ └── ui.py │ ├── server/ │ ├── server.py │ │ │ ├── git/ │ ├── filesystem/ │ ├── docker/ │ ├── postgres/ │ └── utils/ │ └── tests/
---
# �� Current Progress
## Phase 1 — MCP Fundamentals
- [x] MCP Server
- [x] MCP Client
- [x] Session Initialization
- [x] Tool Discovery
- [x] Tool Invocation
---
## Phase 2 — Git Tools
- [x] hello()
- [x] git_status()
- [x] git_branch()
### Upcoming
- [ ] git_log()
- [ ] git_diff()
- [ ] git_show()
- [ ] git_add()
- [ ] git_commit()
- [ ] git_push()
---
## Phase 3 — Filesystem
- [ ] read_file()
- [ ] write_file()
- [ ] search_files()
- [ ] list_directory()
---
## Phase 4 — Docker
- [ ] docker_ps()
- [ ] docker_logs()
- [ ] docker_restart()
---
## Phase 5 — PostgreSQL
- [ ] run_query()
- [ ] describe_table()
- [ ] list_tables()
---
## Phase 6 — GitHub
- [ ] create_pr()
- [ ] create_issue()
- [ ] clone_repo()
---
## Phase 7 — AI Assistant
- [ ] Natural language interface
- [ ] Automatic tool selection
- [ ] Context awareness
- [ ] Conversation memory
---
# 🛠 Installation
Clone the repository
```bash
git clone https://github.com/<your-username>/devpilot-mcp.git
cd devpilot-mcp
Install Poetry dependencies
poetry install
Activate the virtual environment
poetry shell
Run the server
poetry run python server/server.py
Run the client
poetry run python client/client.py
📖 Example
User
Show me my current Git branch.
Assistant
Calling git_branch(...)
Output
feature/devpilot
🎯 Vision
The goal of DevPilot MCP is to become a complete AI-powered development companion capable of understanding natural language and safely interacting with your local development environment.
Instead of memorizing terminal commands, developers should be able to simply describe what they want to accomplish.
Examples:
- "Show me modified files."
- "Create a new branch called feature/auth."
- "Find all TODO comments."
- "Restart my Docker containers."
- "Run the database migration."
- "Explain the last five commits."
DevPilot will determine which tools to use, execute them, and present the results in a human-friendly way.
📚 Tech Stack
- Python
- FastMCP
- Model Context Protocol (MCP)
- AsyncIO
- Poetry
- Git
- Docker
- PostgreSQL
- OpenAI / Claude (Planned)
🤝 Contributing
Contributions, issues, and feature requests are welcome.
Feel free to open an issue or submit a pull request.
📜 License
MIT License
⭐ Roadmap
- MCP Fundamentals
- Git Automation
- Filesystem Automation
- Docker Integration
- PostgreSQL Integration
- GitHub Automation
- AI Tool Selection
- Memory
- Multi-Agent Support
- Voice Commands
- VS Code Extension
Installing DevPilot
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/walianitin/Dev-McpFAQ
Is DevPilot MCP free?
Yes, DevPilot MCP is free — one-click install via Unyly at no cost.
Does DevPilot need an API key?
No, DevPilot runs without API keys or environment variables.
Is DevPilot hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install DevPilot in Claude Desktop, Claude Code or Cursor?
Open DevPilot on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare DevPilot with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
