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秒的启动时间。这不是“本地优先” | 原生&轻量级 --\ 🎉 首个Beta版本已经准备就绪!\ |
Windows、macOS和Linux的预构建安装程序现在可在以下网址获得 . 下载最新版本,单击一下即可运行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-installerWindows命令生成:
- 微星:
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.key - TAURI_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
