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
SkyDeckAI Code
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, code execution, web content fetching with HTML-to-markdown conversion, multi-engine web search, code content searching, and system information retrieval. Designed to enhance AI's capability to assist in software development tasks by providing direct access to both local and remote resources.
Formerly Known As MCP-Server-AIDD
This mcp server was formerly known as mcp-server-aidd
. It was renamed to skydeckai-code
to credit the team at SkyDeck.ai with creating this application along with East Agile. But more importantly we realized that the term AI Driven Development (AIDD) was just not catching on. People did not understand at a glance what it was about. And nor did LLMs. "Code" was far more intuitive. And linguistically intuitive is important in the world of agentic AI.
Installation
Claude Desktop Setup
Add to your claude_desktop_config.json
:
SkyDeck AI Helper App
If you're using SkyDeck AI Helper app, you can 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 content searching with regex pattern matching
- Multi-language code execution with safety measures
- 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 tool execution
- Security controls with configurable workspace boundaries
- Screenshot and screen context tools
- Image handling tools
Available Tools (26)
Category | Tool Name | Description |
---|---|---|
File System | get_allowed_directory | Get the current working directory path |
update_allowed_directory | Change the working directory | |
create_directory | Create a new directory or nested directories | |
write_file | Create or overwrite a file with new content | |
edit_file | Make line-based edits to a text file | |
read_file | Read the contents of one or more files | |
list_directory | Get listing of files and directories | |
move_file | Move or rename a file or directory | |
copy_file | Copy a file or directory to a new location | |
search_files | Search for files matching a name pattern | |
delete_file | Delete a file or empty directory | |
get_file_info | Get detailed file metadata | |
directory_tree | Get a recursive tree view of directories | |
read_image_file | Read an image file as base64 data | |
Code Tools | codebase_mapper | Analyze code structure across files |
search_code | Find text patterns in code files | |
execute_code | Run code in various languages | |
execute_shell_script | Run shell/bash scripts | |
Web Tools | web_fetch | Get content from a URL |
web_search | Perform a web search | |
Screen Tools | capture_screenshot | Take a screenshot of screen or window |
get_active_apps | List running applications | |
get_available_windows | List all open windows | |
System | get_system_info | Get detailed system information |
Utility | batch_tools | Run multiple tool operations together |
think | Document reasoning without making changes |
Detailed Tool Documentation
Basic File Operations
Tool | Parameters | Returns |
---|---|---|
read_file | files: [{path: string, offset?: integer, limit?: integer}] | File content (single or multiple files) |
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) |
CLI 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 |
The search_files
tool searches for files by name pattern, while the search_code
tool searches within file contents using regex. Use search_files
when looking for files with specific names or extensions, and search_code
when searching for specific text patterns inside files.
directory_tree
Generates complete directory structure:
Returns: JSON tree structure of directory contents.
CLI Usage:
Code Analysis
codebase_mapper
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)
CLI Usage:
search_code
Fast content search tool using regular expressions:
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
patterns | array of strings | Yes | List of regular expression patterns to search for in file contents |
include | string | No | File pattern to include (glob syntax, default: "*") |
exclude | string | No | File pattern to exclude (glob syntax, default: "") |
max_results | integer | No | Maximum results to return per pattern (default: 100) |
case_sensitive | boolean | No | Whether search is case-sensitive (default: false) |
path | string | No | Base directory to search from (default: ".") |
Returns: Matching lines grouped by file with line numbers, sorted by file modification time with newest files first.
This tool uses ripgrep when available for optimal performance, with a Python fallback implementation. It's ideal for finding specific code patterns like function declarations, imports, variable usages, or error handling.
CLI Usage:
System Information
Tool | Parameters | Returns |
---|---|---|
get_system_info | none | Comprehensive system details |
Returns:
Provides essential system information in a clean, readable format.
CLI Usage:
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.
Web Tools
web_fetch
Fetches content from a URL and optionally saves it to a file.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
url | string | Yes | URL to fetch content from (http/https only) |
headers | object | No | Optional HTTP headers to include in the request |
timeout | integer | No | Maximum time to wait for response (default: 10s) |
save_to_file | string | No | Path to save response content (within allowed directory) |
convert_html_to_markdown | boolean | No | When true, converts HTML content to markdown for better readability (default: true) |
Returns: Response content as text with HTTP status code and size information. For binary content, returns metadata and saves to file if requested. When convert_html_to_markdown is enabled, HTML content is automatically converted to markdown format for better readability.
This tool can be used to access web APIs, fetch documentation, or download content from the web while respecting size limits (10MB max) and security constraints.
CLI Usage:
web_search
Performs a robust web search using multiple search engines and returns concise, relevant results.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
query | string | Yes | The search query to process. Be specific for better results. |
num_results | integer | No | Maximum number of search results to return (default: 10, max: 20) |
convert_html_to_markdown | boolean | No | When true, content will be converted from HTML to markdown for better readability (default: true) |
search_engine | string | No | Specifies which search engine to use: "auto" (default), "bing", or "duckduckgo" |
Returns: A list of search results formatted in markdown, including titles, URLs, and snippets for each result. Results are deduplicated and organized hierarchically for easy reading.
This tool uses a multi-engine approach that tries different search engines with various parsing strategies to ensure reliable results. You can specify a preferred engine, but some engines may block automated access, in which case the tool will fall back to alternative engines when "auto" is selected.
CLI Usage:
Utility Tools
batch_tools
Execute multiple tool invocations in a single request with parallel execution when possible.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
description | string | Yes | Short description of the batch operation |
sequential | boolean | No | Whether to run tools in sequence (default: false) |
invocations | array | Yes | List of tool invocations to execute |
invocations[].tool | string | Yes | Name of the tool to invoke |
invocations[].arguments | object | Yes | Arguments for the specified tool |
Returns: Combined results from all tool invocations, grouped by tool with success/error status for each. Results are presented in the original invocation order with clear section headers.
This tool provides efficient execution of multiple operations in a single request. When sequential
is false (default), tools are executed in parallel for better performance. When sequential
is true, tools are executed in order, and if any tool fails, execution stops.
IMPORTANT: All tools in the batch execute in the same working directory context. If a tool creates a directory and a subsequent tool needs to work inside that directory, you must either:
- Use paths relative to the current working directory (e.g., "project/src" rather than just "src"), or
- Include an explicit tool invocation to change directories using
update_allowed_directory
CLI Usage:
think
A tool for complex reasoning and brainstorming without making changes to the repository.
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
thought | string | Yes | Your detailed thoughts, analysis or reasoning process |
Returns: Your thoughts formatted as markdown, with a note indicating this was a thinking exercise.
This tool is useful for thinking through complex problems, brainstorming solutions, or laying out implementation plans without making any actual changes. It's a great way to document your reasoning process, evaluate different approaches, or plan out a multi-step strategy before taking action.
CLI Usage:
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) |
CLI 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) |
CLI 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: ~/.skydeckai_code/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
Apache License 2.0 - see LICENSE
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
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.
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn MCP server that implements Claude Code-like functionality, allowing the AI to analyze codebases, modify files, execute commands, and manage projects through direct file system interactions.Last updated -132PythonMIT License
- -securityAlicense-qualityAn enhanced MCP server that grants AI assistants the ability to execute terminal commands on a user's system with improved security controls, designed for use in controlled environments.Last updated -PythonMIT License
- -securityAlicense-qualityAn MCP server that analyzes codebases and generates contextual prompts, making it easier for AI assistants to understand and work with code repositories.Last updated -2PythonMIT License
- AsecurityAlicenseAqualityAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.Last updated -116TypeScriptMIT License