Skip to main content
Glama

SkyDeckAI代码

一个 MCP 服务器,提供一套全面的 AI 驱动开发工作流程工具。功能包括文件系统操作、使用 tree-sitter 进行多种编程语言的代码分析、代码执行、支持 HTML 到 Markdown 转换的 Web 内容抓取、多引擎 Web 搜索、代码内容搜索以及系统信息检索。旨在通过提供对本地和远程资源的直接访问,增强 AI 辅助软件开发任务的能力。

以前称为 MCP-服务器-AIDD

这个 mcp 服务器以前被称为mcp-server-aidd 。它被重命名为skydeckai-code ,以感谢SkyDeck.ai团队与East Agile共同开发了这款应用程序。但更重要的是,我们意识到人工智能驱动开发 (AIDD) 这个术语并没有流行起来。人们无法一眼就明白它的含义。法学硕士也是如此。“代码”的概念更加直观。而在代理人工智能的世界里,语言的直观性至关重要。

安装

# Using pip pip install skydeckai-code

Related MCP server: AI Agent Template MCP Server

Claude 桌面设置

添加到您的claude_desktop_config.json

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

SkyDeck AI 助手应用程序

如果您正在使用 SkyDeck AI Helper 应用程序,您可以搜索“SkyDeckAI Code”并安装它。

SkyDeck AI 助手应用程序

主要特点

  • 文件系统操作(读取、写入、编辑、移动、复制、删除)

  • 目录管理和遍历

  • 使用 tree-sitter 进行多语言代码分析

  • 使用正则表达式模式匹配搜索代码内容

  • 具有安全措施的多语言代码执行

  • 通过 HTML 到 Markdown 的转换从 API 和网站获取 Web 内容

  • 具有可靠回退机制的多引擎网络搜索

  • 并行和串行工具执行的批处理操作

  • 具有可配置工作区边界的安全控制

  • 屏幕截图和屏幕上下文工具

  • 图像处理工具

可用工具 (26)

类别

工具名称

描述

文件系统

get_allowed_directory

获取当前工作目录路径

update_allowed_directory

更改工作目录

create_directory

创建新目录或嵌套目录

write_file

创建或用新内容覆盖文件

edit_file

对文本文件进行基于行的编辑

read_file

读取一个或多个文件的内容

list_directory

获取文件和目录列表

move_file

移动或重命名文件或目录

copy_file

将文件或目录复制到新位置

search_files

搜索与名称模式匹配的文件

delete_file

删除文件或空目录

get_file_info

获取详细的文件元数据

directory_tree

获取目录的递归树视图

read_image_file

将图像文件读取为 base64 数据

代码工具

codebase_mapper

分析跨文件的代码结构

search_code

在代码文件中查找文本模式

execute_code

以各种语言运行代码

execute_shell_script

运行 shell/bash 脚本

Web 工具

web_fetch

从 URL 获取内容

web_search

执行网络搜索

屏幕工具

capture_screenshot

截取屏幕或窗口的屏幕截图

get_active_apps

列出正在运行的应用程序

get_available_windows

列出所有打开的窗口

系统

get_system_info

获取详细的系统信息

公用事业

batch_tools

同时运行多个工具操作

think

无需修改即可记录推理

详细工具文档

基本文件操作

工具

参数

返回

读取文件

文件:[{路径:字符串,偏移量?:整数,限制?:整数}]

文件内容(单个或多个文件)

写入文件

路径:字符串,内容:字符串

成功确认

移动文件

源:字符串,目标:字符串

成功确认

复制文件

源:字符串,目标:字符串,递归?:布尔值

成功确认

删除文件

路径:字符串

成功确认

获取文件信息

路径:字符串

文件元数据(大小、时间戳、权限)

CLI用法:

# Read entire file skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py"}]}' # Read 10 lines starting from line 20 skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py", "offset": 20, "limit": 10}]}' # Read from line 50 to the end of the file skydeckai-code-cli --tool read_file --args '{"files": [{"path": "src/main.py", "offset": 50}]}' # Read multiple files with different line ranges skydeckai-code-cli --tool read_file --args '{"files": [ {"path": "src/main.py", "offset": 1, "limit": 10}, {"path": "README.md"} ]}' # 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"}'

复杂文件操作

编辑文件

基于模式的文件编辑,支持预览:

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

返回:变化的差异或空运行模式下的预览。

目录操作

工具

参数

返回

获取允许的目录

没有任何

当前允许的目录路径

更新允许目录

目录:字符串(绝对路径)

成功确认

列表目录

路径:字符串

目录内容列表

创建目录

路径:字符串

成功确认

搜索文件

模式:字符串,路径?:字符串,include_hidden?:布尔值

匹配文件列表

search_files工具按名称模式搜索文件,而search_code工具则使用正则表达式在文件内容中搜索。使用search_files查找具有特定名称或扩展名的文件,使用search_code查找文件内的特定文本模式。

目录树

生成完整的目录结构:

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

返回:目录内容的 JSON 树结构。

CLI用法:

# 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"}'

代码分析

代码库映射器

分析源代码结构:

{ "path": "src" }

返回:

  • 类及其方法

  • 功能与参数

  • 模块结构

  • 代码组织统计

  • 继承关系

支持的语言:

  • Python(.py)

  • JavaScript(.js/.jsx、.mjs、.cjs)

  • TypeScript(.ts/.tsx)

  • Java(.java)

  • C++(.cpp、.hpp、.cc)

  • Ruby(.rb、.rake)

  • 前往(.go)

  • Rust(.rs)

  • PHP(.php)

  • C#(.cs)

  • Kotlin(.kt、.kts)

CLI用法:

# Map the entire codebase structure skydeckai-code-cli --tool codebase_mapper --args '{"path": "."}' # Map only the source directory skydeckai-code-cli --tool codebase_mapper --args '{"path": "src"}' # Map a specific component or module skydeckai-code-cli --tool codebase_mapper --args '{"path": "src/components"}'

搜索代码

使用正则表达式的快速内容搜索工具:

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

参数:

范围

类型

必需的

描述

模式

字符串数组

是的

在文件内容中搜索的正则表达式模式列表

包括

细绳

要包含的文件模式(glob 语法,默认值:“*”)

排除

细绳

要排除的文件模式(glob 语法,默认值:“”)

最大结果

整数

每个模式返回的最大结果数(默认值:100)

区分大小写

布尔值

搜索是否区分大小写(默认值:false)

小路

细绳

搜索的基本目录(默认值:“。”)

**返回:**按文件分组的匹配行,带有行号,按文件修改时间排序,最新文件排在最前面。

此工具会在可用时使用 ripgrep 以获得最佳性能,并附带 Python 回退实现。它非常适合查找特定的代码模式,例如函数声明、导入、变量使用或错误处理。

CLI用法:

# Find function and class declarations in JavaScript files skydeckai-code-cli --tool search_code --args '{ "patterns": ["function\\s+\\w+", "class\\s+\\w+"], "include": "*.js" }' # Find all console.log statements with errors or warnings skydeckai-code-cli --tool search_code --args '{ "patterns": ["console\\.log.*[eE]rror", "console\\.log.*[wW]arning"], "path": "src" }' # Find import and export statements in TypeScript files skydeckai-code-cli --tool search_code --args '{ "patterns": ["import.*from", "export.*"], "include": "*.{ts,tsx}", "exclude": "node_modules/**" }'

系统信息

工具

参数

返回

获取系统信息

没有任何

全面的系统细节

返回:

{ "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" } }

以清晰、易读的格式提供必要的系统信息。

CLI用法:

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

屏幕上下文和图像工具

获取活动应用程序

返回用户系统上当前活动的应用程序列表。

{ "with_details": true }

参数:

范围

类型

必需的

描述

详细信息

布尔值

是否包含有关每个应用程序的附加详细信息(默认值:false)

返回:

{ "success": true, "platform": "macos", "app_count": 12, "apps": [ { "name": "Firefox", "has_windows": true, "window_count": 3, "visible_windows": [ { "name": "GitHub - Mozilla Firefox", "width": 1200, "height": 800 } ] }, { "name": "VSCode", "has_windows": true } ] }

该工具提供了有关用户系统上当前运行的应用程序的宝贵背景信息,有助于提供更相关的帮助。

获取可用窗口

返回有关当前用户屏幕上显示的所有可用窗口的详细信息。

{}

返回:

{ "success": true, "platform": "macos", "count": 8, "windows": [ { "id": 42, "title": "Document.txt - Notepad", "app": "Notepad", "visible": true }, { "title": "Terminal", "app": "Terminal", "visible": true, "active": true } ] }

该工具有助于了解用户屏幕上可见的内容,并可用于情境感知帮助。

捕获屏幕截图

捕获用户屏幕或特定窗口的屏幕截图。

{ "output_path": "screenshots/capture.png", "capture_mode": { "type": "named_window", "window_name": "Visual Studio Code" } }

参数:

范围

类型

必需的

描述

输出路径

细绳

屏幕截图保存的路径(默认:生成的路径)

捕获模式

目的

指定要捕获的内容

捕获模式类型

细绳

屏幕截图类型:“full”、“active_window”或“named_window”(默认值:“full”)

捕获模式.窗口名称

细绳

要捕获的窗口的名称(当类型为“named_window”时必需)

返回:

{ "success": true, "path": "/path/to/screenshots/capture.png" }

该工具可捕获屏幕截图,用于可视化、调试或上下文感知协助。

读取图像文件

从文件系统读取图像文件并将其内容作为 base64 编码的字符串返回。

{ "path": "images/logo.png" }

参数:

范围

类型

必需的

描述

小路

细绳

是的

要读取的图像文件的路径

最大尺寸

整数

最大文件大小(以字节为单位)(默认值:100MB)

**返回:**可显示或处理的 Base64 编码图像数据。

该工具支持 PNG、JPEG、GIF 和 WebP 等常见图像格式,并自动调整图像大小以获得最佳观看效果。

Web 工具

web_fetch

从 URL 获取内容并可选择将其保存到文件中。

{ "url": "https://api.github.com/users/octocat", "headers": { "Accept": "application/json" }, "timeout": 15, "save_to_file": "downloads/octocat.json", "convert_html_to_markdown": true }

参数:

范围

类型

必需的

描述

网址

细绳

是的

获取内容的 URL(仅限 http/https)

标题

目的

请求中包含的可选 HTTP 标头

暂停

整数

等待响应的最长时间(默认值:10秒)

保存到文件

细绳

保存响应内容的路径(在允许的目录内)

将 html 转换为 markdown

布尔值

当为 true 时,将 HTML 内容转换为 markdown 以提高可读性(默认值:true)

**返回:**包含 HTTP 状态码和大小信息的文本形式的响应内容。对于二进制内容,返回元数据并根据请求保存到文件。启用 convert_html_to_markdown 后,HTML 内容将自动转换为 Markdown 格式,以提高可读性。

该工具可用于访问 Web API、获取文档或从 Web 下载内容,同时遵守大小限制(最大 10MB)和安全约束。

CLI用法:

# Fetch JSON from an API skydeckai-code-cli --tool web_fetch --args '{ "url": "https://api.github.com/users/octocat", "headers": {"Accept": "application/json"} }' # Download content to a 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 a webpage and convert to markdown for better readability skydeckai-code-cli --tool web_fetch --args '{ "url": "https://example.com", "convert_html_to_markdown": true }'

网络搜索

使用多个搜索引擎执行强大的网络搜索并返回简洁、相关的结果。

{ "query": "latest python release features", "num_results": 8, "convert_html_to_markdown": true, "search_engine": "bing" }

参数:

范围

类型

必需的

描述

询问

细绳

是的

要处理的搜索查询。为了获得更好的结果,请具体说明。

结果数

整数

返回的搜索结果的最大数量(默认值:10,最大值:20)

将 html 转换为 markdown

布尔值

如果为 true,内容将从 HTML 转换为 markdown,以提高可读性(默认值:true)

搜索引擎

细绳

指定要使用的搜索引擎:“auto”(默认)、“bing”或“duckduckgo”

返回: Markdown 格式的搜索结果列表,包含每个结果的标题、URL 和摘要。结果已去重并按层次结构组织,方便阅读。

此工具采用多引擎方法,会尝试使用各种解析策略的不同搜索引擎,以确保结果可靠。您可以指定首选引擎,但某些引擎可能会阻止自动访问,在这种情况下,如果选择“自动”,该工具将回退到其他引擎。

CLI用法:

# Search with default settings (auto engine selection) skydeckai-code-cli --tool web_search --args '{ "query": "latest python release features" }' # Try DuckDuckGo if you want alternative results skydeckai-code-cli --tool web_search --args '{ "query": "machine learning frameworks comparison", "search_engine": "duckduckgo" }' # Use Bing for reliable results skydeckai-code-cli --tool web_search --args '{ "query": "best programming practices 2023", "search_engine": "bing" }'

实用工具

批处理工具

在单个请求中执行多个工具调用,并尽可能并行执行。

{ "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": "execute_shell_script", "arguments": { "script": "git init" } } ] }

参数:

范围

类型

必需的

描述

描述

细绳

是的

批量操作的简短描述

顺序

布尔值

是否按顺序运行工具(默认值:false)

调用

大批

是的

要执行的工具调用列表

调用[].工具

细绳

是的

要调用的工具的名称

调用[].参数

目的

是的

指定工具的参数

**返回:**所有工具调用的综合结果,按工具分组,并标明每个工具的成功/错误状态。结果按原始调用顺序呈现,并带有清晰的章节标题。

此工具可在单个请求中高效执行多个操作。当sequential为 false(默认值)时,工具将并行执行以获得更佳性能。当sequential为 true 时,工具将按顺序执行,如果任何工具失败,则执行停止。

重要提示:批处理中的所有工具均在同一工作目录上下文中执行。如果某个工具创建了一个目录,而后续工具需要在该目录内工作,则您必须执行以下操作之一:

  1. 使用相对于当前工作目录的路径(例如,“project/src”而不仅仅是“src”),或者

  2. 包含一个明确的工具调用来使用update_allowed_directory更改目录

CLI用法:

# Setup a new project with multiple steps in sequential order (using proper paths) 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."}} ] }' # Create nested structure using relative paths (without changing directory) skydeckai-code-cli --tool batch_tools --args '{ "description": "Create project structure", "sequential": true, "invocations": [ {"tool": "create_directory", "arguments": {"path": "project/src"}}, {"tool": "create_directory", "arguments": {"path": "project/docs"}}, {"tool": "write_file", "arguments": {"path": "project/README.md", "content": "# Project"}} ] }' # Gather system information and take a screenshot (tasks can run in parallel) 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" } }} ] }'

思考

一种无需更改存储库即可进行复杂推理和头脑风暴的工具。

{ "thought": "Let me analyze the performance issue in the codebase:\n\n## Root Cause Analysis\n\n1. The database query is inefficient because:\n - It doesn't use proper indexing\n - It fetches more columns than needed\n - The JOIN operation is unnecessarily complex\n\n## Potential Solutions\n\n1. **Add database indexes**:\n - Create an index on the user_id column\n - Create a composite index on (created_at, status)\n\n2. **Optimize the query**:\n - Select only necessary columns\n - Rewrite the JOIN using a subquery\n - Add LIMIT clause for pagination\n\n3. **Add caching layer**:\n - Cache frequent queries using Redis\n - Implement cache invalidation strategy\n\nAfter weighing the options, solution #2 seems to be the simplest to implement with the highest impact." }

参数:

范围

类型

必需的

描述

想法

细绳

是的

您的详细想法、分析或推理过程

**返回:**您的想法被格式化为 markdown,并带有注释表明这是一次思考练习。

此工具非常适合用于思考复杂问题、集思广益寻找解决方案或制定实施计划,而无需进行任何实际更改。它非常适合记录您的推理过程、评估不同的方法或在采取行动之前制定多步骤策略。

CLI用法:

# Analyze a bug and plan a fix skydeckai-code-cli --tool think --args '{ "thought": "# Bug Analysis\n\n## Observed Behavior\nThe login endpoint returns a 500 error when email contains Unicode characters.\n\n## Root Cause\nThe database adapter is not properly encoding Unicode strings before constructing the SQL query.\n\n## Potential Fixes\n1. Update the database adapter to use parameterized queries\n2. Add input validation to reject Unicode in emails\n3. Encode email input manually before database operations\n\nFix #1 is the best approach as it solves the core issue and improves security." }' # Evaluate design alternatives skydeckai-code-cli --tool think --args '{ "thought": "# API Design Options\n\n## REST vs GraphQL\nFor this use case, GraphQL would provide more flexible data fetching but adds complexity. REST is simpler and sufficient for our current needs.\n\n## Authentication Methods\nJWT-based authentication offers stateless operation and better scalability compared to session-based auth.\n\nRecommendation: Use REST with JWT authentication for the initial implementation." }'

代码执行

执行代码

使用安全措施和限制执行各种编程语言的代码。

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

支持的语言:

  • Python(python3)

  • JavaScript(Node.js)

  • 红宝石

  • PHP

参数:

范围

类型

必需的

描述

语言

细绳

是的

要使用的编程语言

代码

细绳

是的

要执行的代码

暂停

整数

最长执行时间(默认值:5秒)

CLI用法:

# 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))" }' # Ruby example skydeckai-code-cli --tool execute_code --args '{ "language": "ruby", "code": "puts (1..5).reduce(:+)" }' # Go example skydeckai-code-cli --tool execute_code --args '{ "language": "go", "code": "fmt.Println(\"Hello, Go!\")" }'

要求:

  • 必须安装相应的语言运行时

  • 命令必须在系统 PATH 中可用

  • 创建临时文件的适当权限

⚠️**安全警告:**此工具会在您的系统上执行任意代码。请始终:

  1. 执行前彻底检查代码

  2. 了解代码的目的和预期结果

  3. 永远不要执行不受信任的代码

  4. 注意潜在的系统影响

  5. 监视执行输出

执行shell脚本

使用安全措施和限制执行 shell 脚本(bash/sh)。

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

参数:

范围

类型

必需的

描述

脚本

细绳

是的

要执行的 Shell 脚本

暂停

整数

最长执行时间(默认值:300s,最大值:600s)

CLI用法:

# List directory contents with details skydeckai-code-cli --tool execute_shell_script --args '{ "script": "ls -la" }' # Find all Python files recursively skydeckai-code-cli --tool execute_shell_script --args '{ "script": "find . -name \"*.py\" -type f" }' # Complex script with multiple commands skydeckai-code-cli --tool execute_shell_script --args '{ "script": "echo \"System Info:\" && uname -a && echo \"\nDisk Usage:\" && df -h" }'

特征:

  • 使用 /bin/sh 实现跨系统的最大兼容性

  • 在允许的目录中执行

  • 单独的 stdout 和 stderr 输出

  • 适当的错误处理和超时控制

⚠️**安全警告:**此工具会在您的系统上执行任意 Shell 命令。请务必:

  1. 执行前彻底检查脚本

  2. 了解剧本的目的和预期结果

  3. 永远不要执行不受信任的脚本

  4. 注意潜在的系统影响

  5. 监视执行输出

配置

配置文件: ~/.skydeckai_code/config.json

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

CLI 使用

基本命令结构:

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>'

调试

使用 MCP Inspector 进行调试:

npx @modelcontextprotocol/inspector run

安全

  • 操作仅限于配置的允许目录

  • 路径遍历预防

  • 文件权限保存

  • 安全操作处理

即将推出的功能

  • GitHub 工具:

    • PR 描述生成器

    • 代码审查

    • 行动经理

  • Pivotal Tracker 工具:

    • 故事生成器

    • 故事经理

开发现状

目前正在积极开发中。功能和 API 可能会发生变化。

执照

Apache 许可证 2.0 - 参见许可证

星空历史图

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/skydeckai/mcp-server-aidd'

If you have feedback or need assistance with the MCP directory API, please join our Discord server