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 -31663Apache 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 -5MIT 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 -23