About Vantage MCP
Vantage MCP is an MCP server published by chronista-club in the AI category: headless MCP server (Rust) giving an agent macOS desktop read access: window enumeration, accessibility text, region OCR, clipboard.
The repository has 2 stars and 0 forks, with the last commit 5 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/chronista-club/vantage-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (12)
create_processRegister a new process configuration
Parameters not published.
echoEcho back messages for testing
Parameters not published.
export_processesExport all processes to a YAML file
Parameters not published.
get_process_outputRetrieve process stdout/stderr logs
Parameters not published.
get_process_statusGet detailed process status
Parameters not published.
get_statusGet server status and uptime
Parameters not published.
import_processesImport processes from a YAML file
Parameters not published.
list_processesList all managed processes with filters
Parameters not published.
pingSimple health check
Parameters not published.
remove_processRemove a process from management
Parameters not published.
start_processStart a registered process
Parameters not published.
stop_processStop a running process gracefully
Parameters not published.
Ask AI
Ask AI about Vantage MCP
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
Vantage MCP
English | 日本語
Process as a Resource - Manage processes as resources
A powerful process management server for Claude Code via the Model Context Protocol (MCP).
✨ Features
Core Features
- 🚀 Process Management: Control start, stop, and monitoring of any process via MCP tools
- 📊 Real-time Logging: Capture and stream stdout/stderr outputs
- 🔍 Status Monitoring: Track process states and metrics
- 🎯 Flexible Filtering: Search processes by state or pattern
- 💾 Persistence: Configuration management in KDL format (
.vantage/processes.kdl) - 🔄 Auto-start: Automatic process startup with
auto_startflag
Web Dashboard
- 🌐 Modern UI: Sophisticated SPA with Vue 3 + TypeScript + Tabler
- 📈 Real-time Updates: Monitor process states with auto-refresh
- 🔍 Search Features: Process search and filtering
- 🌙 Dark Mode: Light/dark theme switching
- 📱 Responsive: Mobile to desktop support
- 🎯 Type Safety: Complete typing with TypeScript
- 📦 Component-Oriented: Vue 3 SFC (Single File Component) architecture
MCP Integration
- 🔌 MCP Compliant Server: Fully compliant with Model Context Protocol
- 🤖 Claude Code Ready: Direct integration with Claude Code
- 🛠️ Rich Tools: 12+ MCP tools provided
- 📡 Web API: RESTful API for external integration
🚀 Installation
Using Cargo (Recommended)
# 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
From Source
# 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
Configuration
Claude Code Configuration
Add the server to your .mcp.json or Claude Code settings:
{
"mcpServers": {
"vantage": {
"type": "stdio",
"command": "vantage",
"env": {
"RUST_LOG": "info",
"VANTAGE_AUTO_EXPORT_INTERVAL": "300"
}
}
}
}
Verify Connection
In Claude Code, run:
/mcp
You should see "vantage" server as "connected".
Usage
Available Tools
Basic Tools
echo- Echo back messages for testingping- Simple health checkget_status- Get server status and uptime
Process Management
create_process- Register a new process configurationstart_process- Start a registered processstop_process- Stop a running process gracefullyget_process_status- Get detailed process statusget_process_output- Retrieve process stdout/stderr logslist_processes- List all managed processes with filtersremove_process- Remove a process from managementexport_processes- Export all processes to a YAML fileimport_processes- Import processes from a YAML file
Examples
Managing a Web Server
# 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)
Running a Database
# 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")
Batch Process Management
# 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 Reference
Process States
NotStarted- Process registered but not yet startedRunning- Process is currently running with PIDStopped- Process terminated normally with exit codeFailed- Process failed with error message
Output Streams
Stdout- Standard output onlyStderr- Standard error onlyBoth- Combined stdout and stderr
Process Filters
state- Filter by process state (Running/Stopped/Failed/All)name_pattern- Filter by ID pattern (supports wildcards)
📝 Persistence
KDL Configuration Files
Vantage MCP uses KDL (Cuddly Data Language) format for process persistence. Configuration files are automatically saved to .vantage/processes.kdl.
Example KDL Configuration
// 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
}
Configuration Fields
| Field | Description | Required |
|---|---|---|
command |
Path to executable | ✅ |
args |
Command line arguments (multiple allowed) | ❌ |
cwd |
Working directory | ❌ |
auto_start |
Auto-start on server launch | ❌ |
YAML Export/Import
Process configurations can be exported/imported in YAML format for backup and migration:
# 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 Dashboard
Starting the Dashboard
# Start server (Web dashboard automatically enabled on port 12700)
vantagemcp
# Don't open browser automatically
vantagemcp --no-open
The web dashboard will be available at http://localhost:12700 (or another port if 12700 is in use)
Dashboard Features
Main Screen
- Stats Cards: Display total processes, running, stopped, and error states
- Process List: Table view of all processes
- Real-time Updates: Auto-refresh every 5 seconds
- Search: Search by process ID or command
Process Operations
- Start/Stop: One-click process control
- Log Viewing: Display latest stdout/stderr logs
- Delete: Remove unwanted processes
- Add New: Modal dialog for process creation
UI/UX
- Responsive Design: Mobile-friendly
- Dark Mode: Light/dark theme switching
- Modern Design: Tabler UI framework
REST API
| Endpoint | Method | Description |
|---|---|---|
/api/status |
GET | Server status |
/api/dashboard |
GET | Dashboard stats |
/api/processes |
GET | List processes |
/api/processes |
POST | Add process |
/api/processes/:id |
GET | Process details |
/api/processes/:id |
DELETE | Delete process |
/api/processes/:id/start |
POST | Start process |
/api/processes/:id/stop |
POST | Stop process |
/api/processes/:id/logs |
GET | Get logs |
Development
Building from Source
# Debug build
cargo build
# Release build
cargo build --release
# Run tests
cargo test
# Run with debug logging
RUST_LOG=debug cargo run
Project Structure
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
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is dual-licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
🔑 Environment Variables
| Variable | Description | Default |
|---|---|---|
RUST_LOG |
Log level (error, warn, info, debug, trace) | info |
VANTAGE_DATA_DIR |
Directory for data files | ~/.vantage/data |
VANTAGE_IMPORT_FILE |
File to import on startup | ~/.vantage/data/processes.yaml |
VANTAGE_EXPORT_FILE |
Export destination on shutdown | ~/.vantage/data/processes.yaml |
VANTAGE_STOP_ON_SHUTDOWN |
Stop processes on vantage exit (true/false) | false (continue) |
VANTAGE_AUTO_EXPORT_INTERVAL |
Auto-export interval in seconds | - |
🙏 Acknowledgments
- rmcp - Rust MCP SDK
- Tera - Template engine
- UI framework: Vue 3 + TypeScript + Vite + Tabler
- KDL - Configuration format
- Inspired by the Model Context Protocol specification
- Part of the Chronista Club ecosystem
Support
For issues, questions, or suggestions:
- Open an issue on GitHub
- Check the documentation
Vantage MCP - Making process management simple and powerful for Claude Code
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.