mcpField
M
mcp-code-search-server

mcp-code-search-server

本地服务
github.com/fx-an搜索与检索076 周前更新

关于 mcp-code-search-server

mcp-code-search-server 是一个 MCP 服务,可在代码库中搜索标识符并返回完整定义,面向使用 LLM 探索代码的场景。它解析 JavaScript/TypeScript、Java 和 Python。

主要功能

  1. 01使用 ripgrep 搜索代码标识符
  2. 02提取变量、函数和类的完整定义
  3. 03解析 JavaScript/TypeScript、Java 和 Python
  4. 04检测并处理多种文件编码
  5. 05排除常见非代码目录和文件类型

适用场景

  1. 01在代码库中定位函数定义
  2. 02查看类或变量及其上下文

MCP 相关

它通过 stdio 向 MCP 客户端提供 `search-files` 工具,可搜索指定目录并返回匹配标识符及其定义。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"code-search-server": {
"command": "npx",
"args": [
"-y",
"mcp-code-search-server"
]
}
}
}
启动命令npx -y mcp-code-search-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-code-search-server

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
querystring是要搜索的代码标识符(如变量名、函数名、类名等)
cwdstring是要搜索的目录路径。此目录将被递归搜索。
filePatternstring否用于筛选文件的glob模式(例如:'*.ts'表示只搜索TypeScript文件)。如果不提供,将搜索所有文件。
excludePatternsarray否要从搜索中排除的文件模式数组。这些模式将与默认排除模式合并。
excludeDirsarray否要从搜索中排除的目录数组。这些目录将与默认排除目录合并。

详细介绍

来自项目 README

mcp-code-search-server

一个MCP Server,帮助LLM查找相关代码在文件中的位置,支持返回完整的函数定义。 An MCP Server, which helps the LLM find the location of relevant code within files and supports returning the complete function definitions.

项目简介

mcp-code-search-server 是一个基于 Model Context Protocol (MCP) 实现的服务器,专为大语言模型(LLM)提供代码搜索功能。它能够帮助LLM精准定位代码库中的标识符(如变量、函数、类等),并返回其完整定义,而不仅仅是引用位置。通过获取完整的代码定义及其上下文,有助于LLM更好地理解代码的内部逻辑、数据流和依赖关系。

主要功能

  • 代码搜索:使用 ripgrep 高效搜索代码库中的标识符
  • 多语言支持:支持JavaScript/TypeScript、Java和Python的代码解析
  • 完整定义提取:自动识别并提取变量、函数、类等完整定义
  • 多编码支持:自动检测并处理不同编码的文件(UTF-8, GBK, Big5等)
  • 智能过滤:提供默认配置排除常见的非代码目录和文件类型

安装方法

# 使用npm安装
npm install mcp-code-search-server

# 或使用pnpm安装
pnpm install mcp-code-search-server

使用方法

作为命令行工具使用
npx mcp-code-search-server
在调试模式下使用
# 构建项目
npm run build

# 运行调试器
npm run debug

# 或者一步执行
npm run build-debug
在LLM工具中集成

本服务器基于MCP协议,可以作为Server被调用。大语言模型可以通过stdio接口与服务器通信。

{
  "mcp": {
    "servers": {
      "code-search": {
        "command": "npx",
        "args": [
            "-y",
            "mcp-code-search-server"
        ]
      }
    }
  }
}

API参数说明

search-files 工具

搜索代码标识符并返回其完整定义。

参数类型必填描述
querystring是要搜索的代码标识符(变量名、函数名、类名等)
cwdstring是要搜索的目录路径
filePatternstring否用于筛选文件的glob模式(例如:'*.ts')
excludePatternsstring[]否要从搜索中排除的文件模式数组
excludeDirsstring[]否要从搜索中排除的目录数组

支持的语言

  • JavaScript/TypeScript
  • Java
  • Python

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。