Provides access to Git version control commands, allowing for repository operations like commits, branches, and status checks directly from the local system.
Enables interaction with the Node.js package manager, allowing for package installation, updates, and dependency management.
Provides access to Python interpreter commands, enabling script execution and environment management.
Supports YAML-based configuration for the server, allowing structured definition of commands, security policies, and execution parameters.
Simple MCP Runner
A production-ready Model Context Protocol (MCP) server that provides Language Learning Models (LLMs) with a safe interface to discover and execute system commands on the local machine.
Features
- Command Discovery: Pattern-based discovery of available system commands
- Safe Execution: Configurable security policies, timeouts, and resource limits
- Structured Configuration: YAML-based configuration with validation
- Production Logging: Structured logging with multiple output formats
- Graceful Shutdown: Proper signal handling and cleanup
- Comprehensive Testing: Unit and integration tests for critical functionality
- Clean Architecture: Modular design with separation of concerns
Installation
From Source
Building Locally
Quick Start
- Run with default configuration:
- Run with custom configuration:
- Run with debug logging:
Configuration
Create a config.yaml
file to customize the server behavior:
Usage
CLI Commands
Run the MCP Server
Validate Configuration
Show Version
MCP Tools
The server exposes the following tools via the Model Context Protocol:
1. Command Discovery
- Name:
discover_commands
- Description: Discover available system commands
- Parameters:
pattern
(optional): Filter pattern (e.g., "git*", "npm")max_results
(optional): Limit number of resultsinclude_desc
(optional): Include command descriptions
2. Command Execution
- Name:
execute_command
- Description: Execute a system command
- Parameters:
command
(required): Command to executeargs
(optional): Command argumentsworkdir
(optional): Working directorytimeout
(optional): Execution timeout
3. Configured Commands
Custom commands defined in the configuration file are exposed as individual tools.
Security Considerations
This tool is designed for local development use only. Security features include:
- Command Blocking: Dangerous commands are blocked by default
- Shell Expansion Protection: Prevents shell injection attacks
- Path Restrictions: Limit execution to specific directories
- Resource Limits: Prevent resource exhaustion
- Timeout Protection: Commands have configurable timeouts
- Output Limits: Prevent memory exhaustion from large outputs
Architecture
The project follows clean architecture principles:
Development
Running Tests
Building with Version Info
Code Quality
The codebase follows Go best practices:
- Comprehensive error handling with context
- Structured logging for debugging
- Proper resource cleanup and timeouts
- Thread-safe operations
- Extensive test coverage
Contributing
Contributions are welcome! Please ensure:
- Code follows Go conventions
- Tests are included for new functionality
- Documentation is updated as needed
- Security implications are considered
License
Acknowledgments
Built using:
- Cobra for CLI
- Model Context Protocol SDK for MCP support
- Go standard library for robust system interaction
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Simple MCP Runner makes it effortless to safely expose system commands to language models via a lightweight MCP server—all configurable with a clean, minimal YAML file and zero boilerplate.
Related MCP Servers
- AsecurityAlicenseAqualityA beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.Last updated -367661JavaScriptApache 2.0
- -securityAlicense-qualityA server for the Machine Chat Protocol (MCP) that provides a YAML-based configuration system for LLM applications, allowing users to define resources, tools, and prompts without writing code.Last updated -5PythonMIT License
- AsecurityAlicenseAqualitySimple MCP Server to enable a human-in-the-loop workflow in tools like Cline and Cursor. This is especially useful for developing desktop applications that require complex user interactions to test.Last updated -143PythonMIT License
- -securityFlicense-qualityA minimal Python package for easily setting up and running MCP servers and clients, allowing functions to be automatically exposed as tools that LLMs can use with just 2 lines of code.Last updated -23Python