Zed IDE增强工具包

一个为Zed IDE提供的多合一MCP服务器,集成代码库索引、智能文件阅读、持久化记忆、Git感知和网页搜索等功能,无需离开编辑器即可完成。

  • by 1baltun
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 1baltun/dev-toolkit-mcp

使用说明

开发工具包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 文件指示代理在每个会话开始时自动执行此操作:

  1. memory_load → 从以前的会话中恢复项目上下文
  2. index_project → 扫描代码库(缓存5分钟)
  3. 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

许可证

麻省理工学院