关于 MCP Server (Language Server Protocol)
基于 TypeScript 的代码引用搜索 MCP 服务,提供网页和终端界面。优先使用 ripgrep,并可回退到 grep 或 Node.js 搜索实现。
主要功能
- 01使用 ripgrep 搜索代码引用
- 02网页搜索界面
- 03终端搜索界面
- 04按文件类型分组结果
- 05多种搜索回退方案
- 06开发热重载
适用场景
- 01在目录中查找代码引用
- 02查看按文件类型分组的搜索结果
- 03在 ripgrep 不可用时搜索
MCP 相关
向 MCP 客户端提供代码引用搜索能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Server(Language Server Protocol)
基于 TypeScript 的 Language Server Protocol 实现,支持多种搜索策略,用于搜索代码引用。
功能
- 🔍 使用 ripgrep 快速搜索代码引用
- 🌐 提供便于搜索的 Web 界面
- 💻 提供用于命令行操作的终端界面
- 📊 按文件类型分组结果
- 🔄 提供备用搜索机制
- 🔥 支持开发时热重载
前置条件
开始之前,请确保已安装以下软件:
- Node.js(v14 或更高版本)
- npm(随 Node.js 一同安装)
- Homebrew(仅 macOS 用户)
- ripgrep(推荐使用,可加快搜索速度)
安装
1. 克隆仓库
git clone <your-repository-url>
cd <repository-name>/src/mcp-server/v1
2. 安装 Homebrew(仅 macOS)
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Add Homebrew to PATH (follow the instructions shown after installation)
# Usually these commands:
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
# Restart your terminal or run
source ~/.zprofile
3. 安装 ripgrep
# macOS (using Homebrew)
brew install ripgrep
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install ripgrep
# Fedora
sudo dnf install ripgrep
# Windows (using Chocolatey)
choco install ripgrep
4. 安装依赖项
npm install
用法
构建项目
npm run build
启动服务
生产模式
npm run start
开发模式(支持热重载)
npm run dev
访问界面
-
Web 界面
- 打开浏览器并访问:
http://localhost:3000 - 输入搜索词和目录
- 查看按文件类型分组的结果
- 打开浏览器并访问:
-
终端界面
- 终端界面会随服务自动启动
- 按照提示输入搜索词
- 搜索结果会显示在终端中
搜索策略
服务按以下顺序使用多种搜索策略:
-
ripgrep(最快)
- 使用正则表达式进行精确和部分匹配
- 排除常见目录(node_modules、.git 等)
- 提供行号和上下文
-
grep(备用)
- ripgrep 不可用时使用
- 功能类似,但速度较慢
-
Node.js(最终备用方案)
- 纯 JavaScript 实现
- ripgrep 和 grep 均不可用时使用
配置
环境要求
- 服务会自动检查所需软件
- 如果缺少任何软件,会提供安装说明
- 验证工作目录是否正确
TypeScript 配置
- 目标:ES2020
- 模块:CommonJS
- 已启用严格类型检查
- 生成源映射以便调试
故障排除
常见问题
-
目录错误
- 确保当前位于
src/mcp-server/v1目录 - 检查环境检查中显示的路径
- 确保当前位于
-
Homebrew 安装
- 如果 Homebrew 命令失败,请确保已配置 PATH
- 检查
~/.zprofile中的 Homebrew 配置
-
找不到 ripgrep
- 确认已安装 Homebrew,且其路径已加入 PATH
- 尝试重新安装:
brew reinstall ripgrep
-
端口已被占用
- 服务会自动查找可用端口
- 默认端口为 3000
错误消息
如果看到以下错误,请尝试相应的解决方法:
-
command not found: brew- 重新安装 Homebrew
- 重新配置 PATH
-
command not found: rg- 安装 ripgrep:
brew install ripgrep - 验证 PATH 配置
- 安装 ripgrep:
-
EADDRINUSE- 端口已被占用
- 服务会自动尝试其他端口
开发
可用脚本
npm run build:构建项目npm run start:以生产模式启动npm run dev:以热重载模式启动npm run clean:清理构建输出
添加新功能
- 修改
server.ts以实现核心功能 - 更新
index.html以更改 Web 界面 - 在开发模式下运行,以测试更改
- 构建并重启以应用更改
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。