Model Tools Protocol (MTP)
Forget MCP, bash is all you need
Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.
Want to reach these readers? Sponsor an issue.
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>)
HN · launched Feb 10, 2026 · 9 upvotes (top 51%) · 0 views
Niche: model context protocol tools · 465 launches, 13 in the last 7 days ▼ -24% · Explore this niche →
Category and tags
- Horizontal
- Dev tools
- Developer
- AI-native
- Hobby / open-source project
Visit website ↗ Source listing ↗
More like this: all 465 launches in model context protocol tools →
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 : 476 launches clear the similarity bar, closest 8 shown.
Attention rank: #262 of 477 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).
Launched 90 days after the earliest competitor.
- CLI-use · hn · 2026-04-21 · 7 upvotes · similarity 0.56
- Murl · hn · 2026-02-21 · 5 upvotes · similarity 0.55
- mcp-recorder · hn · 2026-03-06 · 6 upvotes · similarity 0.53
- MCP-tidy · hn · 2026-01-06 · 10 upvotes · similarity 0.50
- Turn APIs into MCP servers without code · hn · 2025-12-04 · 15 upvotes · similarity 0.50
- MCP Isn't Dead. You're Just Using It Wrong · hn · 2026-03-17 · 6 upvotes · similarity 0.50
- MCPShark · hn · 2025-12-10 · 37 upvotes · similarity 0.50
- mcp-secrets-runner · ph · 2026-10-22 · 2 upvotes · similarity 0.50
The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.