Configurable Command MCP Server
A flexible MCP server that executes arbitrary command-line tools defined in a configuration file.
Configurable Command MCP Server
A flexible Model Context Protocol (MCP) server that allows you to define and execute arbitrary command-line tools through configuration files. Perfect for giving Claude Desktop access to specific command-line utilities in a secure, controlled manner.
Features
- 🛠️ Configuration-driven: Define tools via JSON without modifying code
- 🔒 Secure execution: Parameter sanitization, directory restrictions, and command allowlisting
- ⚡ Rate limiting: Prevent abuse with configurable execution limits
- 📝 Parameter validation: Type checking, patterns, and required/optional parameters
- 🎯 Directory scoping: Restrict tool execution to specific directories
- ⏱️ Timeout control: Configurable execution timeouts per tool
- 📊 Output management: Size limits and structured result formatting
Setup Instructions
1. Create the project directory and install dependencies
cd /Users/dewoller/code/generic_mcp npm install
2. Build the TypeScript code
npm run build
3. Configure your tools
Edit the tools.json file to define your command-line tools. The file is already configured with useful examples like:
list_files: List directory contentsgrep_search: Search for patterns in filesword_count: Count lines/words/charactersgit_status: Check git repository statusfind_files: Find files by pattern- And more!
4. Configure Claude Desktop
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "command-executor": { "command": "node", "args": ["/Users/dewoller/code/generic_mcp/dist/index.js"], "env": { "CONFIG_PATH": "/Users/dewoller/code/generic_mcp/tools.json" } } } }
5. Restart Claude Desktop
After saving the configuration, restart Claude Desktop to load the MCP server.
Testing the Installation
Run Integration Tests
npm run test:integration
This will test several tools and show you their output.
Manual Testing in Development Mode
Run in development mode (with TypeScript)
npm run dev
Or run the built version
npm start
Usage Examples
Once configured, you can ask Claude to use these tools:
- "List all JavaScript files in my code directory"
- "Search for TODO comments in the project"
- "Show me the git status"
- "Count lines in all Python files"
- "Find all markdown files"
Adding Custom Tools
To add a new tool, edit tools.json:
{ "name": "my_tool", "description": "Description for Claude", "command": "actual-command", "args": ["-flag", "{parameter}"], "parameters
Related Servers
Alertmanager
A Model Context Protocol (MCP) server that enables AI assistants to integrate with Prometheus Alertmanager
Prompts MCP Server
An MCP server for managing and serving prompts from markdown files with YAML frontmatter support.
MCP Analytics with GitHub OAuth
A remote MCP server with GitHub OAuth authentication and built-in analytics tracking.
MCP Remote Machine Control
Provides remote machine control capabilities, eliminating SSH overhead for token-efficient system operations.
promptz.dev
Access and manage prompts from promptz.dev for developers.
Laravel Codebase Introspection
Introspects Laravel codebases to provide structured information about views, routes, classes, and models using the mateffy/laravel-introspect package.
Stata MCP
Run Stata commands and execute .do files directly from VS Code and Cursor, with AI assistant integration.
MCP Tools
A collection of MCP servers for growth and analytics, including a server for Google Analytics.
weibaohui/kom
Provides multi-cluster Kubernetes management and operations using MCP, It can be integrated as an SDK into your own project and includes nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
Linear Regression MCP
Train a Linear Regression model by uploading a CSV dataset file, demonstrating an end-to-end machine learning workflow.