Skip to main content
Glama
realmindsai

Configurable Command MCP Server

by realmindsai

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

Related MCP server: Claude MCP Command Server

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 contents

  • grep_search: Search for patterns in files

  • word_count: Count lines/words/characters

  • git_status: Check git repository status

  • find_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

Available Tools

1 tool
read_docs_by_listB

Read multiple documents (PDF, Word, HTML) using pandoc

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesArray of document paths to read (supports .pdf, .doc, .docx, .html, .htm)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Adds value by disclosing the underlying engine ('using pandoc') and supported formats. However, lacks critical behavioral details: safety properties (destructive vs read-only), return value format, error handling for unsupported files, and performance characteristics (large file handling).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 9 words. Front-loaded with verb. Every word earns its place: identifies operation, scope, supported formats, and implementation mechanism. No redundancy or extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low complexity (single array parameter) and 100% schema coverage with pattern validation, the description adequately covers the tool's purpose and supported formats. No output schema exists; description would benefit from indicating return format, but this is not critical given the tool's narrow scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions of the 'files' array and supported extensions. Description reinforces the file types mentioned in the schema pattern but adds no additional semantic detail about path requirements, array size limits, or how the files are processed beyond 'using pandoc'. Baseline 3 appropriate for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verb ('Read'), resource ('documents'), and supported formats ('PDF, Word, HTML'). Tool name confirms scope ('by_list'). Mentions implementation ('using pandoc') which adds specificity. Deducting 1 point because it doesn't clarify what 'read' means in terms of output (extracted text, raw bytes, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance provided on when to use this tool versus alternatives, prerequisites (e.g., file accessibility), or when-not-to-use. While there are no siblings, the description fails to indicate appropriate contexts (e.g., 'use this to extract text content from documents').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedread_docs_by_list

TDQS

B3.4/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as reading multiple document types using pandoc, making it distinct by default.

Naming Consistency5/5

Since there is only one tool, naming consistency is inherently perfect. The tool name 'read_docs_by_list' follows a clear verb_noun pattern, and there are no other tools to compare it against for inconsistency.

Tool Count2/5

A single tool is too few for a server named 'Configurable Command MCP Server', which suggests a broader scope of configurable commands. This minimal toolset feels thin and underdeveloped for the implied purpose, indicating a significant mismatch.

Completeness1/5

The server's name implies configurability and command execution, but the single tool only covers document reading. There are obvious gaps, such as lacking tools for configuration management, command execution, or other document operations, making the surface severely incomplete for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that allows integration with Claude Desktop by creating and managing custom tools that can be executed through the MCP framework.
    88
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A server implementation for the Model Context Protocol (MCP) that allows Claude AI to execute commands through a command-line interface, enabling direct system interactions from within Claude.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server built with the mcp-framework for developing and managing custom tools. It provides a structured foundation for building and integrating modular components like data processors and API clients into Claude Desktop.
    12
    -
  • A
    license
    A
    quality
    B
    maintenance
    Local MCP server that wraps the headless Claude Code CLI as MCP tools, providing stateless access to Claude's coding capabilities through prompt-based interactions. It enables users to execute Claude Code commands with various prompt formats and structured outputs directly from MCP clients.
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/realmindsai/generic_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server