AiDD MCP Server
local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Supports code analysis using tree-sitter for C++ files (.cpp, .hpp, .cc)
Provides Git operations including repository initialization, status checking, adding files, resetting, checkout, commit, diff, and log viewing
Upcoming features include GitHub tools such as PR Description Generator, Code Review, and Actions Manager
AiDD MCP Server
An MCP server that provides a comprehensive set of tools for AI-driven development workflows. Features include file system operations, code analysis using tree-sitter for multiple programming languages, Git operations, code execution, and system information retrieval. Designed to enhance AI's capability to assist in software development tasks.
Installation
Claude Desktop Setup
Add to your claude_desktop_config.json
:
Key Features
- File system operations (read, write, edit, move, delete)
- Directory management and traversal
- Multi-language code analysis using tree-sitter
- Multi-language code execution with safety measures
- Git operations (status, diff, commit, branch management)
- Security controls with configurable workspace boundaries
- Screenshot and screen context tools
- Image handling tools
Available Tools
Basic File Operations
Tool | Parameters | Returns |
---|---|---|
read_file | path: string | File content |
read_multiple_files | paths: string[] | Multiple file contents with headers |
write_file | path: string, content: string | Success confirmation |
move_file | source: string, destination: string | Success confirmation |
delete_file | path: string | Success confirmation |
get_file_info | path: string | File metadata (size, timestamps, permissions) |
Common usage:
Complex File Operations
edit_file
Pattern-based file editing with preview support:
Returns: Diff of changes or preview in dry run mode.
Directory Operations
Tool | Parameters | Returns |
---|---|---|
get_allowed_directory | none | Current allowed directory path |
update_allowed_directory | directory: string (absolute path) | Success confirmation |
list_directory | path: string | Directory contents list |
create_directory | path: string | Success confirmation |
search_files | pattern: string, path?: string, include_hidden?: boolean | Matching files list |
directory_tree
Generates complete directory structure:
Returns: JSON tree structure of directory contents.
Common usage:
Git Operations
Tool | Parameters | Returns |
---|---|---|
git_init | path: string, initial_branch?: string | Repository initialization status |
git_status | repo_path: string | Working directory status |
git_add | repo_path: string, files: string[] | Staging confirmation |
git_reset | repo_path: string | Unstaging confirmation |
git_checkout | repo_path: string, branch_name: string | Branch switch confirmation |
Complex Git Operations
git_commit
Returns: Commit hash and confirmation.
git_diff
Returns: Detailed diff output.
git_log
Returns: Array of commit entries with hash, author, date, and message.
Common usage:
Code Analysis
tree_sitter_map
Analyzes source code structure:
Returns:
- Classes and their methods
- Functions and parameters
- Module structure
- Code organization statistics
- Inheritance relationships
Supported Languages:
- Python (.py)
- JavaScript (.js, .jsx, .mjs, .cjs)
- TypeScript (.ts, .tsx)
- Java (.java)
- C++ (.cpp, .hpp, .cc)
- Ruby (.rb, .rake)
- Go (.go)
- Rust (.rs)
- PHP (.php)
- C# (.cs)
- Kotlin (.kt, .kts)
System Information
Tool | Parameters | Returns |
---|---|---|
get_system_info | none | Comprehensive system details |
Returns:
Provides essential system information in a clean, readable format.
Screen Context and Image Tools
get_active_apps
Returns a list of currently active applications on the user's system.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
with_details | boolean | No | Whether to include additional details about each application (default: false) |
Returns:
This tool provides valuable context about applications currently running on the user's system, which can help with providing more relevant assistance.
get_available_windows
Returns detailed information about all available windows currently displayed on the user's screen.
Returns:
This tool helps understand what's visible on the user's screen and can be used for context-aware assistance.
capture_screenshot
Captures a screenshot of the user's screen or a specific window.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
output_path | string | No | Path where the screenshot should be saved (default: generated path) |
capture_mode | object | No | Specifies what to capture |
capture_mode.type | string | No | Type of screenshot: 'full', 'active_window', or 'named_window' (default: 'full') |
capture_mode.window_name | string | No | Name of window to capture (required when type is 'named_window') |
Returns:
This tool captures screenshots for visualization, debugging, or context-aware assistance.
read_image_file
Reads an image file from the file system and returns its contents as a base64-encoded string.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
path | string | Yes | Path to the image file to read |
max_size | integer | No | Maximum file size in bytes (default: 100MB) |
Returns: Base64-encoded image data that can be displayed or processed.
This tool supports common image formats like PNG, JPEG, GIF, and WebP, and automatically resizes images for optimal viewing.
Code Execution
execute_code
Executes code in various programming languages with safety measures and restrictions.
Supported Languages:
- Python (python3)
- JavaScript (Node.js)
- Ruby
- PHP
- Go
- Rust
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
language | string | Yes | Programming language to use |
code | string | Yes | Code to execute |
timeout | integer | No | Maximum execution time (default: 5s) |
Example Usage:
Requirements:
- Respective language runtimes must be installed
- Commands must be available in system PATH
- Proper permissions for temporary file creation
⚠️ Security Warning: This tool executes arbitrary code on your system. Always:
- Review code thoroughly before execution
- Understand the code's purpose and expected outcome
- Never execute untrusted code
- Be aware of potential system impacts
- Monitor execution output
execute_shell_script
Executes shell scripts (bash/sh) with safety measures and restrictions.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
script | string | Yes | Shell script to execute |
timeout | integer | No | Maximum execution time (default: 300s, max: 600s) |
Example Usage:
Features:
- Uses /bin/sh for maximum compatibility across systems
- Executes within the allowed directory
- Separate stdout and stderr output
- Proper error handling and timeout controls
⚠️ Security Warning: This tool executes arbitrary shell commands on your system. Always:
- Review the script thoroughly before execution
- Understand the script's purpose and expected outcome
- Never execute untrusted scripts
- Be aware of potential system impacts
- Monitor execution output
Configuration
Configuration file: ~/.aidd/config.json
CLI Usage
Basic command structure:
Debugging
Use MCP Inspector for debugging:
Security
- Operations restricted to configured allowed directory
- Path traversal prevention
- File permission preservation
- Safe operation handling
Upcoming Features
- GitHub tools:
- PR Description Generator
- Code Review
- Actions Manager
- Pivotal Tracker tools:
- Story Generator
- Story Manager
Development Status
Currently in active development. Features and API may change.
License
MIT License - see LICENSE
You must be authenticated.
AiDD MCP Server provides a secure interface for AI agents to perform file system operations and code analysis, enhancing AI-assisted development workflows across multiple programming languages.
- Installation
- Claude Desktop Setup
- Key Features
- Available Tools
- Configuration
- CLI Usage
- Debugging
- Security
- Upcoming Features
- Development Status
- License