返回市场
克劳德工具mcp

克劳德工具mcp

作者:brwse11 星标更新:2025-10-31

项目介绍

Claude Tools MCP Server

一个暴露Claude Code文件和shell操作工具的MCP(模型上下文协议)服务器,通过HTTP允许任何MCP客户端远程使用这些工具。

功能

此服务器提供以下工具:

  • bash: 执行支持超时和后台执行的shell命令
  • bash_output: 获取来自后台shell进程的输出
  • kill_shell: 终止后台shell进程
  • read: 支持行偏移/限制的文件读取
  • write: 将文件写入磁盘
  • edit: 在文件中进行精确字符串替换
  • glob: 使用glob模式查找文件
  • grep: 使用ripgrep搜索文件内容(支持正则表达式,多种输出模式)

安装

从源码安装

go build -o claude-tools-mcp ./cmd/claude-tools-mcp

使用Docker

docker build -t claude-tools-mcp .
docker run -p 8080:8080 claude-tools-mcp

Docker构建优化

Docker镜像使用了一个预构建的运行时基础镜像(Dockerfile.runtime),其中包含了所有的开发工具和依赖项。每当Dockerfile.runtime或工作流文件发生变化时,这个运行时镜像会自动构建并发布到GitHub容器注册表(GHCR)。

优点:

  • 极大的加快了构建速度(仅编译Go二进制文件,不安装所有工具)
  • 部署之间具有一致的运行时环境

本地构建运行时镜像:

# 构建运行时基础镜像
docker build -f Dockerfile.runtime -t claude-tools-runtime .

# 使用本地运行时构建主镜像
docker build -t claude-tools-mcp .

发布的运行时镜像可以在以下地址找到:ghcr.io/brwse/claude-tools-mcp-runtime:latest

使用

启动服务器

# 默认(localhost:8080)
./claude-tools-mcp

# 自定义地址
./claude-tools-mcp --addr localhost:9000

使用Docker

# 默认端口(8080)
docker run -p  8080:8080 claude-tools-mcp

# 自定义端口
docker run -e PORT=9000 -p 9000:9000 claude-tools-mcp

配置

服务器以无状态模式运行,允许每个HTTP请求独立处理。这使得水平扩展和部署更加简单。

安全特性

  • 超时保护:防止Slowloris攻击,使用ReadHeaderTimeout和IdleTimeout
  • 优雅关闭:响应SIGINT/SIGTERM信号,允许正在进行的请求完成
  • 路径验证:拒绝相对路径以防止目录遍历
  • 文件大小限制:最大文件大小10MB,约100k令牌的最大输出
  • 结果限制:grep/glob结果最多1000行

架构

服务器使用MCP Go SDK通过HTTP暴露工具。除了以下情况外,所有工具都是无状态的:

  • 文件修改跟踪:检测外部编辑文件的情况
  • 后台shell管理:跟踪长时间运行的bash进程

详情参见CLAUDE.md中的架构文档。

开发

运行测试

# 所有测试
go test ./...

# 特定包
go test ./internal/tools

# 特定测试
go test -run TestFunctionName ./internal/tools

依赖项

许可证

作为brwse第三方工具集的一部分。 </中文翻译>