Olm is a program that takes a simple text file and spits out a full blown MCP server.
Write your tools as one-liners, get a working Python or TypeScript server on the other end.
The comment above the command becomes the description field for the tool
#! List files in a directory
ls:ls -la {path}
#! Run in a sandbox
sandbox_run:docker exec -it {container} "{command}"
#! Run a custom bash command
bash: /usr/bin/env bash -c "{command}"
Features
- Declarative tool definitions:
name:commandpairs - Parameters extracted automatically from
{placeholders} - Generates Python (
FastMCP) or TypeScript (@modelcontextprotocol/sdk) - Inline or standalone descriptions via the
#!prefix
Quick Start
python <(olm example.olm)
2. Compile
Python:
olm tools.txt -l py > tools.py
TypeScript:
olm tools.txt -l ts > tools.ts
Command Line Arguments
| Argument | Short | Required | Description |
|---|---|---|---|
spec |
Yes | Path to the spec file | |
--lang |
-l |
No | py or ts (default: py) |
--output |
-o |
No | Output file (defaults to stdout) |
Spec Format
- Tool:
name:command - Parameters:
{like_this}in the command string becomes a tool input - Descriptions:
- Inline:
name:command #! Description here - Standalone:
#! Description hereon the line before the tool
- Inline:
- Comments: Lines starting with
#(but not#!) are ignored
Generated Code Requirements
Python: mcp (FastMCP)
TypeScript: @modelcontextprotocol/sdk, Node.js with child_process and util
Metadata
Release files for onelinemcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| onelinemcp-0.2.0.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| onelinemcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.8 kB
Release files / onelinemcp-0.2.0.tar.gz
| Download URL | onelinemcp-0.2.0.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e0df67f8a70396a73272312b0cd5097b3977f27900f62d052e1f280d1738e570
|
|
BLAKE2b-256 checksum How to use checksums |
7df81f37a46f6ee93d1213dae4f1e11efe88efc6bedc621fa6a02231dd6135c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|
Release files / onelinemcp-0.2.0-py3-none-any.whl
| Download URL | onelinemcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
64cef86ae29a95ba5ef45a80d5a915f45584cb1bdfd5affbda645d0fdd64877f
|
|
BLAKE2b-256 checksum How to use checksums |
4595a693ad193de26de638327231086704a079408eb1b0a42c59a3299e612775
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|