返回 MCP 目录
public公开dns本地运行

code-scanner-server

一个多功能代码扫描工具,支持多语言解析、定义提取和.gitignore过滤,可输出多种格式结果,提供CLI和MCP服务器两种运行模式。

article

README

🚀 代码扫描服务器

code-scanner-server 是一款基于 TypeScript 和 Node.js 构建的项目,它能对多种编程语言的代码进行扫描。不仅可以提取代码中的定义信息,还能对结果进行过滤,并以多种格式输出。此外,该工具既支持命令行操作,也能配置为 MCP 服务器模式,满足不同场景的使用需求。

🚀 快速开始

code-scanner-server 是一个强大的代码扫描工具,支持多语言,可提取代码定义、过滤结果并输出多种格式。它既可以作为命令行工具使用,也能配置为 MCP 服务器模式。

✨ 主要特性

  • 多语言支持:支持 TypeScript、JavaScript、Python 等多种编程语言。
  • 定义提取:能够提取函数、类、变量等代码中的定义信息。
  • 结果过滤:提供丰富的过滤选项,包括类型、修饰符、路径等。
  • 多种输出格式:支持 JSON、XML 和其他文本格式的输出。
  • 命令行工具(CLI):可以通过命令行直接使用该工具进行代码扫描。
  • MCP 服务器模式:可以配置为 MCP 服务器,集成到更大的系统中。

📦 安装指南

先决条件

确保已安装 Node.js 和 npm。

克隆仓库(可选)

如果尚未拥有代码,可以通过以下命令克隆仓库:

# git clone <repository_url>
# cd code-scanner-server

安装依赖项

npm install

构建

编译 TypeScript 代码:

npm run build

这将生成可执行的 JavaScript 文件,位于 build/index.js

📚 详细文档

配置(MCP 服务器)

要在 MCP 服务器模式下使用该工具,请将其添加到 MCP 客户端的配置文件中。例如,在桌面应用程序或 VS Code 插件中,可以修改如下配置:

⚠️ 重要提示

请将 /path/to/code-scanner-server 替换为项目在您系统中的绝对路径。

示例配置(claude_desktop_config.json 或 cline_mcp_settings.json)

{
  "mcpServers": {
    "code-scanner-server": {
      "command": "node",
      "args": [
        "/absolute/path/to/your/code-scanner-server/build/index.js" // <-- 替换此路径!(例如:C:\\Users\\YourUser\\Projects\\code-scanner-server\\build\\index.js 在 Windows 上)
      ],
      "env": {},
      "disabled": false,
      "autoApprove": [] // 如果需要,可以在此添加自动批准的工具名称
    }
  }
}

💡 使用建议

修改配置文件后,请重新启动 MCP 客户端应用程序以使更改生效。

开发

监视模式

在代码发生变化时自动重建项目:

npm run watch

调试(MCP 模式)

使用 MCP Inspector 工具进行调试,可以提供一个 URL 来连接调试工具(如 Chrome DevTools):

npm run inspector

📄 许可证

本项目采用 GNU General Public License v3.0 协议,具体内容请参阅 LICENSE 文件。

致谢

该项目主要借助 Google 的 Gemini 2.5 Pro 模型通过 Roo Code VS Code 插件完成开发。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端