Vantage MCP
英语 | 日本语
流程即资源-将流程作为资源进行管理
通过模型上下文协议(MCP)为Claude Code提供强大的流程管理服务器。
✨ 特性
核心功能
- 🚀 流程管理:通过MCP工具控制任何过程的启动、停止和监控
- 📊 实时日志记录:捕获并流式传输stdout/stderr输出
- 🔍 状态监控:跟踪流程状态和指标
- 🎯 灵活过滤:按状态或模式搜索流程
- 💾 持久性:KDL格式的配置管理(
.vantage/processes.kdl) - 🔄 自动启动:自动启动流程
auto_start旗帜
Web仪表板
- 🌐 现代用户界面:使用Vue 3+TypeScript+Tabler的高级SPA
- 📈 实时更新:通过自动刷新监控进程状态
- 🔍 搜索功能:进程搜索和筛选
- 🌙 深色模式:亮/暗主题切换
- 📱 响应式:移动到桌面支持
- 🎯 类型安全:使用TypeScript完成输入
- 📦 面向组件:Vue 3 SFC(单文件组件)架构
MCP集成
- 🔌 符合MCP标准的服务器:完全符合模型上下文协议
- 🤖 克劳德代码就绪:与Claude Code直接集成
- 🛠️ 丰富的工具:提供12+MCP工具
- 📡 Web API:用于外部集成的RESTful API
🚀 安装
使用货物(推荐)
# Install from GitHub repository
cargo install --git https://github.com/chronista-club/vantage-mcp --tag v0.2.0
# Or install latest from main branch
cargo install --git https://github.com/chronista-club/vantage-mcp来源
# Clone the repository
git clone https://github.com/chronista-club/vantage-mcp
cd vantage-mcp
# Release build
cargo build --release
# Binary will be at:
# target/release/vantage配置
Claude代码配置
将服务器添加到您的 .mcp.json 或克劳德代码设置:
{
"mcpServers": {
"vantage": {
"type": "stdio",
"command": "vantage",
"env": {
"RUST_LOG": "info",
"VANTAGE_AUTO_EXPORT_INTERVAL": "300"
}
}
}
}验证连接
在Claude Code中,运行:
/mcp您应该将“vantage”服务器视为“已连接”。
用法
可用工具
基本工具
echo-回显测试消息ping-简单的健康检查get_status-获取服务器状态和正常运行时间
流程管理
create_process-注册新的流程配置start_process-启动注册流程stop_process-优雅地停止正在运行的进程get_process_status-获取详细的流程状态get_process_output-检索进程stdout/stderr日志list_processes-列出所有带有筛选器的托管进程remove_process-从管理中删除流程export_processes-将所有进程导出到YAML文件import_processes-从YAML文件导入进程
例子
管理Web服务器
# Register a web server process
create_process(
id="webserver",
command="python",
args=["-m", "http.server", "8000"],
env={"PYTHONUNBUFFERED": "1"},
cwd="./public"
)
# Start the server
start_process(id="webserver")
# Check the logs
get_process_output(id="webserver", stream="Both", lines=50)
# Stop gracefully
stop_process(id="webserver", grace_period_ms=5000)运行数据库
# Start PostgreSQL
create_process(
id="postgres",
command="postgres",
args=["-D", "/usr/local/var/postgres"],
env={"PGDATA": "/usr/local/var/postgres"}
)
start_process(id="postgres")
# Monitor status
get_process_status(id="postgres")批处理管理
# List all running processes
list_processes(filter={"state": "Running"})
# Find specific processes by pattern
list_processes(filter={"name_pattern": "worker"})
# Stop all workers
for process in list_processes(filter={"name_pattern": "worker"}):
stop_process(id=process["id"])API 参考
进程状态
NotStarted-进程已注册但尚未启动Running-进程当前正在使用PID运行Stopped-进程以退出代码正常终止Failed-进程失败,并显示错误消息
输出流
Stdout-仅标准输出Stderr-仅标准误差Both-stdout和stderr组合
工艺过滤器
state-按进程状态筛选(正在运行/已停止/失败/全部)name_pattern-按ID模式过滤(支持通配符)
📝 持久性
KDL配置文件
Vantage MCP使用 KDL(可爱数据语言) 进程持久化格式。配置文件会自动保存到 .vantage/processes.kdl.
KDL配置示例
// Vantage MCP Process Configuration
meta {
version "1.0.0"
}
// Web server process
process "webserver" {
command "python"
args "-m" "http.server" "8000"
cwd "/path/to/public"
auto_start #false
}
// Background worker
process "worker" {
command "/usr/local/bin/worker"
args "--config" "worker.conf"
cwd "/app"
auto_start #true // Auto-start on server launch
}配置字段
| 字段 | 描述 | 必填 |
|---|---|---|
command | 可执行文件路径 | ✅ |
args | 命令行参数(允许多个) | ❌ |
cwd | 工作目录 | ❌ |
auto_start | 服务器启动时自动启动 | ❌ |
YAML导出/导入
可以以YAML格式导出/导入流程配置以进行备份和迁移:
# Export processes to YAML file
curl http://127.0.0.1:12700/api/export > vantage_export.yaml
# Import processes from YAML file
curl -X POST http://127.0.0.1:12700/api/import \
-H "Content-Type: application/yaml" \
-d @vantage_export.yaml🌐 Web仪表板
启动仪表板
# Start server (Web dashboard automatically enabled on port 12700)
vantagemcp
# Don't open browser automatically
vantagemcp --no-open网络仪表板将在 http://localhost:12700 (如果12700正在使用,则使用另一个端口)
仪表板功能
主屏幕
- 统计卡:显示总进程、运行、停止和错误状态
- 进程列表:所有流程的表视图
- 实时更新:每5秒自动刷新一次
- 搜索:按进程ID或命令搜索
工艺操作
- 启动/停止:一键式过程控制
- 日志查看:显示最新的stdout/stderr日志
- 删除:删除不需要的进程
- 新增:用于创建流程的模态对话框
UI/UX
- 响应式设计:移动友好
- 深色模式:亮/暗主题切换
- 现代设计:Tabler用户界面框架
REST API
| 端点 | 方法 | 描述 |
|---|---|---|
/api/status | GET | 服务器状态 |
/api/dashboard | GET | 仪表板统计数据 |
/api/processes | GET | 列出进程 |
/api/processes | POST | 添加进程 |
/api/processes/:id | GET | 流程详细信息 |
/api/processes/:id | DELETE | 删除过程 |
/api/processes/:id/start | POST | 启动进程 |
/api/processes/:id/stop | POST | 停止进程 |
/api/processes/:id/logs | GET | 获取日志 |
发展
从源头构建
# Debug build
cargo build
# Release build
cargo build --release
# Run tests
cargo test
# Run with debug logging
RUST_LOG=debug cargo run项目结构
vantage-mcp/
├── crates/
│ ├── vantage/ # Main server crate
│ │ ├── src/
│ │ │ ├── lib.rs # Core server implementation
│ │ │ ├── bin/
│ │ │ │ └── vantage_server.rs # Binary entry point
│ │ │ ├── process/ # Process management
│ │ │ │ ├── mod.rs
│ │ │ │ ├── manager.rs
│ │ │ │ ├── buffer.rs
│ │ │ │ └── protocol.rs
│ │ │ ├── web/ # Web server
│ │ │ │ ├── server.rs
│ │ │ │ ├── handlers.rs
│ │ │ │ └── api.rs
│ │ │ ├── messages/ # MCP message types
│ │ │ ├── ci/ # CI/CD monitoring
│ │ │ └── events/ # Event system
│ │ └── tests/
│ └── vantage-persistence/ # Persistence layer
│ ├── src/
│ │ ├── lib.rs # Persistence interface
│ │ ├── kdl/ # KDL format persistence
│ │ ├── persistence/ # In-memory storage implementation
│ │ └── yaml/ # YAML snapshot export/import
│ └── tests/
├── ui/
│ └── web/ # Vue 3 SPA
│ ├── src/
│ │ ├── App.vue # Root component
│ │ ├── main.ts # Entry point
│ │ ├── router/ # Vue Router config
│ │ ├── stores/ # Pinia stores
│ │ ├── components/ # Vue components
│ │ ├── views/ # Page components
│ │ ├── api/ # API client
│ │ ├── types/ # TypeScript types
│ │ └── themes.ts # Theme configuration
│ ├── package.json
│ ├── tsconfig.json
│ └── vite.config.ts
│ ├── dist/ # Production build
├── .vantage/ # Data directory
│ └── processes.kdl # Process config file
└── examples/ # Usage examples贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
该项目在以下任一情况下获得双重许可:
- Apache许可证,版本2.0(特许通行证 或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(许可证-麻省理工学院 或http://opensource.org/licenses/MIT)
由您选择。
🔑 环境变量
|变量|描述|默认值| |----------|-------------|---------|\ | RUST_LOG |日志级别(错误、警告、信息、调试、跟踪)|info| | VANTAGE_DATA_DIR |数据文件目录|~/.vantage/data| | VANTAGE_IMPORT_FILE |启动时要导入的文件|~/.vantage/data/processes.yaml| | VANTAGE_EXPORT_FILE |关机时导出目标|~/.vantage/data/processes.yaml| | VANTAGE_STOP_ON_SHUTDOWN |在有利位置退出时停止进程(真/假)|假(继续)| | VANTAGE_AUTO_EXPORT_INTERVAL |自动导出间隔(秒)|-|
🙏 致谢
- rmcp -Rust MCP SDK
- 万亿 -模板引擎
- UI框架: 视图3 + TypeScript + 维特 + 泰布勒
- 柯迪尔 -配置格式
- 受模型上下文协议规范的启发
- Chronista俱乐部生态系统的一部分
支持
对于问题、疑问或建议:
- 打开一个问题
- 检查 文档
______________________________________________________________________
*Vantage MCP-使克劳德代码的流程管理简单而强大*
