Code Buddy

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.

Category
访问服务器

README

Code Buddy

Your AI-powered coding companion for Claude Desktop

Python Version License Status

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

  1. Clone the repository:
git clone https://github.com/Abhi-vish/code-buddy.git
cd code-buddy
  1. Install dependencies:
uv sync
  1. 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

  1. 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
  2. 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"
      }
    }
  }
}
  1. Replace C:\\path\\to\\code-buddy with your actual project path

  2. Restart Claude Desktop

  3. 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 contents
  • write_file - Write or create files
  • edit_file - Find and replace content
  • delete_file - Delete files
  • move_file - Move or rename files
  • copy_file - Copy files

Directory Tools

  • create_directory - Create directories
  • list_directory - List directory contents
  • delete_directory - Delete directories
  • get_directory_tree - Get recursive tree structure

Search Tools

  • search_in_files - Search for patterns
  • find_replace - Find and replace in a file
  • find_replace_all - Bulk find and replace

Code Tools

  • analyze_code - Analyze code metrics
  • get_functions - Extract function definitions
  • format_code - Format with Black
  • lint_code - Lint with Ruff

Git Tools

  • git - Run git commands
  • git_status - Get repository status
  • git_diff - Show changes
  • git_log - View commit history

Command Tools

  • run_command - Execute shell commands
  • run_python - Run Python scripts

Configuration

Environment Variables

  • OPENAI_API_KEY - Your OpenAI API key (required for CLI agent)
  • PROJECT_ROOT - Default project root directory
  • ALLOW_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 uv is 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_PATHS is set to true
  • Check file system permissions
  • Run with appropriate user privileges

Known Issues & Limitations

  • edit_file tool: Requires exact whitespace matching; use write_file for 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选