Skip to main content

This MCP server provides a set of tools that support AI-driven Development workflows.

Project description

AiDD MCP Server

An MCP server for AI-driven development workflows. Provides tools for file system operations, code analysis, and Git operations with support for multiple programming languages through tree-sitter integration.

Installation

# Using mcp-get
npx @michaellatman/mcp-get@latest install mcp-server-aidd

# Using pip
pip install mcp-server-aidd

# Using uv
uvx mcp-server-aidd

Claude Desktop Setup

Add to your claude_desktop_config.json:

"mcpServers": {
    "aidd": {
        "command": "aidd",
        "args": []
    }
}

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

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:

# Read file
aidd-cli --tool read_file --args '{"path": "src/main.py"}'

# Write file
aidd-cli --tool write_file --args '{"path": "output.txt", "content": "Hello World"}'

# Get file info
aidd-cli --tool get_file_info --args '{"path": "src/main.py"}'

Complex File Operations

edit_file

Pattern-based file editing with preview support:

{
    "path": "src/main.py",
    "edits": [
        {
            "oldText": "def old_function():",
            "newText": "def new_function():"
        }
    ],
    "dryRun": false,
    "options": {
        "preserveIndentation": true,
        "normalizeWhitespace": true,
        "partialMatch": true
    }
}

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:

{
    "path": "src",
    "include_hidden": false
}

Returns: JSON tree structure of directory contents.

Common usage:

# List directory
aidd-cli --tool list_directory --args '{"path": "."}'

# Search for Python files
aidd-cli --tool search_files --args '{"pattern": ".py", "path": "src"}'

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
{
    "repo_path": ".",
    "message": "feat: add new feature"
}

Returns: Commit hash and confirmation.

git_diff
{
    "repo_path": ".",
    "target": "main"
}

Returns: Detailed diff output.

git_log
{
    "repo_path": ".",
    "max_count": 10
}

Returns: Array of commit entries with hash, author, date, and message.

Common usage:

# Check status
aidd-cli --tool git_status --args '{"repo_path": "."}'

# Create and switch to new branch
aidd-cli --tool git_create_branch --args '{"repo_path": ".", "branch_name": "feature/new-branch"}'

Code Analysis

tree_sitter_map

Analyzes source code structure:

{
    "path": "src"
}

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:

{
  "working_directory": "/path/to/project",
  "system": { 
    "os", "os_version", "architecture", "python_version"
  },
  "wifi_network": "MyWiFi",
  "cpu": {
    "physical_cores", "logical_cores", "total_cpu_usage"
  },
  "memory": { "total", "available", "used_percentage" },
  "disk": { "total", "free", "used_percentage" },
  "mac_details": {  // Only present on macOS
    "model": "Mac mini",
    "chip": "Apple M2",
    "serial_number": "XXX"
  }
}

Provides essential system information in a clean, readable format.

# Get system information
aidd-cli --tool get_system_info

Code Execution

execute_code

Executes code in various programming languages with safety measures and restrictions.

{
    "language": "python",
    "code": "print('Hello, World!')",
    "timeout": 5
}

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:

# Python example
aidd-cli --tool execute_code --args '{
    "language": "python",
    "code": "print(sum(range(10)))"
}'

# JavaScript example
aidd-cli --tool execute_code --args '{
    "language": "javascript",
    "code": "console.log(Array.from({length: 5}, (_, i) => i*2))"
}'

# Ruby example
aidd-cli --tool execute_code --args '{
    "language": "ruby",
    "code": "puts (1..5).reduce(:+)"
}'

# Go example
aidd-cli --tool execute_code --args '{
    "language": "go",
    "code": "fmt.Println(\"Hello, Go!\")"
}'

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:

  1. Review code thoroughly before execution
  2. Understand the code's purpose and expected outcome
  3. Never execute untrusted code
  4. Be aware of potential system impacts
  5. Monitor execution output

Configuration

Configuration file: ~/.aidd/config.json

{
    "allowed_directory": "/path/to/workspace"
}

CLI Usage

Basic command structure:

aidd-cli --tool <tool_name> --args '<json_arguments>'

# List available tools
aidd-cli --list-tools

# Enable debug output
aidd-cli --debug --tool <tool_name> --args '<json_arguments>'

Debugging

Use MCP Inspector for debugging:

npx @modelcontextprotocol/inspector run

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_aidd-0.1.7.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_aidd-0.1.7-py3-none-any.whl (34.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_aidd-0.1.7.tar.gz.

File metadata

  • Download URL: mcp_server_aidd-0.1.7.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.2

File hashes

Hashes for mcp_server_aidd-0.1.7.tar.gz
Algorithm Hash digest
SHA256 885449f2f21cabd976e052d50abfb8a08f58272c39595fe526836959268c1c37
MD5 c2049230febc657034350e2c449593c0
BLAKE2b-256 9a7705f99c2f3b1566b290dc02de71359ceda52e4795d50ad693ecb5c03700d1

See more details on using hashes here.

File details

Details for the file mcp_server_aidd-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_aidd-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 44ce141382d2c34f05014a9b251a6fc751b25cfdeb091508816c930f11828ebb
MD5 ada0a520fcd585e9bd87cd5c0209ad69
BLAKE2b-256 9f32be0f91005cc89c54c506106aebd3ae945dd279172be694dfc7a8c1896d40

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page