Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

Model Tools Protocol (MTP)

Forget MCP, bash is all you need

Details

External ID
46959655
Source
HN
Company
—
Product
Model Tools Protocol (MTP)
Website domain
github.com
Launched
Feb. 10, 2026
Cohort
—
Upvotes
9
Upvotes percentile
0.4865229110512129
Tags
—
Fetched at
Sept. 7, 2026, 9:26 p.m.
Updated at
Sept. 7, 2026, 9:26 p.m.

Description

Recently I was trying to use an MCP server to pull data from a service, but hit a limitation: the MCP didn't expose the data I needed, even though the service's REST API supported it. So I wrote a quick CLI wrapper around the API. Worked great, except Claude Code had no structured way to know what my CLI does or how to call it. For `gh` or `curl` the model can learn from the extensive training data, but for a tool I just wrote, it was stabbing in the dark.MCP solves this discovery problem, but it does it by rebuilding tool interaction from scratch: server processes, JSON-RPC transport, client-host handshakes. It got discovery right but threw out composability to get there. You can't pipe one MCP tool into another or run one in a cron job without a host process. Pulling a Confluence page, checking Jira for duplicates, and filing a ticket is three inference round-trips for work that should be a bash one-liner. I also seem to endlessly get asked to re-login to my MCPs, something `gh` CLI never asks me to do.I think the industry took a wrong turn here. We didn't need a new execution model for tools, we needed to add one capability to the execution model we already had. That's what Model Tools Protocol (MTP) is: a spec for making any CLI self-describing so LLMs can discover and use it.MTP does that with a single convention: your CLI responds to `--mtp-describe` with a JSON schema describing its commands, args, types, and examples. No server, no transport, no handshake. I wrote SDKs for Click (Python), Commander.js (TypeScript), Cobra (Go), and Clap (Rust) that introspect the types and help strings your framework already has, so adding `--mtp-describe` to an existing CLI is a single function call.I don't think MCP should disappear, so there's a bidirectional bridge. `mtpcli serve` exposes any `--mtp-describe` CLI as an MCP server, and `mtpcli wrap` goes the other direction, turning MCP servers into pipeable CLIs. The ~2,500 MCP servers out there become composable CLI tools you can script and run in CI without an LLM in the loop.The real payoff is composition: your custom CLI, a third-party MCP server, and jq in a single pipeline, no tokens burned. I'll post a concrete example in the comments.Try it: npm i -g @modeltoolsprotocol/mtpcli && mtpcli --mtp-describe I know it's unlikely this will take off as I can't compete with the great might of Anthropic, but I very much welcome collaborators on this. PRs are welcome on the spec, additional SDKs, or anything else. Happy building!Spec and rationale: <https://github.com/modeltoolsprotocol/modeltoolsprotocol>CLI tool: <https://github.com/modeltoolsprotocol/mtpcli>SDKs: TypeScript (<https://github.com/modeltoolsprotocol/typescript-sdk>) | Python (<https://github.com/modeltoolsprotocol/python-sdk>) | Go (<https://github.com/modeltoolsprotocol/go-sdk>) | Rust (<https://github.com/modeltoolsprotocol/rust-sdk>)

Enrichment

Theme
Model Context Protocol developer tools
Vertical
Horizontal
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
protocol for model tools using bash
Manually corrected
False

Could you build this?

Yes The protocol is a lightweight CLI and JSON specification that translates command-line schemas and bash executions into structured LLM tool-calling contexts.

Discussion

3 comments analyzed.

Competitors mentioned: GitHub MCP, Claude Code with native CLI understanding

Concerns raised: Adoption barrier - getting coding agents to use !mtpcli by default, Tool maintainer friction - requires adding --mtp-describe flag, Standards adoption difficulty, Existing LLM training on CLIs already reduces need for additional abstraction

Feature requests: Better discovery mechanism for tools without manual --mtp-describe implementation, Default agent integration across multiple coding platforms

Competitors

Other products that read as similar to this one — 243 launches clear the similarity bar, closest 8 shown.

Attention rank: #132 of 244 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 90 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.