article
README
🚀 MCP 服务器(语言服务协议)
MCP 服务器是一个基于 TypeScript 的语言服务协议实现,主要用于代码引用搜索,支持多种搜索策略,能帮助开发者高效地查找代码引用。
🚀 快速开始
MCP 服务器可助力开发者进行代码引用搜索。在使用前,需完成相关的安装与配置。
✨ 主要特性
- 🔍 借助 ripgrep 实现快速代码引用搜索,提升搜索效率。
- 🌐 提供网络界面,方便用户进行搜索操作。
- 💻 支持终端界面命令行使用,满足不同用户的操作习惯。
- 📊 按文件类型分组显示搜索结果,让结果展示更清晰。
- 🔄 具备多种备用搜索机制,确保搜索的稳定性。
- 🔥 支持开发时的热重载,提升开发体验。
📦 安装指南
1. 克隆仓库
git clone <your-repository-url>
cd <repository-name>/src/mcp-server/v1
2. 安装 Homebrew(仅限 macOS)
# 安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 将 Homebrew 添加到 PATH(请按照安装后显示的说明操作)
# 通常这些命令:
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
# 重启终端或运行
source ~/.zprofile
3. 安装 ripgrep
# macOS(使用 Homebrew)
brew install ripgrep
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install ripgrep
# Fedora
sudo dnf install ripgrep
# Windows(使用 Chocolatey)
choco install ripgrep
4. 安装依赖项
npm install
💻 使用示例
构建项目
npm run build
启动服务器
生产模式
npm run start
开发模式(带热重载)
npm run dev
访问界面
-
网络界面
- 在浏览器中打开:
http://localhost:3000 - 输入搜索词和目录
- 查看按文件类型分组的结果
- 在浏览器中打开:
-
终端界面
- 终端界面随服务器自动启动
- 按照提示输入搜索词
- 结果将在终端中显示
📚 详细文档
搜索策略
服务器按照以下顺序使用多种搜索策略:
-
ripgrep(最快)
- 使用正则表达式实现精确和部分匹配
- 忽略常见目录(node_modules、.git 等)
- 提供行号和上下文
-
grep(备用)
- 如果 ripgrep 不可用时使用
- 功能相似但速度较慢
-
Node.js(最后的备用方案)
- 纯 JavaScript 实现
- 在 ripgrep 和 grep 都不可用时使用
配置
环境要求
- 服务器会自动检查所需的软件
- 提供缺失软件的安装说明
- 验证正确的当前目录
TypeScript 配置
- 目标:ES2020
- 模块:ESNext
- 出口:true
- 格式:UTF-8
- 严格模式:启用
- 允许未声明的变量:禁用
故障排除
网络问题
如果无法访问网络,请检查防火墙设置或代理配置。
依赖项问题
如果 npm 安装失败,请尝试使用管理员权限运行:
npm install --force
其他问题
如需更多帮助,请查看项目文档或联系维护人员。
Scan to join WeChat group