Skip to main content
Glama

ProTools MCP Server

可扩展的 MCP 工具盒,封装日常开发脚本。支持代码合并、AI 代码审查等功能。

功能特性

  • 代码合并:将多个源文件合并为单一上下文,支持压缩模式

  • AI 代码审查:支持 OpenAI GPT-5.2 和 Google Gemini 3 Flash 双模型并发审查

  • 文档生成:从代码/配置变更中提取隐含规范,生成技术规范、设计决策、变更日志

  • 异步任务:长时间任务支持异步执行和轮询查询

  • 智能默认:未指定审查目标时自动检测 Git 变更

Related MCP server: code-lens

工具列表

protools_merge_files

合并多个源代码文件,供对话模型作为上下文使用。

参数

类型

默认值

说明

inputs

string[]

必填

文件/目录/glob 路径列表

mode

full | compact | skeleton

compact

压缩模式

extensions

string[]

-

过滤扩展名,如 [".ts", ".js"]

excludes

string[]

-

排除的 glob 模式

group

boolean

false

按输入路径分组输出

output

inline | file

inline

输出方式

output_dir

string

output/

输出目录

max_bytes

number

-

超过此字节数强制落盘

压缩模式:

  • full:保留全部内容

  • compact:移除注释和 import

  • skeleton:仅保留签名

protools_code_review

使用 AI 对代码进行同步审查。

参数

类型

默认值

说明

cwd

string

-

工作目录(多仓库工作区时指定项目路径)

inputs

string[]

-

文件/目录/glob 路径(与 git_mode 二选一)

git_mode

staged | unstaged | all

-

Git diff 模式(未指定 inputs 时自动启用)

include_full_files

boolean

true

Git 模式下是否包含完整文件内容

include_project_context

boolean

true

是否包含项目上下文

focus

security | performance | quality | maintainability | all

all

审查关注领域

provider

openai | gemini

-

指定单个 Provider

mode

full | compact | skeleton

compact

代码压缩模式

context

string

-

附加审查说明

output

inline | file

inline

输出方式

protools_code_review_start

启动异步代码审查任务,返回任务 ID。

参数

类型

默认值

说明

继承 protools_code_review 全部参数

providers

string[]

-

并发使用的 Provider 列表

wait_first_result_ms

number

0

等待首个结果的超时时间(毫秒)

提示:未指定 inputs 和 git_mode 时,会自动检测 Git 变更并使用 all 模式。

protools_code_review_status

查询异步代码审查任务状态。

参数

类型

说明

task_id

string

任务 ID

protools_document_suggest

从代码/配置变更中提取隐含规范,生成结构化文档。

参数

类型

默认值

说明

cwd

string

-

工作目录

inputs

string[]

-

文件/目录/glob 路径(与 git_mode 二选一)

git_mode

staged | unstaged | all

-

Git diff 模式

doc_type

spec | decision | changelog | auto

auto

文档类型

format

markdown | feishu

feishu

输出格式

language

zh | en

zh

输出语言

context

string

-

附加背景说明

provider

openai | gemini

gemini

LLM Provider

extensions

string[]

-

过滤扩展名

excludes

string[]

-

排除的 glob 模式

文档类型:

  • spec:技术规范(配置格式、字段定义、约束规则)

  • decision:设计决策(技术选型、架构权衡)

  • changelog:变更日志(按类别分组的变更记录)

  • auto:自动推断最合适的类型

输出格式:

  • feishu(默认):针对飞书优化,避免 HTML,标题不超 3 级

  • markdown:标准 Markdown

环境变量配置

# OpenAI 配置
OPENAI_API_KEY=sk-xxx           # OpenAI API Key
OPENAI_BASE_URL=                # 可选,自定义 API 地址
OPENAI_REASONING_EFFORT=medium  # 推理级别:none | low | medium | high | xhigh

# Gemini 配置
GEMINI_API_KEY=xxx              # Google AI API Key
GEMINI_THINKING_LEVEL=HIGH      # 思考级别:NONE | LOW | MEDIUM | HIGH

# Provider 配置
LLM_PROVIDER=openai,gemini      # 默认使用的 Provider(逗号分隔)
CONCURRENT_REVIEW=true          # 是否启用并发审查
ASK_USER_FEEDBACK=false         # 是否询问用户反馈

MCP 配置示例

Claude Desktop / Cursor

{
  "mcpServers": {
    "protools": {
      "command": "node",
      "args": ["/path/to/ProTools/dist/index.js"],
      "env": {
        "OPENAI_API_KEY": "sk-xxx",
        "OPENAI_REASONING_EFFORT": "medium",
        "GEMINI_API_KEY": "xxx",
        "LLM_PROVIDER": "openai,gemini",
        "CONCURRENT_REVIEW": "true",
        "GEMINI_THINKING_LEVEL": "HIGH"
      }
    }
  }
}

开发模式(使用 tsx)

{
  "mcpServers": {
    "protools": {
      "command": "npx",
      "args": ["tsx", "/path/to/ProTools/src/index.ts"],
      "env": {
        "OPENAI_API_KEY": "sk-xxx",
        "OPENAI_REASONING_EFFORT": "medium",
        "GEMINI_API_KEY": "xxx",
        "LLM_PROVIDER": "openai,gemini",
        "CONCURRENT_REVIEW": "true"
      }
    }
  }
}

开发

# 安装依赖
npm install

# 开发运行
npm run dev

# 编译
npm run build

# 类型检查
npx tsc --noEmit

项目结构

src/
├── index.ts                 # MCP Server 入口
├── core/
│   ├── io.ts               # 文件 IO 工具
│   ├── merge.ts            # 代码合并逻辑
│   ├── git.ts              # Git 操作
│   ├── project-context.ts  # 项目上下文收集
│   └── llm/                # LLM Provider
│       ├── index.ts
│       ├── base-provider.ts
│       ├── openai-provider.ts
│       └── gemini-provider.ts
├── tools/
│   ├── merge-files.ts      # 合并文件工具
│   ├── code-review.ts      # 代码审查工具
│   ├── document-suggest.ts # 文档生成工具
│   └── review/             # 审查子模块
│       ├── task-store.ts   # 任务存储
│       ├── report-generator.ts
│       └── result-processor.ts
├── prompts/
│   ├── review-prompt.ts    # 审查 Prompt 构建器
│   ├── document-prompt.ts  # 文档 Prompt 构建器
│   └── templates/          # Prompt 模板
│       ├── review.ts
│       └── document.ts
└── types/
    ├── merge.ts
    ├── review.ts
    └── document.ts

License

MIT

Available Tools

5 tools
protools_code_reviewB

使用 AI 对代码进行审查,支持安全性、性能、质量和可维护性分析。支持 OpenAI GPT-5.2 和 Google Gemini 3 Flash。

Inputs: cwd, mode, focus, inputs, +9 more.

protools_code_review_startA

启动异步代码审查任务,返回任务 ID 并支持查询进度或获取部分结果。

重要:审查结果需要批判性分析

  • 不是所有报告的问题都需要修复,需根据项目实际情况判断

  • 区分真正的问题 vs 过度工程化建议(如"建议添加更多配置")

  • INFO 级别通常可忽略,MINOR 需权衡成本,MAJOR/CRITICAL 才是重点

  • 如果多个模型报告相同问题,可信度更高

高效等待(避免轮询)

  • 设置较大的 wait_first_result_ms(如 60000)一次性等待首个结果

  • 或在查询 status 前用 Bash sleep 间隔等待(如 sleep 15)

  • 不要疯狂轮询 status,每次调用都消耗 token

Inputs: cwd, mode, focus, inputs, +11 more.

protools_code_review_statusA

查询异步代码审查任务状态,可获取部分或最终结果。

注意:审查结果需批判性分析,详见 protools_code_review_start 的说明。

Inputs: task_id (required).

protools_document_suggestA

从代码/配置变更中提取隐含规范,生成结构化文档。

文档类型

  • spec: 技术规范(配置格式、字段定义、约束规则)

  • decision: 设计决策(为什么这么做、权衡考量)

  • changelog: 变更日志(按类别分组的变更记录)

  • auto: 自动推断最合适的类型

输出格式

  • markdown: 标准 Markdown

  • feishu: 飞书优化格式(默认,避免 HTML、标题不超 3 级)

使用示例

  • 从 Git 变更生成技术规范:git_mode="staged", doc_type="spec"

  • 从文件生成设计决策:inputs=["src/**/*.yml"], doc_type="decision"

Inputs: cwd, format, inputs, context, +6 more.

protools_merge_filesA

合并多个源代码文件,供对话模型作为上下文使用。支持压缩模式(full/compact/skeleton)、扩展名过滤、排除规则、分组输出。

Inputs: inputs (required), mode, group, output, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a distinct purpose: synchronous code review, async code review initiation, status query, document generation, and file merging. No overlapping functionality, and descriptions clearly differentiate them.

    Naming Consistency3/5

    All tools share a common prefix 'protools_', but the verb/noun order varies: 'code_review' (noun), 'code_review_start' (noun+verb), 'document_suggest' (noun+verb), 'merge_files' (verb+noun). This mixed pattern reduces predictability.

    Tool Count5/5

    Five tools is a well-scoped set for a server focused on code review and documentation. No unnecessary redundancy or excessive operations.

    Completeness4/5

    The tool set covers core workflows: sync/async review, status tracking, documentation generation, and file merging. Missing features like review list or cancellation are minor and don't hinder common use cases.

    Related MCP Connectors

    Related MCP Servers