mcp-server-aidd
by: skydeckai
mcp server 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
Tool | Parameters | Returns |
---|---|---|
read_file | path: string, offset?: integer, limit?: integer | File content (whole or partial) |
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 |
copy_file | source: string, destination: string, recursive?: boolean | Success confirmation |
delete_file | path: string | Success confirmation |
get_file_info | path: string | File 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
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 |
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
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 |
git_create_branch | repo_path: string, branch_name: string | Branch creation confirmation |
git_clone | url: string, target_path: string, branch?: string | Clone confirmation |
git_diff_unstaged | repo_path: string | Unstaged changes diff |
git_diff_staged | repo_path: string | Staged changes diff |
git_show | repo_path: string, commit_hash: string | Details 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:
Parameter | Type | Description |
---|---|---|
path | string | Directory or file to lint (default: ".") |
languages | array | List of languages to lint (auto-detect if empty) |
linters | object | Configuration for specific linters, can use booleans or CLI arguments |
max_issues | integer | Maximum 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:
Parameter | Type | Description |
---|---|---|
pattern | string | Regular expression to search in file contents |
include | string | File pattern to include (glob syntax, default "*") |
exclude | string | File pattern to exclude (glob syntax, default "") |
max_results | integer | Max results to return (default 100) |
case_sensitive | boolean | Case-sensitive search (default false) |
path | string | Base 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
Tool | Parameters | Returns |
---|---|---|
get_system_info | none | Comprehensive 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:
Parameter | Type | Description |
---|---|---|
with_details | boolean | Include 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:
Parameter | Type | Description |
---|---|---|
output_path | string | Path to save screenshot (optional) |
capture_mode | object | Mode specifying what to capture |
capture_mode.type | string | 'full', 'active_window', or 'named_window' (default 'full') |
capture_mode.window_name | string | Name 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:
Parameter | Type | Description |
---|---|---|
path | string | Path to image file (required) |
max_size | integer | Max 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:
Parameter | Type | Description |
---|---|---|
url | string | URL to fetch content (http/https only) |
headers | object | Optional HTTP headers |
timeout | integer | Max response wait time (default 10s) |
save_to_file | string | Path to save response content |
convert_html_to_markdown | boolean | Convert 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:
Parameter | Type | Description |
---|---|---|
query | string | Search query (be specific for better results) |
num_results | integer | Max results (default 10, max 20) |
convert_html_to_markdown | boolean | Convert HTML content to markdown (default true) |
search_engine | string | "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:
Parameter | Type | Description |
---|---|---|
description | string | Description of batch operation |
sequential | boolean | Whether to run tools sequentially (default false) |
invocations | array | List of tool invocations |
invocations.tool | string | Name of tool |
invocations.arguments | object | Arguments 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:
Parameter | Type | Description |
---|---|---|
thought | string | Detailed 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:
Parameter | Type | Description |
---|---|---|
language | string | Programming language to use |
code | string | Code to execute |
timeout | integer | Max 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:
Parameter | Type | Description |
---|---|---|
script | string | Shell script to execute |
timeout | integer | Max 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