使用说明
MCP Scooter
The Universal Operating System for Model Context Protocol
Why? • Features • How It's Different • Getting Started • Contributing
⚠️ 积极发展通知
MCP Scooter正在积极开发中。API、功能和文档可能会发生变化。我们正在公开构建,欢迎早期采用者和贡献者!
🎯 为什么选择MCP滑板车?
随着人工智能代理变得越来越强大,开发人员面临着日益严重的危机:
我们正在解决的问题
| 问题 | 今天发生了什么 | MCP滑板车解决方案 |
|---|---|---|
| 上下文块 | 连接50个工具会让你的LLM充斥着50个未使用的定义, 使用上下文窗口,性能下降并烧毁代币 | 动态发现 --工具按需加载。你的法学硕士只看到手头任务所需的东西。 |
| 配置混乱 | 工作使用Cursor+个人使用Claude?在个人账户和工作账户(如Postman或Slack)之间切换需要在8个不同的文件中手动交换API密钥和JSON配置 | 一个中心,所有客户 --使用 档案 隔离账户。切换上下文一次,所有工具都会随之切换。 |
| Docker税 | Docker MCP网关需要2-4GB RAM和3-5秒的启动时间。这不是“本地优先” | 原生&轻量级 --<50MB RAM,<10ms工具启动。没有集装箱。 |
| 安全漏洞 | 工作证书与个人工具混杂在一起。没有隔离。没有审计追踪。 | 配置文件隔离 --工作和个人身份永远不会交叉污染。 |
愿景
如果MCP是AI的“USB端口”, MCP滑板车是通用轮毂.
┌─────────────────────────────────────────────────────────────────┐
│ MCP Scooter │
│ (System Tray / Menu Bar) │
├─────────────────────────────────────────────────────────────────┤
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Work Profile │ │Personal Prof.│ │ Side Project │ │
│ │ :6277 │ │ :6278 │ │ :6279 │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────▼───────┐ ┌──────▼───────┐ ┌──────▼───────┐ │
│ │ Cursor │ │ Claude │ │ VS Code │ │
│ │ Zed │ │ Desktop │ │ Gemini CLI │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
✨ 特性
🔍 动态工具发现
不再有硬编码工具定义。滑板车刚刚曝光 4原始工具 对于任何AI客户端,启用 “自动选择” 基于您的问题背景的工具:
scooter_find--按功能搜索工具scooter_activate--为当前会话打开工具服务器scooter_deactivate--关闭工具服务器(或全部关闭all: true)scooter_list_active--列出当前活动的服务器及其工具
为什么只有四个工具? 尽量减少上下文窗口的消耗。每个MCP工具模式可以消耗500-2000个令牌。通过仅公开4个元工具(总共约100个令牌),Scooter在提供无限功能的同时保持了您的上下文精简。
它是如何工作的: 您的LLM可以使用Scooter发现工具→ 它获取可用功能的列表→ 它会自动为您的特定问题选择合适的工具→ 滑板车只装载需要的东西。这避免了加载整个工具集,并保持了上下文窗口的整洁。
您的代理要求提供“数据库工具”→ Scooter发现他们正在使用 scooter_find → 代理通过激活它需要的东西 scooter_activate → 工具模式内联返回→ 代理直接调用工具。
👤 基于配置文件的身份管理
为不同的环境创建隔离环境:
settings:
gateway_api_key: "sk-scooter-..." # Secures connections from your IDE
profiles:
- id: work-corp
remote_auth_mode: oauth2 # For remote MCP proxy
remote_server_url: "https://mcp.company.com"
allow_tools: ["jira-mcp", "postgres-prod"]
env:
AWS_REGION: "us-east-1"
- id: personal
allow_tools: ["spotify-mcp", "notion-mcp"]
工作凭证永远不会泄露到个人会话中。个人工具永远不会扰乱工作环境。
🔌 一键式客户端集成
Scooter自动配置您的AI客户端:
| 客户端 | 状态 |
|---|---|
| 光标 | ✅ 支持 |
| 克劳德桌面 | ✅ 支持 |
| VS代码(MCP扩展) | ✅ 支持 |
| 克劳德代码 | ✅ 支持 |
| Gemini CLI | ✅ 支持 |
| Zed | ✅ 支持 |
| 谷歌反重力🔜 即将推出 |
🔐 设计安全
- 网关API密钥 --使用任何IDE连接所需的密钥保护您的本地集线器
- 本地钥匙链集成 --macOS钥匙链、Windows凭据管理器、Linux秘密服务
- OAuth 2.0/2.1处理程序 --Scooter处理身份验证流,因此您的AI客户端不必
- 循环中的人类 --在执行之前批准敏感操作
⚡ 本地性能
- <50MB闸板 闲置
- <10ms 工具启动
- 没有Docker --纯原生二进制+WASM隔离
- 感觉就像是操作系统的一部分 --Windows上的WinUI 3设计,macOS/Linux上的原生
🆚 这有什么不同
与Docker MCP工具包
| 特性 | Docker MCP | MCP滑板车 |
|---|---|---|
| 建筑 | VM上的Linux容器 | 本机二进制+WASM |
| 内存占用 | 2-4GB | <50MB |
| 启动时间 | 3-5秒 | <10ms |
| 目标用户 | 企业DevOps | 个人开发人员 |
| 个人资料支持 | 仅环境变量 | 一级UI |
| 一键安装 | ❌ | ✅ 8+客户 |
Docker MCP非常适合企业基础设施和服务器部署。 MCP滑板车适用于您的笔记本电脑 --想要即时和原生的人工智能工具的开发人员。
与MetaMCP相比
MetaMCP是聚合MCP服务器的服务器端代理。它非常适合运行集中式基础设施的团队。
MCP Scooter是当地第一家。 它在您的系统托盘中运行,管理您的个人凭据,并为您提供即时工具访问,而无需网络往返。
与手动配置相比
你 可以 手动编辑 ~/.cursor/mcp.json, ~/Library/.../claude_desktop_config.json, .vscode/mcp.json...
或者,您可以单击Scooter中的一个按钮,在几秒钟内配置所有客户端。
🚀 入门指南
📦 下载
🎉 首个Beta版本已经准备就绪!
Windows、macOS和Linux的预构建安装程序现在可在以下网址获得 GitHub发布.下载最新版本,单击一下即可运行MCP Scooter。
🛠️ 从源代码构建(适用于贡献者)
想贡献或破解MCP Scooter吗?以下是如何自己构建它。
注: 从源代码构建旨在用于开发目的。对于常规使用,请等待上述官方发布。
先决条件
构建与运行
# Clone the repository
git clone https://github.com/afaraha8403/MCP-Scooter.git
cd MCP-Scooter
# Install dependencies
make deps
./tasks.ps1 deps
# Build everything
make all
./tasks.ps1 all
# Run in development mode
make dev
./tasks.ps1 dev
构建安装程序
为分发构建特定于平台的安装程序:
# Windows - Build MSI and NSIS installers
./tasks.ps1 build-installer
# macOS/Linux - Build app bundles
make build-installer
Windows命令生成:
- 微星:
desktop/src-tauri/target/release/bundle/msi/MCP Scooter_x.x.x_x64_en-US.msi - NSIS:
desktop/src-tauri/target/release/bundle/nsis/MCP Scooter_x.x.x_x64-setup.exe
验证注册表
# Validate all MCP definitions
make validate
# Strict mode (warnings = errors)
make validate-strict
释放
MCP Scooter使用GitHub Actions进行自动发布。在首次发布之前,您需要为自动更新程序设置签名密钥。
首次设置(需要一次)
自动更新程序需要加密签名来验证更新。运行这些命令一次:
# 1. Generate signing keypair (you'll be prompted for a password)
./tasks.ps1 generate-keys
# 2. Display the public key
./tasks.ps1 show-pubkey
然后:
- 复制公钥并将其粘贴到
desktop/src-tauri/tauri.conf.json在...之下plugins.updater.pubkey - 添加GitHub机密(设置→ 秘密与变量→ 行动):
TAURI_SIGNING_PRIVATE_KEY:内容~/.tauri/mcp-scooter.keyTAURI_SIGNING_PRIVATE_KEY_PASSWORD:您在密钥生成过程中设置的密码
⚠️ 永远不要将私钥提交到存储库!
创建发布
配置签名后,使用以下命令释放:
# Release a stable version (e.g., 1.0.0, 2.1.0)
./tasks.ps1 release 1.0.0 # Windows
make release # macOS/Linux (interactive prompt)
# Release a beta version (e.g., 1.0.0-beta.1, 1.0.0-alpha.2, 1.0.0-rc.1)
./tasks.ps1 release-beta 1.0.0-beta.1 # Windows
make release-beta # macOS/Linux (interactive prompt)
# Just update version without releasing
./tasks.ps1 set-version 1.0.0
这将:
- 更新版本
tauri.conf.json,package.json,以及Cargo.toml - 提交版本升级
- 创建并推送一个git标签
- 触发GitHub Actions构建工作流
- 为Windows、macOS和Linux构建签名安装程序
- 在GitHub上创建发布草稿
看 docs/releasing.md 获取详细的发布文档。
📁 项目结构
MCP Scooter/
├── appdata/
│ ├── clients/ # AI client configurations
│ ├── registry/ # MCP server definitions (organized by source)
│ │ └── official/ # Official MCP definitions (JSON)
│ └── schemas/ # JSON Schema for validation
├── cmd/
│ ├── scooter/ # Main application
│ └── validate-registry/ # Registry validation CLI
├── desktop/ # Tauri + React frontend
│ ├── src/ # React components
│ └── src-tauri/ # Rust/Tauri backend
├── internal/
│ ├── api/ # HTTP/SSE server
│ └── domain/ # Core business logic
│ ├── discovery/ # Tool discovery engine
│ ├── integration/# Client integrations
│ ├── profile/ # Profile management
│ └── registry/ # Registry validation
└── web/ # Public website
🗺️ 路线图
当前状态: 第一阶段(MVP)——Beta版发布
我们正在建立基础。以下是已经完成的工作和下一步的工作:
✅ 完成
||组件|状态|描述|
||-----------|--------|-------------|
|| 注册表架构 | ✅ 完成|MCP服务器定义的JSON模式|
|| 注册表验证 | ✅ 完成|验证注册表项的CLI工具|
|| 配置文件管理 | ✅ 完成|持久创建、更新、删除配置文件|
|| Discovery发动机 | ✅ 完成| scooter_find, scooter_activate, scooter_deactivate, scooter_list_active (4个原始工具)|
|| 代码解释器 | ✅ 已完成|通过goja的V8沙盒(可用,未作为原始工具公开)|
|| MCP网关 | ✅ 完成| SSE服务器处理所有配置文件的JSON-RPC|
|| 客户端集成 | ✅ 完成|光标、克劳德桌面、克劳德代码、VS代码、Gemini CLI、Zed、Codex|
|| Tauri台式机外壳 | ✅ 完成|使用React前端的原生窗口|
|| 钥匙链集成 | ✅ 完成|安全凭据存储(Windows/macOS/Linux)|
|| 桌面用户界面 | ✅ 完成|配置文件管理UI、工具浏览器、设置|
🚧 进行中
||组件|状态|描述| ||-----------|--------|-------------| || OAuth 2.0处理程序 | 🚧 构建|谷歌、GitHub、Slack的自动身份验证流程| || 工具游乐场 | 🚧 构建|手动工具测试界面| || WASM运行时 | 🚧 构建|运行WASM编译的MCP服务器|
📋 第1阶段剩余
- []系统托盘集成(最小化托盘)
- []端口冲突检测
- []人在循环审批UI
- []日志检查器(AI的网络选项卡)
第二阶段:技能与生态系统
| 特性 | 描述 |
|---|---|
| 滑板车商店 | WASM工具社区注册表 |
| 技能库 | 预配置的工具包(“全栈开发”、“数据分析师”) |
| 远程MCP支持 | 使用OAuth 2.1连接到企业MCP网关 |
| 反重力整合 | 谷歌的AI客户端支持 |
第三阶段:企业
| 特性 | 描述 |
|---|---|
| 团队同步 | 通过加密的云配置共享配置文件 |
| 审计日志 | 合规性就绪日志记录 |
| SSO集成 | 企业身份提供者 |
🤝 贡献
我们正在公开建造MCP Scooter,我们很乐意得到您的帮助!
贡献方式
- 🐛 报告错误 --发现有东西坏了吗?打开一个问题。
- 💡 建议功能 --有主意吗?让我们讨论一下。
- 📝 改进文档 --文档总是可以更好。
- 🔧 提交PR --欢迎代码贡献!
- 🎨 添加MCP定义 --帮助扩展注册表。
添加新的MCP定义
- 在中创建JSON文件
appdata/registry/official/{name}.json - 遵循中的架构
appdata/schemas/mcp-registry.schema.json - 跑
make validate验证
注册表中的所有MCP都被考虑在内 官方MCP 并且必须在合并之前进行验证。
- 提交PR!
看 .doc/mcp-registry-specification.md 为了获得完整的规格。
开发设置
该项目使用分层测试策略。您可以使用 制造 (macOS/Linux)或 tasks.ps1 (Windows PowerShell)。
1-2级:单元测试和验证
# Run all tests
make test
./tasks.ps1 test
# Run all unit tests (verbose)
make test-unit
./tasks.ps1 test-unit
# Test specific domains
make test-registry
./tasks.ps1 test-registry
# Generate HTML coverage report
make test-coverage
./tasks.ps1 test-coverage
# Validate registry definitions
make validate
./tasks.ps1 validate
第5级:元MCP生命周期
# Test the Meta-MCP primordial tools and lifecycle
make test-meta-mcp
./tasks.ps1 test-meta-mcp
综合检查
# Quick check before committing
make pre-commit
./tasks.ps1 pre-commit
# Full CI check
make ci
./tasks.ps1 ci
📬 联系我们
- GitHub问题 --对于bug和功能请求
- GitHub讨论 --关于问题和想法
📜 许可证
PolyForm Shield 1.0.0 --请参阅 许可证 了解详情。
太长,读不下去了 您可以自由使用MCP Scooter,用它构建产品,并根据您的需求进行修改。你 不能 未经许可,将其(或分叉)作为竞争产品或托管服务提供。
MCP Scooter — Native. Lightweight. Dynamic.
Crafted with ❤️ by Balacode.io
