Life & fun · February 21, 2026
Murl – Curl for MCP Servers
I built murl because interacting with MCP (Model Context Protocol) servers from the command line was way more painful than it needed to be. MCP uses JSON-RPC 2.0 over HTTP, so every request means hand-crafting payloads with method names, params objects, and id fields. I wanted something that felt like curl. Given an MCP server at https://mcp.deepwiki.com/mcp, murl lets you append virtual paths like /tools or /tools/read_wiki_structure that map to MCP methods. These aren't real HTTP endpoints — murl translates them into the right JSON-RPC calls behind the scenes:…
What it does
In the maker’s words, at launch
I built murl because interacting with MCP (Model Context Protocol) servers from the command line was way more painful than it needed to be. MCP uses JSON-RPC 2.0 over HTTP, so every request means hand-crafting payloads with method names, params objects, and id fields. I wanted something that felt like curl. Given an MCP server at https://mcp.deepwiki.com/mcp, murl lets you append virtual paths like /tools or /tools/read_wiki_structure that map to MCP methods. These aren't real HTTP endpoints — murl translates them into the right JSON-RPC calls behind the scenes: # List all tools on a server (NDJSON — one JSON object per line) murl https://mcp.deepwiki.com/mcp/tools | jq -r '.name' # Call a tool and extract the result murl https://remote.mcpservers.org/fetch/mcp/tools/fetch -d url=https://example.com | jq -r '.text' # Query a repo's wiki structure murl https://mcp.deepwiki.com/mcp/tools/read_wiki_structure -d repoName=anthropics/claude-code | jq -r '.text' The -d flags work like curl — key=value pairs get auto-coerced into typed JSON arguments. You can also pass raw JSON directly. A few things beyond convenience: MCP from plain Bash. Any agent with shell access can call MCP tools — no SDK, no client library, no MCP session management. Vercel recently wrote about replacing 80% of their agent's tools with bash and getting better results (https://vercel.com/blog/we-removed-80-percent-of-our-agents-...). murl makes MCP servers accessible in that same pattern. OAuth built in. MCP servers behind OAuth (like Glean, or anything using RFC 7591 dynamic client registration) just work. First call opens the browser, tokens get cached and auto-refresh. --no-auth for public servers. LLM-friendly by default. Compact NDJSON to stdout, structured JSON errors to stderr, semantic exit codes. -v for human-readable output. Handles transport quirks. Streamable HTTP, session-based SSE (mcp-proxy), regular JSON responses — murl detects and handles them all. You can try it right now against public servers: brew install turlockmike/murl/murl murl https://mcp.deepwiki.com/mcp/tools | jq -r '.name' https://github.com/turlockmike/murl
Does the same job
all alternatives →- ECembedcurl.com - Pretty curl commands for your web site or blog2013 · ▲32
Hey all, As a CEO of a growing startup I don't get to code as often as I like and when I do, I try not to annoy my team with my terrible code :) So to scratch the itch, I've built some of side projects related to what our company does. The latest is embedcurl.com I see a lot of API docs and blogs posting curl commands that are really hard to read and I figured I could make them easier to read and add some niceties like easier copy/paste, tooltips on flags, etc. They also gracefully degrade if javascript isn't enabled back to a element. The parsing is done in Python with shlex and…

- MTModel Tools Protocol (MTP) – Forget MCP, bash is all you needFeb 2026 · github.com · ▲9
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,…
- CUCLI-use – turn any MCP server into a CLI in one commandApr 2026 · ▲7
Hi everyone, I built cli-use, a small Python tool that turns any MCP server into a native CLI. The idea is simple: HTTP has curl, Docker has docker, Kubernetes has kubectl — MCP should have a shell-native client too. Why I made it: MCP is useful, but using it through agents has overhead: every session pays schema discovery cost every call carries JSON-RPC framing responses are often verbose JSON when the useful output is just a line or two cli-use converts that into a terse CLI so tools can be called like normal shell commands. Example: pip install cli-use cli-use add fs /tmp cli-use fs…
- OSOpen-source project to convert FastAPIs to MCP servers2025 · github.com · ▲7
I built a zero-configuration tool for automatically exposing FastAPI endpoints as Model Context Protocol (MCP) tools, open to collabs and contributions!
- FAFastMCP – A Pythonic way to build Model Context Protocol servers2024 · github.com · ▲6
Hi HN -- Since Anthropic announced the Model Context Protocol (MCP) last week [1], I've been excited about giving Claude new capabilities through my custom servers. But while MCP is powerful, implementing the protocol correctly requires a lot of low-level boilerplate code. I found myself wanting something like FastAPI - a high-level framework that would let me focus on building features, not servers. After some hacking, I'm sharing FastMCP: a Pythonic framework for building MCP servers. FastMCP uses decorators to transform normal functions into MCP tools, resources, templates, and prompts,…
More life & fun this month
the category →- TL
Life & fun · 10d ago · louisabraham.github.io

Photosynthesis fires two of your iPhone
Life & fun · 28d ago · photosynthesis.camera
SoloUno▲310Take control of hair pulling, nail biting & skin picking
Life & fun · 28d ago · solouno.io

Scroll through all 43,252,003,274,489,856,000 reachable Rubik's Cube permutations.
Life & fun · 26d ago · everycube.alen.is


Hi HN, I built Eigendrum, a web tool that solves the 2D wave equation for arbitrary shapes so you can hear what they sound like as drums. How it works: * Solves -∇²u = λu using finite element analysis (Kφ = λMφ) on a triangle mesh. * Validated to <0.1% error against closed-form solutions for circles (Bessel zeros) and rectangles. * Sound model factors in strike location, Rayleigh damping, and mallet width. * Includes Kac drums I & II to demonstrate identical sound spectra from different geometries. * No frameworks, build steps, or dependencies. Repo and tests:…
Life & fun · 26d ago · baselashraf81.github.io