](https://mseep.ai/app/skydeckai-code)
SkyDeckAI代码
MCP服务器为AI驱动的开发工作流程提供了一套全面的工具。功能包括文件系统操作、使用多种编程语言的树形图进行代码分析、代码执行、使用HTML到markdown转换获取web内容、多引擎web搜索、代码内容搜索和系统信息检索。旨在通过提供对本地和远程资源的直接访问来增强人工智能协助软件开发任务的能力。
以前称为MCP服务器AIDD
此mcp服务器以前称为 mcp-server-aidd。它被重命名为 skydeckai-code 感谢团队 SkyDeck.ai 随着创建此应用程序 东方敏捷。但更重要的是,我们意识到人工智能驱动开发(AIDD)一词并没有流行起来。人们一眼就不明白它是什么。LLMs也没有。“代码”要直观得多。语言直觉在人工智能领域很重要。

安装
# Using uvx
uvx skydeckai-codeClaude桌面设置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"skydeckai-code": {
"command": "uvx",
"args": ["skydeckai-code"]
}
}
}SkyDeck人工智能助手应用程序
如果你正在使用MseeP AI Helper应用程序,你可以搜索“SkyDeckAI代码”并安装它。
主要特点
- 文件系统操作(读、写、编辑、移动、复制、删除)
- 目录管理和遍历
- 基于树形图的多语言代码分析
- 使用正则表达式模式匹配进行代码内容搜索
- 具有安全措施的多语言代码执行
- 通过HTML到markdown转换从API和网站获取Web内容
- 具有可靠回退机制的多引擎网络搜索
- 并行和串行工具执行的批处理操作
- 具有可配置工作区边界的安全控制
- 屏幕截图和屏幕上下文工具
- 图像处理工具
可用工具(29)
| 类别 | 工具名称 | 描述 |
|---|---|---|
| 文件系统 | 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 | 无需更改即可进行文档推理 | |
| 全部 | todo_read | 读取当前工作区待办事项列表 |
todo_write | 用验证替换整个待办事项列表 | |
todo_update | 按ID更新特定待办事项 |
详细的工具文档
基本文件操作
| 工具 | 参数 | 返回 |
|---|---|---|
| read_file | 文件:〔{路径:字符串,偏移量?:整数,限制?:整数}〕 | 文件内容(单个或多个文件) |
| write_file | 路径:字符串,内容:字符串 | 成功确认 |
| move_file | 源:字符串,目标:字符串 | 成功确认 |
| copy_file | 源:字符串,目标:字符串,递归?:boolean | 成功确认 |
| delete_file | 路径:字符串 | 成功确认 |
| get_file_info | 路径:字符串 | 文件元数据(大小、时间戳、权限) |
复杂的文件操作
edit_file
基于模式的文件编辑,支持预览:
{
"path": "src/main.py",
"edits": [
{
"oldText": "def old_function():",
"newText": "def new_function():"
}
],
"dryRun": false,
"options": {
"partialMatch": true
}
}返回值:在模拟运行模式下更改或预览的差异。
目录操作
| 工具 | 参数 | 返回 |
|---|---|---|
| get_allowed_directory | none | 当前允许的目录路径 |
| update_allowed_directory | 目录:字符串(绝对路径) | 成功确认 |
| list_directory | 路径:字符串 | 目录内容列表 |
| create_directory | 路径:字符串 | 成功确认 |
| search_files | 模式:字符串、路径?:string,include_hidden?:boolean | 匹配文件列表 |
这 search_files 该工具按名称模式搜索文件,而 search_code 该工具使用正则表达式在文件内容中搜索。使用 search_files 查找具有特定名称或扩展名的文件时,以及 search_code 在文件中搜索特定的文本模式时。
目录树
生成完整的目录结构:
{
"path": "src",
"include_hidden": false
}返回:目录内容的JSON树结构。
代码分析
代码库映射器
分析源代码结构:
{
"path": "src"
}退货:
- 类及其方法
- 功能和参数
- 模块结构
- 代码组织统计
- 继承关系
支持的语言:
- Python(.py)
- JavaScript(.js/.jsx、.mjs、.cjs)
- TypeScript(.ts/.tsx)
- Java(.Java)
- C++(.cpp、.hpp、.cc)
- Ruby(.rb、.rake)
- 去(.去)
- 锈蚀(.rs)
- PHP(.PHP)
- C#(.cs)
- Kotlin(.kt,.kts)
搜索代码
使用正则表达式的快速内容搜索工具:
{
"patterns": ["function\\s+\\w+", "class\\s+\\w+"],
"include": "*.js",
"exclude": "node_modules/**",
"max_results": 50,
"case_sensitive": false,
"path": "src"
}参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| patterns | 字符串数组 | Yes | 要在文件内容中搜索的正则表达式模式列表 |
| include | string | 否 | 要包含的文件模式(glob语法,默认值:“\*”) |
| exclude | string | No | 要排除的文件模式(glob语法,默认值:“”) |
| max_results | integer | 否 | 每个模式返回的最大结果(默认值:100) |
| case_sensitive | boolean | 否 | 搜索是否区分大小写(默认值:false) |
| path | string | No | 要搜索的基本目录(默认值:“.”) |
退货: 按文件分组的行与行号匹配,按文件修改时间排序,最新文件优先。
此工具在可获得最佳性能时使用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": { // Only present on macOS
"model": "Mac mini",
"chip": "Apple M2",
"serial_number": "XXX"
}
}以清晰易读的格式提供基本系统信息。
屏幕上下文和图像工具
获取活动应用程序
返回用户系统上当前活动应用程序的列表。
{
"with_details": true
}参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| with_details | boolean | 否 | 是否包含每个应用程序的其他详细信息(默认值: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
}
]
}此工具提供了有关用户系统上当前运行的应用程序的有价值的上下文,这有助于提供更相关的帮助。
get_available_windows
返回用户屏幕上当前显示的所有可用窗口的详细信息。
{}退货:
{
"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
}
]
}此工具有助于了解用户屏幕上可见的内容,并可用于上下文感知帮助。
capture_screenshot
捕获用户屏幕或特定窗口的屏幕截图。
{
"output_path": "screenshots/capture.png",
"capture_mode": {
"type": "named_window",
"window_name": "Visual Studio Code"
}
}参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| output_path | string | No | 截图保存路径(默认:生成路径) |
| capture_mode | 对象 | 否 | 指定要捕获的内容 |
| capture_mode.type | string | 否 | 屏幕截图类型:“完整”、“active_window”或“named_window”(默认值:“完全”) |
| capture_mode.window_name | string | 否 | 要捕获的窗口的名称(当类型为“named_window”时需要) |
退货:
{
"success": true,
"path": "/path/to/screenshots/capture.png"
}此工具捕获屏幕截图以进行可视化、调试或上下文感知帮助。
read_image_file
从文件系统读取图像文件,并将其内容作为base64编码字符串返回。
{
"path": "images/logo.png"
}参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | Yes | 要读取的图像文件的路径 |
| max_size | 整数 | 否 | 最大文件大小(字节)(默认值: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 | string | 是 | 从中获取内容的url(仅限http/https) |
| headers | object | No | 请求中包含的可选HTTP标头 |
| timeout | 整数 | 否 | 等待响应的最长时间(默认值:10秒) |
| save_to_file | string | 否 | 保存响应内容的路径(在允许的目录内) |
| convert_html_to_markdown | boolean | 否 | 为true时,将html内容转换为markdown以提高可读性(默认值:true) |
退货: 响应内容为带有HTTP状态代码和大小信息的文本。对于二进制内容,如果需要,返回元数据并保存到文件中。启用convert_html_to_markdown后,html内容会自动转换为markdown格式,以提高可读性。
此工具可用于访问web API、获取文档或从web下载内容,同时遵守大小限制(最大10MB)和安全约束。
网络搜索
使用多个搜索引擎执行强大的网络搜索,并返回简洁、相关的结果。
{
"query": "latest python release features",
"num_results": 8,
"convert_html_to_markdown": true,
"search_engine": "bing"
}参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | Yes | 要处理的搜索查询。为了获得更好的结果,请具体说明。 |
| num_results | integer | 否 | 要返回的最大搜索结果数(默认值:10,最大值:20) |
| convert_html_to_markdown | boolean | 否 | 如果为true,内容将从html转换为markdown,以提高可读性(默认值:true) |
| search_engine | string | 否 | 指定要使用的搜索引擎:“auto”(默认)、“bing”或“duckduckgo” |
退货: 以markdown格式显示的搜索结果列表,包括每个结果的标题、URL和片段。结果经过重复数据消除和分层组织,便于阅读。
该工具使用多引擎方法,尝试使用不同解析策略的不同搜索引擎,以确保可靠的结果。您可以指定首选引擎,但某些引擎可能会阻止自动访问,在这种情况下,当选择“自动”时,该工具将回退到其他引擎。
实用工具
批处理工具
在单个请求中执行多个工具调用,并在可能的情况下并行执行。
{
"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"
}
}
]
}参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| description | string | Yes | 批处理操作的简短描述 |
| sequential | boolean | 否 | 是否按顺序运行工具(默认值:false) |
| calls | array | Yes | 要执行的工具调用列表 |
| calls\[\].tool | string | 是 | 要调用的工具的名称 |
| calls\[\].arguments | object | Yes | 指定工具的参数 |
退货: 所有工具调用的组合结果,按工具分组,每个工具的成功/错误状态。结果以原始调用顺序呈现,并带有清晰的节标题。
此工具可在单个请求中高效执行多个操作。当 sequential 如果为false(默认),则并行执行工具以获得更好的性能。当 sequential 如果为true,则按顺序执行工具,如果任何工具发生故障,则停止执行。
重要:批处理中的所有工具都在相同的工作目录上下文中执行。如果一个工具创建了一个目录,而后续工具需要在该目录内工作,您必须:
- 使用相对于当前工作目录的路径(例如,“project/src”而不仅仅是“src”),或
- 包括使用以下命令更改目录的显式工具调用
update_allowed_directory
思考
一种用于复杂推理和头脑风暴的工具,无需对存储库进行更改。
{
"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."
}参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| thought | string | Yes | 你的详细想法、分析或推理过程 |
退货: 你的想法格式为markdown,并附有一条注释,表明这是一次思考练习。
此工具可用于思考复杂问题、头脑风暴解决方案或制定实施计划,而无需进行任何实际更改。这是记录你的推理过程、评估不同方法或在采取行动之前制定多步骤策略的好方法。
代码执行
execute_code
执行具有安全措施和限制的各种编程语言的代码。
{
"language": "python",
"code": "print('Hello, World!')",
"timeout": 5
}支持的语言:
- Python(python3)
- JavaScript(Node.js)
- 红宝石
- PHP
- 去
- 锈
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| language | string | Yes | 要使用的编程语言 |
| code | string | Yes | 要执行的代码 |
| timeout | 整数 | 否 | 最大执行时间(默认:5s) |
要求:
- 必须安装相应的语言运行时
- 命令必须在系统PATH中可用
- 临时文件创建的适当权限
⚠️ 安全警告: 此工具在您的系统上执行任意代码。始终:
- 执行前彻底检查代码
- 了解代码的目的和预期结果
- 从不执行不受信任的代码
- 注意潜在的系统影响
- 监控执行输出
execute_shell_script
执行带有安全措施和限制的shell脚本(bash/sh)。
{
"script": "echo \"Current directory:\" && pwd",
"timeout": 300
}参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| script | string | Yes | 要执行的Shell脚本 |
| timeout | 整数 | 否 | 最大执行时间(默认:300秒,最大:600秒) |
特征:
- 使用/bin/sh实现跨系统的最大兼容性
- 在允许的目录内执行
- 分离stdout和stderr输出
- 正确的错误处理和超时控制
⚠️ 安全警告: 此工具在您的系统上执行任意shell命令。始终:
- 执行前彻底检查脚本
- 了解脚本的目的和预期结果
- 从不执行不受信任的脚本
- 注意潜在的系统影响
- 监控执行输出
Todo工具
todo工具为工作空间优先的开发工作流提供了顺序任务管理功能。任务按顺序执行,没有优先级系统,确保开发阶段的结构化进度。
todo_read
读取工作区的当前待办事项列表。
{}退货:
{
"todos": [
{
"id": "abc123",
"content": "Implement user authentication",
"status": "in_progress",
"metadata": {
"custom_key": "custom_value"
},
"created_at": "2023-10-01T10:00:00Z",
"updated_at": "2023-10-01T11:30:00Z"
}
],
"count": 1,
"workspace": "/path/to/workspace"
}todo_write
替换顺序执行工作流的整个待办事项列表。任务按照数组顺序执行,以之前的工作为基础。
{
"todos": [
{
"id": "task1",
"content": "Set up database schema",
"status": "pending"
},
{
"id": "task2",
"content": "Create API endpoints",
"status": "pending",
"metadata": {
"custom_key": "custom_value"
}
}
]
}顺序工作流规则:
- 每个todo必须有唯一的ID
- 一次只能有一个任务“in_progress”(顺序执行)
- 任务按数组顺序执行-无优先级系统
- 必填字段:id、内容、状态
- 状态值:“待定”、“正在进行中”、“已完成”
- 工作区优先:所有工作区操作都必须进行待办事项管理
Tod/update
按ID更新特定待办事项,以实现连续的工作流进程。
{
"todo_id": "task1",
"updates": {
"status": "in_progress",
"metadata": {
"new_key": "new_value"
}
}
}退货:
{
"success": true,
"updated_todo": {
"id": "task1",
"content": "Set up database schema",
"status": "in_progress",
"updated_at": "2023-10-01T12:00:00Z",
"metadata": {
"new_key": "new_value"
}
},
"counts": {
"pending": 1,
"in_progress": 1,
"completed": 0,
"total": 2
},
"workspace": "/path/to/workspace"
}todo系统为每个工作区维护单独的顺序任务列表,强制所有工作区操作使用。任务按顺序执行,建立在以前的工作基础上,没有基于优先级的调度。
配置
配置文件: ~/.skydeckai_code/config.json
{
"allowed_directory": "/path/to/workspace"
}调试
使用MCP检查器进行调试:
npx @modelcontextprotocol/inspector run安全
- 操作仅限于配置的允许目录
- 路径遍历预防
- 文件权限保留
- 安全操作处理
即将推出的功能
- GitHub工具:
- PR描述生成器 - 代码审查 - 行动管理器
- Pivotal Tracker工具:
- 故事生成器 - 故事经理
开发状态
目前正在积极开发中。功能和API可能会更改。
许可证
Apache许可证2.0-请参阅 许可证

