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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。