这是一个提供全面工具集的MCP服务器,用于AI驱动的开发工作流程。功能包括文件系统操作、使用tree-sitter进行多种编程语言的代码分析、代码执行、网页内容抓取并转换为markdown、多引擎网络搜索、代码内容搜索以及系统信息检索。设计目的是通过直接访问本地和远程资源来增强AI在软件开发任务中的辅助能力。
此MCP服务器原名为mcp-server-aidd。为了表彰SkyDeck.ai团队与East Agile共同创建此应用程序,它被重新命名为skydeckai-code。更重要的是,我们意识到“AI驱动开发”(AIDD)这一术语并没有广泛传播开来。人们无法一眼就理解其含义,连LLMs也无法理解。“代码”一词则更加直观。在代理AI的世界中,语言上的直观性非常重要。
# 使用uvx
uvx skydeckai-code
添加到您的claude_desktop_config.json:
{
"mcpServers": {
"skydeckai-code": {
"command": "uvx",
"args": ["skydeckai-code"]
}
}
}
如果您正在使用MseeP AI辅助应用,可以搜索“SkyDeckAI Code”并安装它。

| 类别 | 工具名称 | 描述 |
|---|---|---|
| 文件系统 | 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_fetch | 从URL获取内容 |
web_search | 执行网络搜索 | |
| 屏幕工具 | capture_screenshot | 捕获屏幕或窗口的截图 |
get_active_apps | 列出正在运行的应用程序 | |
get_available_windows | 列出所有打开的窗口 | |
| 系统 | get_system_info | 获取详细的系统信息 |
| 实用工具 | batch_tools | 一起运行多个工具操作 |
think | 记录推理过程而不做更改 | |
| 待办事项 | todo_read | 读取当前工作区的待办事项列表 |
todo_write | 用验证替换整个待办事项列表 | |
todo_update | 根据ID更新特定待办事项 |
| 工具 | 参数 | 返回值 |
|---|---|---|
| read_file | files: [{path: string, offset?: integer, limit?: integer}] | 文件内容(单个或多个文件) |
| write_file | path: string, content: string | 成功确认 |
| move_file | source: string, destination: string | 成功确认 |
| copy_file | source: string, destination: string, recursive?: boolean | 成功确认 |
| delete_file | path: string | 成功确认 |
| get_file_info | path: string | 文件元数据(大小、时间戳、权限) |
支持预览的基于模式的文件编辑:
{
"path": "src/main.py",
"edits": [
{
"oldText": "def old_function():",
"newText": "def new_function():"
}
],
"dryRun": false,
"options": {
"partialMatch": true
}
}
返回:更改差异或干运行模式下的预览。
| 工具 | 参数 | 返回值 |
|---|---|---|
| get_allowed_directory | 无 | 当前允许的目录路径 |
| update_allowed_directory | directory: string (绝对路径) | 成功确认 |
| list_directory | path: string | 目录内容列表 |
| create_directory | path: string | 成功确认 |
| search_files | pattern: string, path?: string, include_hidden?: boolean | 匹配的文件列表 |
search_files工具按名称模式搜索文件,而search_code工具使用正则表达式在文件内容中搜索。当寻找具有特定名称或扩展名的文件时,请使用search_files;当在文件内搜索特定文本模式时,请使用search_code。
生成完整的目录结构:
{
"path": "src",
"include_hidden": false
}
返回:目录内容的JSON树结构。
分析源代码结构:
{
"path": "src"
}
返回:
支持的语言:
使用正则表达式的快速内容搜索工具:
{
"patterns": ["function\\s+\\w+", "class\\s+\\w+"],
"include": "*.js",
"exclude": "node_modules/**",
"max_results": 50,
"case_sensitive": false,
"path": "src"
}
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| patterns | 字符串数组 | 是 | 在文件内容中搜索的正则表达式模式列表 |
| include | 字符串 | 否 | 要包含的文件模式(默认:"*") |
| exclude | 字符串 | 否 | 要排除的文件模式(默认:"") |
| max_results | 整数 | 否 | 每个模式的最大返回结果数(默认:100) |
| case_sensitive | 布尔值 | 否 | 是否区分大小写(默认:false) |
| path | 字符串 | 否 | 搜索的基础目录(默认:".") |
返回值: 按文件分组的匹配行,带行号,按文件修改时间排序,最新文件优先。
该工具在可用时使用ripgrep以获得最佳性能,否则使用Python实现。适用于查找特定代码模式,如函数声明、导入、变量使用或错误处理。
| 工具 | 参数 | 返回值 |
|---|---|---|
| get_system_info | 无 | 综合系统详情 |
返回值:
{
"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": { // 仅在macOS上存在
"model": "Mac mini",
"chip": "Apple M2",
"serial_number": "XXX"
}
}
以简洁易读的格式提供重要的系统信息。
返回用户系统上当前活跃的应用程序列表。
{
"with_details": true
}
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| with_details | 布尔值 | 否 | 是否包含每个应用程序的附加详细信息(默认: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"
}
}
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| output_path | 字符串 | 否 | 截图应保存的路径(默认:生成的路径) |
| capture_mode | 对象 | 否 | 指定要捕获的内容 |
| capture_mode.type | 字符串 | 否 | 截图类型:'full','active_window' 或 'named_window'(默认:'full') |
| capture_mode.window_name | 字符串 | 否 | 要捕获的窗口名称(当类型为 'named_window' 时需要) |
返回值:
{
"success": true,
"path": "/path/to/screenshots/capture.png"
}
此工具用于可视化、调试或上下文感知的帮助。
从文件系统中读取图像文件,并将其内容作为base64编码字符串返回。
{
"path": "images/logo.png"
}
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| path | 字符串 | 是 | 要读取的图像文件路径 |
| max_size | 整数 | 否 | 最大文件大小(字节,默认:100MB) |
返回值: 可以显示或处理的base64编码图像数据。
此工具支持常见的图像格式,如PNG、JPEG、GIF和WebP,并自动调整图像大小以优化查看效果。
从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 | 字符串 | 是 | 要从中获取内容的URL(仅限http/https) |
| headers | 对象 | 否 | 请求中要包含的可选HTTP头 |
| timeout | 整数 | 否 | 等待响应的最大时间(默认:10秒) |
| save_to_file | 字符串 | 否 | 保存响应内容的路径(在允许的目录内) |
| convert_html_to_markdown | 布尔值 | 否 | 当为true时,将HTML内容转换为markdown以便更好地阅读(默认:true) |
返回值: 带有HTTP状态码和大小信息的文本响应内容。对于二进制内容,返回元数据并根据请求保存到文件。当启用convert_html_to_markdown时,HTML内容会自动转换为markdown格式以提高可读性。
此工具可用于访问Web API、获取文档或下载网络内容,同时遵守大小限制(最大10MB)和安全约束。
使用多个搜索引擎执行强大的网络搜索,并返回简洁的相关结果。
{
"query": "latest python release features",
"num_results": 8,
"convert_html_to_markdown": true,
"search_engine": "bing"
}
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| query | 字符串 | 是 | 要处理的搜索查询。具体一点可以获得更好的结果。 |
| num_results | 整数 | 否 | 要返回的最大搜索结果数(默认:10,最大:20) |
| convert_html_to_markdown | 布尔值 | 否 | 当为true时,内容将从HTML转换为markdown以便更好地阅读(默认:true) |
| search_engine | 字符串 | 否 | 指定要使用的搜索引擎:“auto”(默认)、“bing”或“duckduckgo” |
返回值: 每个结果的标题、URL和摘要格式化的搜索结果列表。结果是去重并分层组织的,便于阅读。
此工具采用多引擎方法,尝试不同的搜索引擎和解析策略以确保可靠的结果。您可以指定首选引擎,但某些引擎可能会阻止自动化访问,在这种情况下,当选择“auto”时,工具会回退到其他引擎。
在一个请求中执行多个工具调用,并尽可能并行执行。
{
"description": "设置新项目",
"sequential": true,
"invocations": [
{
"tool": "create_directory",
"arguments": {
"path": "src"
}
},
{
"tool": "write_file",
"arguments": {
"path": "README.md",
"content": "# 新项目\n\n这是一个新项目。"
}
},
{
"tool": "execute_shell_script",
"arguments": {
"script": "git init"
}
}
]
}
参数:
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| description | 字符串 | 是 | 批处理操作的简短描述 |
| sequential | 布尔值 | 否 | 是否按顺序运行工具(默认:否) |
| invocations | 数组 | 是 | 要执行的工具调用列表 |
| invocations[].tool | 字符串 | 是 | 要调用的工具名称 |
| invocations[].arguments | 对象 | 是 | 指定工具的参数 |
返回值: 来自所有工具调用的组合结果,按工具分组,每个工具的成功/错误状态。结果按照原始调用顺序呈现,并带有清晰的部分标题。
此工具提供了一个单一请求