AiDD MCP Server
by skydeckai
Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
No arguments |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
get_allowed_directory | Get the current working directory that this server is allowed to access. |
write_file | Create a new file or overwrite an existing file with new content. Use this to save changes, create new files, or update existing ones. Use with caution as it will overwrite existing files without warning. Path must be relative to the allowed directory. Creates parent directories if needed. Example: Path='notes.txt', Content='Meeting notes for project X' |
update_allowed_directory | Change the working directory that this server is allowed to access. Use this to switch between different projects. |
create_directory | Create a new directory or ensure a directory exists. Can create multiple nested directories in one operation. If the directory already exists, this operation will succeed silently. Useful for setting up project structure or organizing files. Only works within the allowed directory. Example: Enter 'src/components' to create nested directories. |
edit_file | Make line-based edits to a text file. Each edit replaces exact line sequences with new content. Returns a git-style diff showing the changes made. Only works within the allowed directory. Always use dryRun first to preview changes before applying them. |
list_directory | Get a detailed listing of files and directories in the specified path. This tool is essential for understanding directory structure and finding specific files within a directory. Only works within the allowed directory. Example: Enter 'src' to list contents of the src directory, or '.' for current directory. |
read_file | Read the complete contents of a file from the file system. Handles various text encodings and provides detailed error messages if the file cannot be read. Use this tool when you need to examine the contents of a single file. Only works within the allowed directory.Example: Enter 'src/main.py' to read a Python file. |
read_multiple_files | Read the contents of multiple files simultaneously. This is more efficient than reading files one by one when you need to analyze or compare multiple files. Each file's content is returned with its path as a reference. Failed reads for individual files won't stop the entire operation. Only works within the allowed directory.Example: Enter ['src/main.py', 'README.md'] to read both files. |
move_file | Move or rename a file or directory to a new location. This tool can be used to reorganize files and directories. Both source and destination must be within the allowed directory. If the destination already exists, the operation will fail. Parent directories of the destination will be created if they don't exist. Example: source='old.txt', destination='new/path/new.txt' |
search_files | Search for files and directories matching a pattern. The search is recursive and case-insensitive. Only searches within the allowed directory. Returns paths relative to the allowed directory. Searches in file and directory names, not content. For searching within file contents, use the tree_sitter_map tool which can locate specific code elements like functions and classes. Example: pattern='.py' finds all Python files, pattern='test' finds all items with 'test' in the name. |
delete_file | Delete a file or empty directory from the file system. Use with caution as this operation cannot be undone. For safety, this tool will not delete non-empty directories. Only works within the allowed directory. Example: path='old_file.txt' removes the specified file. |
get_file_info | Get detailed information about a file or directory. Returns size, creation time, modification time, access time, type (file/directory), and permissions. All times are in ISO 8601 format. This tool is perfect for understanding file characteristics without reading the actual content. Only works within the allowed directory. Example: path='src/main.py' returns details about main.py |
directory_tree | Get a recursive tree view of files and directories in the specified path as a JSON structure. Each entry includes 'name', 'type' (file/directory), and 'children' for directories. Files have no children array, while directories always have a children array (which may be empty). The output is formatted with 2-space indentation for readability. Only works within the allowed directory. Useful for understanding project structure. Example: Enter '.' for current directory, or 'src' for a specific directory. |
execute_code | Execute code in various programming languages. Supported languages: python, javascript, ruby, php, go, rust. Please review the code carefully before execution. You MUST explicitly confirm with the user before using this tool. Examples: - Python: code='print(sum(range(10)))'. - JavaScript: code='console.log(Array.from({length: 5}, (_, i) => i*2))'. - Ruby: code='puts (1..5).reduce(:+)'. |
tree_sitter_map | Build a tree-sitter based structural map of source code files. This tool analyzes code structure to identify classes, functions, and methods. Only analyzes files within the allowed directory. Useful for code analysis and understanding project structure. Example: Enter '.' to analyze all source files in current directory, or 'src' to analyze all files in the src directory. |
git_init | Initialize a new Git repository. Creates a new Git repository in the specified directory. If the directory doesn't exist, it will be created. Directory must be within the allowed directory. |
git_status | Shows the working tree status of a git repository. Returns information about staged, unstaged, and untracked files. Repository must be within the allowed directory. |
git_diff_unstaged | Shows changes in working directory not yet staged for commit. Returns a unified diff format of all unstaged changes. Repository must be within the allowed directory. |
git_diff_staged | Shows changes staged for commit. Returns a unified diff format of all staged changes. Repository must be within the allowed directory. |
git_diff | Shows differences between branches or commits. Returns a unified diff format comparing current state with target. Repository must be within the allowed directory. |
git_commit | Records changes to the repository. Commits all staged changes with the provided message. Repository must be within the allowed directory. |
git_add | Adds file contents to the staging area. Stages specified files for the next commit. Repository must be within the allowed directory. |
git_reset | Unstages all staged changes. Removes all files from the staging area. Repository must be within the allowed directory. |
git_log | Shows the commit logs. Returns information about recent commits including hash, author, date, and message. Repository must be within the allowed directory. |
git_create_branch | Creates a new branch. Creates a new branch from the specified base branch or current HEAD. Repository must be within the allowed directory. |
git_checkout | Switches branches. Checks out the specified branch. Repository must be within the allowed directory. |
git_show | Shows the contents of a commit. Returns detailed information about a specific commit including the changes it introduced. Repository must be within the allowed directory. |