MCP HubMCP Hub
skydeckai

mcp-server-aidd

by: skydeckai

mcp server aidd

52created 08/01/2025
Visit
aidd

📌Overview

Purpose: The AiDD MCP Server aims to enhance AI-driven development workflows by providing a suite of tools that facilitate various software development tasks.

Overview: The AiDD MCP Server is a robust platform designed for AI-assisted software development. It integrates functionalities such as file operations, code analysis, Git operations, and system information retrieval, enabling developers to leverage AI capabilities effectively in their workflows.

Key Features:

  • File System Operations: Enables reading, writing, and managing files efficiently, supporting various operations like moving and deleting files.

  • Multi-Language Code Analysis: Uses tree-sitter for analyzing code structure across multiple programming languages, offering insights into classes, methods, and code organization statistics.

  • Secure Code Execution: Allows executing code in several programming languages with built-in safety measures and timeout controls to mitigate risks during execution.

  • Git Operations: Provides comprehensive Git functionalities including status checks, commits, and branch management to streamline version control processes.

  • System Information Retrieval: Gathers detailed system information, such as OS version, CPU usage, and memory statistics, presenting it in a clear and organized format.


SkyDeckAI Code

SkyDeckAI Code is an MCP server providing a comprehensive set of tools for AI-driven development workflows. Its features include file system operations, multi-language code analysis with tree-sitter, Git operations, code execution, web content fetching with HTML-to-markdown conversion, multi-engine web search, code content searching, linting detection, and system information retrieval. It is designed to enhance AI's capability to assist in software development by providing access to both local and remote resources.

Formerly Known As MCP-Server-AIDD

This server was formerly named mcp-server-aidd and renamed to skydeckai-code to credit the team at SkyDeck.ai and East Agile, and to use a more intuitive and linguistically simple name relevant to AI-driven coding.

Installation

# Using pip
pip install skydeckai-code

Claude Desktop Setup

Add the following to your claude_desktop_config.json:

{
    "mcpServers": {
        "skydeckai-code": {
            "command": "uvx",
            "args": ["skydeckai-code"]
        }
    }
}

SkyDeck AI Helper App

If using the SkyDeck AI Helper app, search for "SkyDeckAI Code" and install it.

Key Features

  • File system operations (read, write, edit, move, copy, delete)
  • Directory management and traversal
  • Multi-language code analysis using tree-sitter
  • Code linting and issue detection for Python and JavaScript/TypeScript
  • Code content searching with regex pattern matching
  • Multi-language code execution with safety measures
  • Git operations (status, diff, commit, branch management, cloning)
  • Web content fetching from APIs and websites with HTML-to-markdown conversion
  • Multi-engine web search with reliable fallback mechanisms
  • Batch operations for parallel and serial execution
  • Security controls with configurable workspace boundaries
  • Screenshot and screen context tools
  • Image handling tools

Available Tools

Basic File Operations

ToolParametersReturns
read_filepath: string, offset?: integer, limit?: integerFile content (whole or partial)
read_multiple_filespaths: string[]Multiple file contents with headers
write_filepath: string, content: stringSuccess confirmation
move_filesource: string, destination: stringSuccess confirmation
copy_filesource: string, destination: string, recursive?: booleanSuccess confirmation
delete_filepath: stringSuccess confirmation
get_file_infopath: stringFile metadata (size, timestamps, permissions)

Common Usage

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

# Read 10 lines starting from line 20
skydeckai-code-cli --tool read_file --args '{"path": "src/main.py", "offset": 20, "limit": 10}'

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

# Copy file or directory
skydeckai-code-cli --tool copy_file --args '{"source": "config.json", "destination": "config.backup.json"}'

# Get file info
skydeckai-code-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": {
        "partialMatch": true
    }
}

Returns a diff of changes or preview in dry run mode.

Directory Operations

ToolParametersReturns
get_allowed_directorynoneCurrent allowed directory path
update_allowed_directorydirectory: string (absolute path)Success confirmation
list_directorypath: stringDirectory contents list
create_directorypath: stringSuccess confirmation
search_filespattern: string, path?: string, include_hidden?: booleanMatching files list
  • search_files searches files by name pattern.
  • search_code searches within file contents using regex.

directory_tree

Generates complete directory structure:

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

Returns a JSON tree structure of directory contents.

Common Usage

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

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

Git Operations

ToolParametersReturns
git_initpath: string, initial_branch?: stringRepository initialization status
git_statusrepo_path: stringWorking directory status
git_addrepo_path: string, files: string[]Staging confirmation
git_resetrepo_path: stringUnstaging confirmation
git_checkoutrepo_path: string, branch_name: stringBranch switch confirmation
git_create_branchrepo_path: string, branch_name: stringBranch creation confirmation
git_cloneurl: string, target_path: string, branch?: stringClone confirmation
git_diff_unstagedrepo_path: stringUnstaged changes diff
git_diff_stagedrepo_path: stringStaged changes diff
git_showrepo_path: string, commit_hash: stringDetails of a specific commit

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 between current branch and target.

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

Returns an array of commit entries with hashes, authors, dates, and messages.

Common Usage

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

# Clone a repository
skydeckai-code-cli --tool git_clone --args '{"url": "https://github.com/username/repo.git", "target_path": "repo"}'

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

Code Analysis

codebase_mapper

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)

check_lint

Checks for linting issues in codebase using native tools:

{
    "path": "src",
    "languages": ["python", "javascript"],
    "linters": {
        "pylint": "--disable=C0111",
        "flake8": true,
        "eslint": "--fix"
    },
    "max_issues": 100
}

Parameters:

ParameterTypeDescription
pathstringDirectory or file to lint (default: ".")
languagesarrayList of languages to lint (auto-detect if empty)
lintersobjectConfiguration for specific linters, can use booleans or CLI arguments
max_issuesintegerMaximum number of issues to return (default 100, 0 for unlimited)

Returns: Detailed report of linting issues grouped by file and sorted by severity.

Supported Languages and Linters:

  • Python: pylint, flake8 (auto-detect)
  • JavaScript/TypeScript: ESLint
  • Dart/Flutter: dart_analyze (also reports compilation errors)

Example Usage

# Check entire codebase with default settings
skydeckai-code-cli --tool check_lint

# Check specific directory with custom pylint flags
skydeckai-code-cli --tool check_lint --args '{
    "path": "src",
    "linters": {
        "pylint": "--disable=missing-docstring,invalid-name"
    }
}'

# Check only Python files and disable flake8
skydeckai-code-cli --tool check_lint --args '{
    "path": "src",
    "languages": ["python"],
    "linters": {
        "flake8": false
    }
}'

# Check Dart/Flutter files
skydeckai-code-cli --tool check_lint --args '{
    "path": "lib",
    "languages": ["dart"],
    "linters": {
        "dart_analyze": "--fatal-infos"
    }
}'

search_code

Fast content searching using regular expressions:

{
    "pattern": "function\\s+\\w+",
    "include": "*.js",
    "exclude": "node_modules/**",
    "max_results": 50,
    "case_sensitive": false,
    "path": "src"
}

Parameters:

ParameterTypeDescription
patternstringRegular expression to search in file contents
includestringFile pattern to include (glob syntax, default "*")
excludestringFile pattern to exclude (glob syntax, default "")
max_resultsintegerMax results to return (default 100)
case_sensitivebooleanCase-sensitive search (default false)
pathstringBase directory to search from (default ".")

Returns: Matching lines grouped by file with line numbers, sorted by file modification time.

This tool uses ripgrep if available, or falls back to Python-based search.

Example Usage

# Find function declarations in JS files
skydeckai-code-cli --tool search_code --args '{
    "pattern": "function\\s+\\w+",
    "include": "*.js"
}'

# Find all console.log statements with errors
skydeckai-code-cli --tool search_code --args '{
    "pattern": "console\\.log.*[eE]rror",
    "path": "src"
}'

# Find import statements in TypeScript files
skydeckai-code-cli --tool search_code --args '{
    "pattern": "import.*from",
    "include": "*.{ts,tsx}",
    "exclude": "node_modules/**"
}'

System Information

ToolParametersReturns
get_system_infononeComprehensive system details

Returns system details including OS, CPU, memory, disk, and network info.

Example:

# Get system information
skydeckai-code-cli --tool get_system_info

Screen Context and Image Tools

get_active_apps

Returns currently active applications with optional details.

Parameters:

ParameterTypeDescription
with_detailsbooleanInclude extra details (default: false)

Example return shows apps with window counts and names.

get_available_windows

Returns detailed info on all windows currently displayed.

capture_screenshot

Captures a screenshot of full screen or specific window.

Parameters:

ParameterTypeDescription
output_pathstringPath to save screenshot (optional)
capture_modeobjectMode specifying what to capture
capture_mode.typestring'full', 'active_window', or 'named_window' (default 'full')
capture_mode.window_namestringName of window to capture (required if type is 'named_window')

Returns success and screenshot path.

read_image_file

Reads an image file and returns base64-encoded content.

Parameters:

ParameterTypeDescription
pathstringPath to image file (required)
max_sizeintegerMax file size in bytes (default 100MB)

Supports common image formats and automatic resizing.

Web Tools

web_fetch

Fetches content from a URL with optional saving and HTML-to-markdown conversion.

Parameters:

ParameterTypeDescription
urlstringURL to fetch content (http/https only)
headersobjectOptional HTTP headers
timeoutintegerMax response wait time (default 10s)
save_to_filestringPath to save response content
convert_html_to_markdownbooleanConvert HTML to markdown (default true)

Returns response content with status and size info.

Example Usage

# Fetch JSON from API
skydeckai-code-cli --tool web_fetch --args '{
    "url": "https://api.github.com/users/octocat",
    "headers": {"Accept": "application/json"}
}'

# Download content to file
skydeckai-code-cli --tool web_fetch --args '{
    "url": "https://github.com/github/github-mcp-server/blob/main/README.md",
    "save_to_file": "downloads/readme.md"
}'

# Fetch webpage and convert to markdown
skydeckai-code-cli --tool web_fetch --args '{
    "url": "https://example.com",
    "convert_html_to_markdown": true
}'

web_search

Performs web search using multiple search engines with fallbacks.

Parameters:

ParameterTypeDescription
querystringSearch query (be specific for better results)
num_resultsintegerMax results (default 10, max 20)
convert_html_to_markdownbooleanConvert HTML content to markdown (default true)
search_enginestring"auto" (default), "bing", or "duckduckgo"

Returns markdown formatted search results including titles, URLs, and snippets, deduplicated and organized.

Example Usage

# Default search
skydeckai-code-cli --tool web_search --args '{
    "query": "latest python release features"
}'

# DuckDuckGo search
skydeckai-code-cli --tool web_search --args '{
    "query": "machine learning frameworks comparison",
    "search_engine": "duckduckgo"
}'

# Bing search
skydeckai-code-cli --tool web_search --args '{
    "query": "best programming practices 2023",
    "search_engine": "bing"
}'

Utility Tools

batch_tools

Execute multiple tool calls in a single request, optionally sequentially.

Example:

{
    "description": "Setup new project",
    "sequential": true,
    "invocations": [
        {
            "tool": "create_directory",
            "arguments": {
                "path": "src"
            }
        },
        {
            "tool": "write_file",
            "arguments": {
                "path": "README.md",
                "content": "# New Project\n\nThis is a new project."
            }
        },
        {
            "tool": "git_init",
            "arguments": {
                "path": ".",
                "initial_branch": "main"
            }
        }
    ]
}

Parameters:

ParameterTypeDescription
descriptionstringDescription of batch operation
sequentialbooleanWhether to run tools sequentially (default false)
invocationsarrayList of tool invocations
invocations.toolstringName of tool
invocations.argumentsobjectArguments for the tool

Returns combined results with success or error status for each tool.

Notes:

  • All tools run in the same working directory context.
  • For directory changes, use relative paths or explicit directory updates.

Example usage:

# Setup project sequentially
skydeckai-code-cli --tool batch_tools --args '{
    "description": "Setup new project",
    "sequential": true,
    "invocations": [
        {"tool": "create_directory", "arguments": {"path": "project"}},
        {"tool": "create_directory", "arguments": {"path": "project/src"}},
        {"tool": "write_file", "arguments": {"path": "project/README.md", "content": "# Project\n\nA new project."}}
    ]
}'

# System diagnostics (parallel execution)
skydeckai-code-cli --tool batch_tools --args '{
    "description": "System diagnostics",
    "sequential": false,
    "invocations": [
        {"tool": "get_system_info", "arguments": {}},
        {"tool": "capture_screenshot", "arguments": {
            "output_path": "diagnostics/screen.png",
            "capture_mode": {"type": "full"}
        }}
    ]
}'

think

A tool for complex reasoning and brainstorming without changing the repository.

Example:

{
    "thought": "Let me analyze the performance issue in the codebase:\n\n## Root Cause Analysis\n\n1. Inefficient database query due to ... \n\n## Potential Solutions\n\n1. Add indexes...\n2. Optimize query...\n3. Add caching layer...\n\nSolution #2 is simplest with highest impact."
}

Parameters:

ParameterTypeDescription
thoughtstringDetailed reasoning or brainstorming notes

Returns formatted markdown with a note indicating this was a thinking exercise.

Example usage:

# Analyze a bug and plan fix
skydeckai-code-cli --tool think --args '{
    "thought": "# Bug Analysis\n\n## Observed Behavior\n500 error...\n\n## Root Cause\nEncoding issue...\n\n## Fixes...\n"
}'

# Evaluate design options
skydeckai-code-cli --tool think --args '{
    "thought": "# API Design\nREST vs GraphQL..."
}'

Code Execution

execute_code

Executes code in multiple programming languages safely.

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

Supported Languages:

  • Python (python3)
  • JavaScript (Node.js)
  • Ruby
  • PHP
  • Go
  • Rust

Parameters:

ParameterTypeDescription
languagestringProgramming language to use
codestringCode to execute
timeoutintegerMax execution time in seconds (default 5s)

Example usage:

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

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

Requirements:

  • Respective runtimes installed
  • Commands available in system PATH
  • Proper permissions for temporary files

⚠️ Security Warning: Never execute untrusted code; review thoroughly before running.

execute_shell_script

Executes shell scripts safely.

{
    "script": "echo \"Current directory:\" && pwd",
    "timeout": 300
}

Parameters:

ParameterTypeDescription
scriptstringShell script to execute
timeoutintegerMax execution time in seconds (default 300s)

Example usage:

# List directory contents
skydeckai-code-cli --tool execute_shell_script --args '{
    "script": "ls -la"
}'

# Complex commands
skydeckai-code-cli --tool execute_shell_script --args '{
    "script": "echo \"System Info:\" && uname -a && df -h"
}'

Features:

  • Uses /bin/sh
  • Executes in allowed directory
  • Separate stdout and stderr
  • Proper error and timeout handling

⚠️ Security Warning: Review scripts carefully before execution.

Configuration

Configuration file: ~/.skydeckai_code/config.json

Example:

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

CLI Usage

Basic command structure:

skydeckai-code-cli --tool <tool_name> --args '<json_arguments>'

# List available tools
skydeckai-code-cli --list-tools

# Enable debug output
skydeckai-code-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 APIs may change.

License

Apache License 2.0