Code Buddy
A comprehensive MCP server that provides AI assistants with tools for file system management, Git integration, and shell command execution. It features specialized code utilities for analysis, formatting, and linting to enhance development workflows within Claude Desktop.
README
Code Buddy
Your AI-powered coding companion for Claude Desktop
Project Status: Work in Progress - Active Development
A powerful Model Context Protocol (MCP) server that provides AI assistants with comprehensive file system and development tools. Built to work seamlessly with Claude Desktop and other MCP-compatible clients.
Note: This project is under active development. Core features are functional, but some areas are still being refined and tested.
Features
File Operations
- Read, write, edit, delete files at any location
- Copy and move files with full path support
- Support for both absolute and relative paths
Directory Management
- Create, list, delete directories
- Recursive directory tree visualization
- Navigate project structures easily
Code Tools
- Analyze code structure and complexity
- Extract functions and classes
- Format code with Black
- Lint code with Ruff
Search & Replace
- Search patterns across files
- Find and replace text
- Bulk find-and-replace operations
Git Integration
- Git status, diff, log operations
- Support for external repositories
- Branch and commit management
Command Execution
- Run shell commands in any directory
- Execute Python scripts
- Custom working directory support
Demo
Watch the agent in action creating a motivational quote website:
https://github.com/user-attachments/assets/5bd48fab-73cc-4ea9-b28e-d52ff224fc2b
The agent automatically created the full project structure, HTML, CSS, and JavaScript with working API integration.
Current Status & Roadmap
ā Completed Features
- MCP server implementation with 23+ tools
- Claude Desktop integration
- File operations (read, write, edit, delete, copy, move)
- Directory management with tree visualization
- Git integration with external repository support
- Code analysis and formatting tools
- Search and replace functionality
- Command execution with custom working directories
- Real-time streaming responses
- Absolute path support for external projects
š§ In Development
- CLI Agent (standalone interactive interface)
- Comprehensive test suite
- Error recovery mechanisms
- Performance optimizations
- Enhanced documentation and examples
š Planned Features
- Multi-language support beyond Python
- Database integration tools
- Docker and container management
- API testing tools
- Project scaffolding templates
- Plugin system for custom tools
Installation
Prerequisites
- Python 3.13 or higher
- uv package manager
- Claude Desktop (for MCP integration)
Setup
- Clone the repository:
git clone https://github.com/Abhi-vish/code-buddy.git
cd code-buddy
- Install dependencies:
uv sync
- Set up your OpenAI API key:
# Create .env file
echo "OPENAI_API_KEY=your-api-key-here" > .env
Usage with Claude Desktop
Configure Claude Desktop
-
Open your Claude Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
-
Add the MCP server configuration:
{
"mcpServers": {
"code-buddy": {
"command": "uv",
"args": [
"--directory",
"C:\\path\\to\\code-buddy",
"run",
"python",
"-m",
"src.server.main"
],
"cwd": "C:\\path\\to\\code-buddy",
"env": {
"PROJECT_ROOT": "C:\\path\\to\\code-buddy",
"ALLOW_EXTERNAL_PATHS": "true"
}
}
}
}
-
Replace
C:\\path\\to\\code-buddywith your actual project path -
Restart Claude Desktop
-
Look for the hammer icon (šØ) in Claude Desktop - this indicates MCP tools are available
Using the Tools
Once configured, you can ask Claude to:
- "Read the main.py file and explain what it does"
- "Create a new React app at C:\Users\Projects\myapp"
- "Show me the git status of this project"
- "Format all Python files in the src directory"
- "Search for TODO comments in the codebase"
The agent will automatically use the appropriate tools to complete your requests.
CLI Agent (In Development)
An interactive command-line interface is currently under development. This will provide a standalone way to interact with the coding agent without Claude Desktop.
# Coming soon
uv run python chat_agent.py
Features planned:
- Conversational interface with streaming responses
- Direct tool access from terminal
- Multi-project support
- Interactive debugging
Available Tools
File Tools
read_file- Read file contentswrite_file- Write or create filesedit_file- Find and replace contentdelete_file- Delete filesmove_file- Move or rename filescopy_file- Copy files
Directory Tools
create_directory- Create directorieslist_directory- List directory contentsdelete_directory- Delete directoriesget_directory_tree- Get recursive tree structure
Search Tools
search_in_files- Search for patternsfind_replace- Find and replace in a filefind_replace_all- Bulk find and replace
Code Tools
analyze_code- Analyze code metricsget_functions- Extract function definitionsformat_code- Format with Blacklint_code- Lint with Ruff
Git Tools
git- Run git commandsgit_status- Get repository statusgit_diff- Show changesgit_log- View commit history
Command Tools
run_command- Execute shell commandsrun_python- Run Python scripts
Configuration
Environment Variables
OPENAI_API_KEY- Your OpenAI API key (required for CLI agent)PROJECT_ROOT- Default project root directoryALLOW_EXTERNAL_PATHS- Enable access to files outside project root (default:true)MAX_FILE_SIZE- Maximum file size in bytes (default: 1MB)MAX_DEPTH- Maximum directory traversal depth (default: 4)LOG_LEVEL- Logging level (default:INFO)
Server Configuration
Edit config/default.yaml to customize server behavior:
name: "coding-agent"
version: "1.0.0"
max_file_size: 1048576 # 1MB
max_depth: 4
log_level: "INFO"
allow_external_paths: true
Development
Project Structure
code-buddy/
āāā src/
ā āāā client/ # Client-side code (CLI agent)
ā ā āāā agents/ # Agent implementations
ā ā āāā llm/ # LLM integrations
ā ā āāā ui/ # User interfaces
ā āāā server/ # MCP server implementation
ā ā āāā tools/ # Tool implementations
ā ā āāā resources/ # Resource providers
ā ā āāā prompts/ # Prompt templates
ā ā āāā utils/ # Utility functions
ā āāā shared/ # Shared code
āāā config/ # Configuration files
āāā assets/ # Demo videos and images
āāā pyproject.toml # Project dependencies
Running Tests
# Run tests (coming soon)
uv run pytest
Code Quality
# Format code
uv run black .
# Lint code
uv run ruff check .
Troubleshooting
Claude Desktop doesn't show tools
- Verify the configuration path is correct
- Check that
uvis in your PATH - Restart Claude Desktop completely
- Look for errors in Claude Desktop logs
Commands hang or timeout
- Increase timeout in tool parameters
- Check if the command requires user input
- Verify file paths are correct
Permission errors
- Ensure
ALLOW_EXTERNAL_PATHSis set totrue - Check file system permissions
- Run with appropriate user privileges
Known Issues & Limitations
- edit_file tool: Requires exact whitespace matching; use
write_filefor complex edits - Large files: Files over 1MB may have performance issues
- CLI Agent: Still in development; use Claude Desktop for production use
- Windows paths: Use forward slashes or double backslashes in paths
- Git operations: Some git commands may require manual input handling
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with the Model Context Protocol
- Powered by OpenAI and Anthropic Claude
- Uses uv for fast Python package management
Support
If you encounter any issues or have questions:
- Open an issue on GitHub
- Check existing issues for solutions
- Review the troubleshooting section
Note: This is an active development project. Features and APIs may change. Contributions and feedback are welcome as we continue to improve and expand the tool suite.
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.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.
E2B
Using MCP to run code via e2b.