loading…
Search for a command to run...
loading…
Production-ready MCP server for AI-driven console automation and monitoring. 40 tools for session management, SSH, testing, monitoring, and background jobs. Lik
Production-ready MCP server for AI-driven console automation and monitoring. 40 tools for session management, SSH, testing, monitoring, and background jobs. Like Playwright for terminal applications.
Production-Ready Model Context Protocol (MCP) server that enables AI assistants to fully interact with console applications, monitor output, detect errors, and automate terminal workflows - similar to how Playwright works for web browsers.
This server is fully production-ready with:
git clone https://github.com/ooples/console-automation-mcp.git
cd console-automation-mcp
.\install.ps1 -Target claude # or google, openai, custom, all
git clone https://github.com/ooples/console-automation-mcp.git
cd console-automation-mcp
chmod +x install.sh
./install.sh --target claude # or google, openai, custom, all
git clone https://github.com/ooples/console-automation-mcp.git
cd console-automation-mcp
npm install --production
npm run build
Add to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"console-automation": {
"command": "npx",
"args": ["@mcp/console-automation"],
"env": {
"LOG_LEVEL": "info"
}
}
}
}
# Start the server with new name
console-automation-mcp --log-level info
# Or with backward compatible name
mcp-console --log-level info
# Or with npx
npx console-automation-mcp --log-level info
This MCP server provides 40 comprehensive tools organized into 6 categories:
console_create_session - Create local or SSH console sessionsconsole_send_input - Send text input to sessionsconsole_send_key - Send special keys (Enter, Ctrl+C, etc.)console_get_output - Get filtered/paginated output with advanced searchconsole_get_stream - Stream output from long-running processesconsole_wait_for_output - Wait for specific patternsconsole_stop_session - Stop sessionsconsole_list_sessions - List all active sessionsconsole_cleanup_sessions - Clean up inactive sessionsconsole_execute_command - Execute commands with output captureconsole_detect_errors - Analyze output for errorsconsole_get_resource_usage - Get system resource statsconsole_clear_output - Clear output buffersconsole_get_session_state - Get session execution stateconsole_get_command_history - View command historyconsole_get_system_metrics - Comprehensive system metricsconsole_get_session_metrics - Session-specific metricsconsole_get_alerts - Active monitoring alertsconsole_get_monitoring_dashboard - Real-time dashboard dataconsole_start_monitoring - Start custom monitoringconsole_stop_monitoring - Stop monitoringconsole_save_profile - Save SSH/app connection profilesconsole_list_profiles - List saved profilesconsole_remove_profile - Remove profilesconsole_use_profile - Quick connect with saved profilesconsole_execute_async - Execute commands asynchronouslyconsole_get_job_status - Check job statusconsole_get_job_output - Get job outputconsole_cancel_job - Cancel running jobsconsole_list_jobs - List all background jobsconsole_get_job_progress - Monitor job progressconsole_get_job_result - Get complete job resultsconsole_get_job_metrics - Job execution statisticsconsole_cleanup_jobs - Clean up completed jobsconsole_assert_output - Assert output matches criteriaconsole_assert_exit_code - Assert exit codesconsole_assert_no_errors - Verify no errors occurredconsole_save_snapshot - Save session state snapshotsconsole_compare_snapshots - Compare state differencesconsole_assert_state - Assert session stateconst session = await console_create_session({
command: "npm",
args: ["run", "dev"],
detectErrors: true
});
const session = await console_create_session({
command: "bash",
consoleType: "ssh",
sshOptions: {
host: "example.com",
username: "user",
privateKeyPath: "~/.ssh/id_rsa"
}
});
const session = await console_create_session({
command: "npm",
args: ["test"]
});
await console_assert_output({
sessionId: session.sessionId,
assertionType: "contains",
expected: "All tests passed"
});
const job = await console_execute_async({
sessionId: session.sessionId,
command: "npm run build",
priority: 8
});
const status = await console_get_job_status({
jobId: job.jobId
});
For more examples, see docs/EXAMPLES.md
// Create a session for the dev server
const session = await console_create_session({
command: "npm",
args: ["run", "dev"],
detectErrors: true
});
// Wait for server to start
await console_wait_for_output({
sessionId: session.sessionId,
pattern: "Server running on",
timeout: 10000
});
// Monitor for errors
const errors = await console_detect_errors({
sessionId: session.sessionId
});
// Start a Python debugging session
const session = await console_create_session({
command: "python",
args: ["-m", "pdb", "script.py"]
});
// Set a breakpoint
await console_send_input({
sessionId: session.sessionId,
input: "b main\n"
});
// Continue execution
await console_send_input({
sessionId: session.sessionId,
input: "c\n"
});
// Step through code
await console_send_key({
sessionId: session.sessionId,
key: "n"
});
// Run tests
const result = await console_execute_command({
command: "pytest",
args: ["tests/"],
timeout: 30000
});
// Check for test failures
const errors = await console_detect_errors({
text: result.output
});
if (errors.hasErrors) {
console.log("Test failures detected:", errors);
}
// Start an interactive CLI tool
const session = await console_create_session({
command: "mysql",
args: ["-u", "root", "-p"]
});
// Enter password
await console_wait_for_output({
sessionId: session.sessionId,
pattern: "Enter password:"
});
await console_send_input({
sessionId: session.sessionId,
input: "mypassword\n"
});
// Run SQL commands
await console_send_input({
sessionId: session.sessionId,
input: "SHOW DATABASES;\n"
});
The server includes built-in patterns for detecting common error types:
npm install
npm run build
npm run dev
npm test
npm run typecheck
npm run lint
The server is built with:
Run the included test suite to verify functionality:
node test-functionality.js
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)MIT License - see LICENSE file for details
For issues, questions, or suggestions, please open an issue on GitHub: https://github.com/ooples/console-automation-mcp/issues
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"ooples-mcp-console-automation": {
"command": "npx",
"args": []
}
}
}Browser automation, scraping, screenshots
Browser automation and web scraping.
Plugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a
1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan