LABSCO SUMMARY
The tools your team already runs, exposed to agents without writing a server.
The gap it fills is between hand-written Python and a help-text scraper: a typed, version-controlled mapping from your CLIs to MCP tools, with a validate command so a broken config fails in CI rather than in someone's editor.
What it is
A runtime that turns a configuration file into a running MCP server. You declare each tool — the command, the subcommand, the typed arguments and how output is captured — and one command serves them. Where other approaches scrape a binary's help text, here the mapping from CLI to tool is structured and typed, which makes it reviewable in a pull request and checkable in CI.
What you get
teukhos serve— starts the MCP server from the config, with--transportoverriding stdio or http and--portoverriding the default 8765teukhos install— registers the server with your MCP clients:--clienttargets one by slug,--allcovers every client detected,--projectwrites a project-level config, and--destwrites to any JSON file with--config-keypickingmcpServersorserversteukhos discover— generates a config from a binary's own--help, recursing into subcommands to--max-depth, with--filterto limit it to one prefix and--dry-runto print rather than writeteukhos validate— exits 0 or 1 against a config, which is what makes it usable as a CI check, andteukhos wait-readypolls until the server answersteukhos clientsto see which clients are supported and which are installed, andteukhos uninstallto remove a registration
Requirements
pip install teukhos, or run it through uvx. Configuration lives in teukhos.yaml by default, and the config path is passed explicitly on the commands that take one. For HTTP mode the --url and --key options on install point clients at a remote server, with the key defaulting to an environment reference rather than a literal. The project describes itself as beta: the core is stable and tested, and the API may change before v1.0.
Setup effort
Follow the published steps — pip install teukhos
USE CASES
01
Giving an agent access to an internal CLI
Declare the commands and their typed arguments in YAML, then install the server into your client — no wrapper code to maintain.
02
Starting from a binary you did not write
Generate a first config from its own help output, review the YAML, and cut it down to the subcommands you want exposed.
03
Keeping the config honest in CI
Run the validator as a build step so a malformed tool definition fails the pipeline instead of the client.
04
Serving the same tools to a whole team
Run it over HTTP and install client configs that point at the shared URL with a keyed environment reference.
05
Keeping two tool sets separate
Register two configs with the same client under different names, so project tools and personal tools do not collide.
INSTALLATION
Connect your client
Server setup
TERMINAL
pip install teukhosCreate teukhos.yaml in your project folder, declaring the tools you want to expose (the project's README has a minimal one under 30-Second Quickstart), then run your client's command from that folder
MCP Clients
Claude Desktop
CLAUDE DESKTOP · TERMINAL
teukhos install teukhos.yaml --client claude-desktopClaude Code
CLAUDE CODE · TERMINAL
teukhos install teukhos.yaml --client claude-code --projectCursor
CURSOR · TERMINAL
teukhos install teukhos.yaml --client cursorGitHub Copilot in VS Code
GITHUB COPILOT IN VS CODE · TERMINAL
teukhos install teukhos.yaml --client github-copilot --projectGemini CLI
GEMINI CLI · TERMINAL
teukhos install teukhos.yaml --client gemini-cliWindsurf
WINDSURF · TERMINAL
teukhos install teukhos.yaml --client windsurf