mcpField
C
comment-stripper-mcp

comment-stripper-mcp

本地服务
github.com/yhzion开发工具086 周前更新

关于 comment-stripper-mcp

comment-stripper-mcp 是一个 MCP 服务,可从代码文本、文件和目录中移除注释。它支持多种语言和递归目录处理,并可跟踪处理进度。

主要功能

  1. 01移除文本或文件中的注释
  2. 02支持 12 类语言文件
  3. 03递归处理嵌套目录
  4. 04可选目录进度跟踪
  5. 05配置要处理的文件类型

适用场景

  1. 01移除单个源文件中的注释
  2. 02清理代码目录中的注释

MCP 相关

该 MCP 服务通过符合 MCP 规范的 API,向 MCP 客户端提供注释清理功能。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

comment-stripper-mcp

一款灵活的 MCP 服务,可批量处理代码文件,移除多种编程语言中的注释。目前支持 JavaScript、TypeScript、Vue、CSS/SCSS/LESS、HTML、Python、Java、C#、C++、Ruby 和 PHP 文件,并使用基于正则表达式的模式匹配。

概述

此服务实现了 Model Context Protocol (MCP),用于提供移除代码文件注释的服务。它可接收单个文件、目录(包括子目录)或直接输入的文本,并返回已移除注释的清理后代码。

本项目采用**测试驱动开发(TDD)**方法,确保从一开始就具备高质量代码、更优设计和全面的测试覆盖。每项功能都会先通过测试定义,再进行实现,并遵循 red-green-refactor 循环。

功能

  • 🔄 处理文件、目录或原始文本输入
  • 🌐 支持多种语言(JS、TS、Vue、CSS/SCSS/LESS、HTML、Python、Java、C#、C++、Ruby 和 PHP)
  • 📂 递归处理嵌套目录
  • ⚡ 使用基于正则表达式的模式匹配,高效移除注释
  • 🔌 符合 MCP 规范的 API,便于集成
  • 🛠️ 使用 Node.js 和 TypeScript 构建
  • 📊 全面的日志系统,支持多个日志级别
  • ⚠️ 稳健的错误处理,提供标准化错误响应
  • ⚙️ 通过环境变量灵活配置
  • 🚀 优化性能,支持处理大型文件
  • 🔐 通过 API 身份验证确保访问安全
  • 📈 跟踪大型目录处理进度

开始使用

先决条件
  • Node.js 18+
  • npm 或 yarn
安装
# Clone this repository
git clone https://github.com/yhzion/comment-stripper-mcp.git
cd comment-stripper-mcp

# Install dependencies
npm install
# or
yarn install
运行服务
# Development mode
npm run dev
# or
yarn dev

# Production mode
npm run build
npm start
# or
yarn build
yarn start

默认情况下,服务在端口 3000 上运行。你可以通过环境变量进行配置。

MCP 服务连接问题排查指南

MCP 服务连接 Claude Desktop 时可能会意外退出。以下指南可帮助你解决此问题。

问题表现
  • 服务初始化后立即退出
  • 日志中显示“Server transport closed unexpectedly”消息
  • Claude Desktop 显示无法连接到 MCP 服务的错误消息
解决方法
1. 使用 NVM 设置干净的 Node.js 环境
# NVM 설치 (이미 설치되어 있다면 생략)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 최신 Node.js 설치
nvm install node

# 설치한 버전 활성화
nvm use node
2. 在 Claude Desktop 配置文件中使用绝对路径

在 Claude Desktop 配置文件(claude_desktop_config.json)中使用绝对路径,而不是相对路径:

{
  "mcpServers": {
    "comment-stripper": {
      "command": "/절대/경로/node",
      "args": [
        "/절대/경로/comment-stripper-mcp/build/index.js"
      ]
    }
  }
}

你可以使用 which node 命令查看 Node.js 路径。

3. 提升服务稳定性

服务代码已应用以下稳定性改进:

  • 使用 process.stdin.resume(),避免进程意外退出
  • 实现多重 keep-alive 机制
  • 改进错误处理
  • 添加详细日志
其他问题排查技巧
  • 启用 Claude Desktop 的开发者模式,以访问 MCP 日志文件。
  • 查看服务运行时出现的错误消息。
  • 确认环境变量已正确设置。
  • 确认防火墙或安全软件没有阻止连接。
配置

你可以使用环境变量配置服务。根据提供的 .env.example 文件,在根目录中创建 .env 文件:

# Server configuration
PORT=3000                # Port for the server to listen on
HOST=127.0.0.1           # Host for the server to bind to
NODE_ENV=development     # Environment (development, production, test)

# Logging configuration
LOG_LEVEL=2              # 0=ERROR, 1=WARN, 2=INFO, 3=DEBUG, 4=TRACE
LOG_TO_FILE=false        # Whether to log to a file
LOG_DIR=logs             # Directory for log files

# Performance configuration
CHUNK_SIZE=1048576       # 1MB chunk size for processing large files
MAX_WORKERS=4            # Number of concurrent workers for batch processing
MEMORY_LIMIT=536870912   # 512MB memory limit before using streaming

# Authentication
API_KEY=your-secret-key  # API key for authentication

测试

本项目严格遵循**测试驱动开发(TDD)**原则:

  1. 先编写一个失败的测试(Red 阶段)
  2. 编写通过测试所需的最少代码(Green 阶段)
  3. 重构代码,同时确保测试持续通过

本项目使用 Jest 作为测试框架,并通过 ts-jest 支持 TypeScript。测试分为:

  • 单元测试:测试各个函数和组件
  • 集成测试:测试 API 端点和组件之间的交互
# Run all tests
npm test
# or
yarn test

# Run tests in watch mode
npm run test:watch
# or
yarn test:watch

# Run tests with coverage
npm run test:coverage
# or
yarn test:coverage

API 文档

移除注释端点

端点:/api/strip-comments

方法:POST

说明:移除代码文件或文本中的注释。

请求参数:

  • text(可选):要移除注释的文本。
  • filePath(可选):要移除注释的文件路径。
  • directoryPath(可选):要处理的目录路径。
  • recursive(可选,默认值:true):是否递归处理子目录。
  • fileTypes(可选,默认值:所有受支持的类型):要处理的文件扩展名数组。
  • trackProgress(可选,默认值:false):是否跟踪目录处理进度。

响应:

{
  "success": true,
  "data": {
    "original": "// Original code with comments",
    "stripped": "// Code with comments removed"
  }
}
获取进度端点

端点:/api/get-progress

方法:POST

描述:获取目录处理操作的进度。

请求参数:

  • trackerId:进度跟踪器的 ID。

响应:

{
  "success": true,
  "data": {
    "processed": 10,
    "total": 20,
    "percentage": 50,
    "completed": false
  }
}
身份验证状态端点

端点:/api/auth-status

方法:POST

描述:获取当前的身份验证状态和配置。

响应:

{
  "success": true,
  "data": {
    "authEnabled": true,
    "authenticated": true,
    "message": "Authenticated successfully"
  }
}

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

本项目采用 ISC 许可证授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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