Bazel构建加速服务器

Nativelink MCP服务器是一个高性能的云构建缓存和远程执行系统,专为加速Bazel构建而设计,提供智能配置生成和性能分析功能。

  • by TraceMachina
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 TraceMachina/nativelink-mcp-server

使用说明

Nativelink MCP服务器

MCP(模型上下文协议)服务器 Nativelink云 -高性能云构建缓存和远程执行系统,加速Bazel构建。注册地址: App.nativelink.com 以获得您的个性化配置。

特性

  • 🚀 生成优化的Bazel配置 使用Nativelink Cloud端点
  • 📚 访问Nativelink Cloud设置和迁移指南 直接在您的AI助手中
  • 📊 分析构建性能 基于人工智能的推荐
  • 🔄 设置自动构建和测试 带有文件监视器和Nativelink缓存
  • 🏗️ 生成部署配置 对于自托管的Nativelink实例
  • 🔐 与app.nativelink.com集成 用于个性化配置
  • 💡 智能推荐 根据您项目的具体需求

安装

快速安装(光标)

光标规则

或者手动添加到游标配置中(~/.cursor/mcp.json):

{
  "mcpServers": {
    "nativelink": {
      "command": "npx",
      "args": ["-y", "@nativelink/mcp-server", "--api-key", "YOUR_API_KEY"]
    }
  }
}

克劳德代码

claude mcp add nativelink -- npx -y @nativelink/mcp-server --api-key YOUR_API_KEY

VS代码

添加到您的 VS代码MCP设置:

{
  "servers": {
    "nativelink": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@nativelink/mcp-server", "--api-key", "YOUR_API_KEY"]
    }
  }
}

本地开发(光标+VS代码)

如果要从本地签出运行MCP服务器:

npm install
npm run build

然后将MCP配置指向构建的入口点:

{
  "command": "node",
  "args": ["/ABS/PATH/TO/nativelink-mcp-server/dist/index.js"]
}

Nativelink Cloud入门

1.注册地址: App.nativelink.com

  • 创建您的免费账户
  • 即时访问云构建缓存和远程执行

2.获得个性化配置

注册后,您将收到个性化的 .bazelrc 配置:

build --remote_cache=grpcs://cas-tracemachina-shared.build-faster.nativelink.net
build --remote_header=x-nativelink-api-key=YOUR_API_KEY
build --bes_backend=grpcs://bes-tracemachina-shared.build-faster.nativelink.net
build --bes_header=x-nativelink-api-key=YOUR_BES_API_KEY
build --bes_results_url=https://app.nativelink.com/a/YOUR_BUILD_ID/build
build --remote_executor=grpcs://scheduler-tracemachina-shared.build-faster.nativelink.net:443

3.添加到您的项目

将配置附加到您的 .bazelrc 归档并开始构建!

AI提供者密钥(可选)

对于增强的AI功能:

用法

只需添加 use nativelink 根据您的提示:

Set up Nativelink remote cache for my Rust project. use nativelink
Debug why my Bazel builds are slow. use nativelink
Set up automatic builds and tests after file changes. use nativelink

可用工具

1. get-bazel-config

为您的项目生成优化的Bazel配置。

参数:

  • projectType (必填):rust、cpp、java、python、go或混合
  • nativelinkUrl (可选):自定义Nativelink服务器URL
  • features (可选):要启用的功能数组

例子:

Generate a Bazel config for my Rust project with remote cache and execution. use nativelink

2. get-nativelink-docs

获取相关的Nativelink文档。

参数:

  • topic (必填):设置、迁移、优化、故障排除或api
  • context (可选):查询的其他上下文
  • maxTokens (可选):最大响应长度

例子:

How do I migrate from local builds to Nativelink cloud? use nativelink

3. analyze-build-performance

分析构建指标并提供优化建议。

参数:

  • profileData (可选):Bazel配置文件JSON
  • metrics (可选):构建性能指标
  • targetOptimization (可选):速度、成本或平衡

例子:

My cache hit rate is 40%. How can I improve it? use nativelink

4. generate-deployment-config

为各种平台生成部署配置。

参数:

  • platform (必填):kubernetes、docker、aws、GCC或azure
  • scale (必填):小型、中型、大型或企业
  • features (可选):监控、自动缩放、高可用性

例子:

Generate a Kubernetes deployment for Nativelink with autoscaling. use nativelink

5. setup-watch-and-build

使用Nativelink Cloud缓存设置自动Bazel构建和测试文件更改。

参数:

  • command (可选):构建、测试或两者都有(默认:两者都有)
  • targets (可选):Bazel要构建/测试的目标(默认值://…)
  • useIbazel (可选):使用iBazel进行智能观看(推荐)
  • watchPaths (可选):要查看的路径/模式
  • excludePaths (可选):要排除的路径/模式
  • debounceMs (可选):重建前的延迟(默认值:1000ms)

例子:

Set up automatic builds and tests when files change. use nativelink

它提供了什么:

  • iBazel(智能Bazel观察器)配置
  • watchexec、entr、nodemon的设置说明
  • 自定义监视脚本
  • VS代码任务配置
  • 与Nativelink Cloud集成,实现即时缓存命中

配置

环境变量

export NATIVELINK_API_KEY=your_api_key
export ANTHROPIC_API_KEY=your_anthropic_key  # Optional
export GEMINI_API_KEY=your_gemini_key        # Optional
export NATIVELINK_URL=https://custom.url     # Optional

命令行参数

npx @nativelink/mcp-server \
  --api-key YOUR_API_KEY \
  --anthropic-key YOUR_ANTHROPIC_KEY \
  --transport http \
  --port 8080

专业提示

添加规则

避免打字 use nativelink 每次,将此规则添加到您的AI助手中:

光标:添加到 Settings > Rules 克劳德代码:添加到 CLAUDE.md

Always use nativelink when I ask about:
- Bazel configuration or optimization
- Build cache setup
- Remote execution
- Build performance issues

项目特定配置

创建 .bazelrc.nativelink 在您的项目中:

# Generated by Nativelink MCP
build --remote_cache=grpc://cache.nativelink.com:443
build --remote_cache_header=x-nativelink-api-key=YOUR_KEY
build --remote_download_minimal
build --experimental_remote_cache_compression

然后导入您的main .bazelrc:

try-import .bazelrc.nativelink

发展

从源头构建

git clone https://github.com/nativelink/mcp-server-nativelink.git
cd mcp-server-nativelink
npm install
npm run build

本地运行

# Stdio transport (for testing)
npm run dev

# HTTP transport
npm run dev -- --transport http --port 3000

MCP检验员测试

npx @modelcontextprotocol/inspector npx @nativelink/mcp-server

故障排除

身份验证错误

  • 验证API密钥设置是否正确
  • 检查网络连接
  • 确保防火墙允许出站HTTPS

工具不工作

  • 更新到最新版本: npm update @nativelink/mcp-server
  • 检查日志 DEBUG=true 环境变量
  • 验证MCP客户端配置

性能问题

  • 使用 --remote_download_minimal 用于大型工件
  • 通过以下方式启用压缩 --experimental_remote_cache_compression
  • 检查缓存服务器的网络延迟

支持

许可证

FSL-1.1-Apache-2.0-功能源代码许可证v1.1和Apache 2.0未来许可证。

此软件根据功能源代码许可证(FSL)v1.1获得许可,每次发布后两年将自动转换为Apache 2.0许可证。看 许可证 文件以获取完整详细信息。

要点:

  • ✅ 免费供内部使用、教育和研究
  • ✅ 免费为软件用户提供专业服务
  • ⚠️ 不能用于创建竞争的MCP服务器或服务
  • 🔄 2年后转换为Apache 2.0

贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

致谢

灵感来自优秀 Context7 MCP服务器 建筑。