使用说明
开发工具包mcp
多功能MCP服务器 Zed IDE --为Zed带来Windsurf/Cursor般的智能。
一台MCP服务器赋予Zed的AI代理超能力:代码库索引、智能文件读取、持久内存、git感知和网络搜索——所有这些都不需要离开编辑器。
为什么?
Zed速度快、美观,但其AI代理缺乏Windsurf和Cursor内置的深度代码库感知 read_file 该工具难以处理大文件,会话之间没有持久内存,也没有代码库范围的搜索。
开发工具包mcp 在一个轻量级MCP服务器中使用24个工具填补了这些空白。
特征
🔍 代码库索引器(7个工具)
扫描整个项目,并构建文件、符号、导入和依赖关系的内存索引,如Windsurf的索引引擎。
| 工具 | 说明 |
|---|---|
index_project |
扫描并索引整个项目(文件、符号、导入) |
project_map |
包含行数和符号统计信息的文件树 |
find_symbol |
查找符号在代码库中定义和使用的位置 |
find_related |
显示文件的导入/依赖关系图 |
search_codebase |
在所有索引文件中搜索正则表达式 |
file_dependencies |
完全依赖树(深度可配置) |
find_widgets |
Flutter特定:查找所有小部件及其状态类 |
📖 智能文件阅读器(4个工具)
智能读取大文件——从不将2000行转储到上下文中。
| 工具 | 说明 |
|---|---|
file_info |
文件大小、行数和结构(带行号的类/函数) |
read_lines |
读取特定线路范围(每次通话最多500) |
search_in_file |
在具有周围上下文的文件中搜索 |
read_function |
按名称提取完整的函数/类(大括号匹配) |
🧠 持久内存(4个工具)
Windsurf风格的记忆在各个会话中都能保持。将项目知识存储为JSON文件。
| 工具 | 说明 |
|---|---|
memory_save |
保存笔记(技术栈、惯例、决策、已知问题) |
memory_load |
加载项目的所有内存--在会话开始时调用 |
memory_delete |
删除特定内存 |
memory_list |
列出所有已保存记忆的项目 |
🌿 Git意识(5个工具)
无需离开代理面板即可获得完整的git上下文。
| 工具 | 说明 |
|---|---|
git_status |
分支、暂存/未暂存/未跟踪的文件、最近的提交 |
git_diff |
Diff:分段、非分段、分支之间或特定文件 |
git_log_file |
提交特定文件的历史记录 |
git_blame |
谁改变了什么——全范围还是线范围 |
git_branches |
所有具有上次提交信息的分支 |
🌐 网络搜索和文档(3个工具)
搜索文档、获取网页、查找软件包。
| 工具 | 说明 |
|---|---|
search_web |
DuckDuckGo网络搜索(不需要API密钥) |
fetch_url |
从任何URL获取并提取可读文本 |
search_pubdev |
在pub.dev中搜索Dart/Flutter软件包 |
安装
先决条件
设置
# 1. Clone or download
git clone https://github.com/YOUR_USERNAME/dev-toolkit-mcp.git
cd dev-toolkit-mcp
# 2. Install dependencies
npm install
# 3. Note the full path to index.mjs — you'll need it for Zed config
pwd
配置Zed
添加到您的Zed settings.json (Ctrl+, 或 Cmd+,):
{
"context_servers": {
"dev-toolkit": {
"command": {
"path": "node",
"args": ["/FULL/PATH/TO/dev-toolkit-mcp/index.mjs"],
"env": {}
}
}
}
}
Windows路径示例:
"args": ["C:\\Users\\yourname\\dev-toolkit-mcp\\index.mjs"]
自动批准工具(可选)
添加到 agent.tool_permissions.tools 设置中的部分:
"mcp:dev-toolkit:index_project": { "default": "allow" },
"mcp:dev-toolkit:project_map": { "default": "allow" },
"mcp:dev-toolkit:find_symbol": { "default": "allow" },
"mcp:dev-toolkit:find_related": { "default": "allow" },
"mcp:dev-toolkit:search_codebase": { "default": "allow" },
"mcp:dev-toolkit:file_dependencies": { "default": "allow" },
"mcp:dev-toolkit:find_widgets": { "default": "allow" },
"mcp:dev-toolkit:file_info": { "default": "allow" },
"mcp:dev-toolkit:read_lines": { "default": "allow" },
"mcp:dev-toolkit:search_in_file": { "default": "allow" },
"mcp:dev-toolkit:read_function": { "default": "allow" },
"mcp:dev-toolkit:memory_save": { "default": "allow" },
"mcp:dev-toolkit:memory_load": { "default": "allow" },
"mcp:dev-toolkit:memory_delete": { "default": "allow" },
"mcp:dev-toolkit:memory_list": { "default": "allow" },
"mcp:dev-toolkit:git_status": { "default": "allow" },
"mcp:dev-toolkit:git_diff": { "default": "allow" },
"mcp:dev-toolkit:git_log_file": { "default": "allow" },
"mcp:dev-toolkit:git_blame": { "default": "allow" },
"mcp:dev-toolkit:git_branches": { "default": "allow" },
"mcp:dev-toolkit:search_web": { "default": "allow" },
"mcp:dev-toolkit:fetch_url": { "default": "allow" },
"mcp:dev-toolkit:search_pubdev": { "default": "allow" }
添加规则文件(推荐)
复制 .rules 将文件保存到项目根目录。这教会了AI代理如何有效地使用这些工具:
cp .rules /path/to/your/project/.rules
用法
会话开始仪式
这 .rules 文件指示代理在每个会话开始时自动执行此操作:
memory_load→ 从以前的会话中恢复项目上下文index_project→ 扫描代码库(缓存5分钟)git_status→ 查看当前分支和更改
示例提示
# Codebase exploration
"Show me the project structure"
"Find where UserModel is defined and used"
"What widgets are in the auth module?"
# Smart file reading
"Show me the build method in HomeScreen"
"Search for all TODO comments in the project"
# Git awareness
"What files changed since last commit?"
"Show me the diff for auth_service.dart"
"Who last modified the login function?"
# Memory
"Remember that this project uses Riverpod for state management"
"What do you remember about this project?"
# Web search
"Search pub.dev for a good date picker package"
"Look up the Flutter Navigator 2.0 API docs"
如何比较
| 功能 | Windsurf | 光标 | Zed(香草) | Zed+开发工具包 |
|---|---|---|---|---|
| 代码库索引 | ✅ 内置 | ✅ 内置 | ❌ | ✅ |
| 智能文件读取 | ✅ 内置 | ✅ 内置 | ⚠️ 处理大文件时遇到困难 | ✅ |
| 持久内存 | ✅ 内置 | ❌ | ❌ | ✅ |
| Git意识 | ✅ 内置 | ✅ 内置 | ⚠️ 基础 | ✅ |
| 网络搜索 | ✅ 内置 | ✅ 内置 | ❌ | ✅ |
| 符号搜索 | ✅ 内置 | ✅ 内置 | ⚠️ 仅限LSP | ✅ 交叉文件 |
| 小部件查找器 | ❌ | ❌ | ❌ | ✅ 特定于Flutter |
| 依赖关系图 | ✅ 内置 | ✅ 内置 | ❌ | ✅ |
| 速度 | 电子 | 电子 | 🚀 原生锈 | 🚀 原生锈 |
| 价格 | 15-50美元/月 | 20美元/月 | 免费 | 免费 |
建筑
~/.zed-memories/ # Persistent memory storage (JSON per project)
├── my-app.json
└── another-project.json
dev-toolkit-mcp/
└── index.mjs # Single-file MCP server (no build step)
Your Project/
└── .rules # Agent behavior rules
- 零构建步骤 --单身
.mjs文件,直接使用Node.js运行 - 无外部API --网络搜索使用DuckDuckGo HTML(无需密钥)
- 无数据库 --存储为纯JSON文件的内存
- 重启之间处于无状态 --按需重建索引(缓存5分钟)
语言支持
虽然索引器具有Flutter/Dart特定的功能(find_widgets),符号提取使用:
Dart、TypeScript、JavaScript、Python、Go、Rust、Kotlin、Swift、Java、C/C++、Ruby、PHP等等。
故障排除
Zed中未显示MCP
- 检查代理面板设置中的指示点--绿色=活动
- 验证中的路径
settings.json正确(使用绝对路径) - 检查Zed日志:
Ctrl+Shift+P→zed: open log
工具未被调用
- 确保配置文件设置为“写入”(而不是“询问”或“最小”)
- 按名称提及工具: “使用file_info检查…的大小”
- 通过OpenRouter的某些模型具有不一致的工具调用
Windows编码问题
如果看到Unicode错误,请包装命令:
"args": ["C:\\path\\to\\wrapper.bat"]
哪里 wrapper.bat 包含:
@echo off
set PYTHONIOENCODING=utf-8
node "C:\path\to\index.mjs"
贡献
PR欢迎!一些想法:
- []用于语义代码搜索的嵌入向量搜索
- []文件保存时自动索引(文件监视器)
- []数据库MCP工具(SQLite、PostgreSQL)
- []试运行器集成
- []Dockerfile/docker编写意识
- []pub.dev包版本检查器
pubspec.yaml
许可证
麻省理工学院