Labsco
MCP SERVER

Configurable Command MCP Server

by dewoller

Expose specific command-line tools to your assistant, defined in JSON, each scoped to a directory and a timeout.

Editors, Terminals & Local Dev Environment
Summary
A controlled opening, rather than a shell.

Handing an assistant a general shell is one decision; handing it five named commands, each restricted to a directory with a timeout and a rate limit, is a very different one. This is the second, which makes tools.json a permission list and not a convenience file.

What it is

A TypeScript MCP server that turns entries in a tools.json file into MCP tools — you declare the command, its parameters and its limits, without writing code.

What you get
  • Tools defined in JSON: the command, its parameters, their types and patterns, required or optional
  • Execution restricted to directories you name, so a tool cannot wander outside its scope
  • Command allowlisting and parameter sanitization before anything runs
  • Rate limiting per tool, and a configurable timeout on each
  • Output size limits and structured results, rather than an unbounded dump
  • A starting tools.json with working examples: list_files, grep_search, word_count, git_status and find_files
Requirements

Npm install and npm run build, then start it with an environment variable pointing at your tools.json. No account or key — commands run as you, inside the directories you allow.