varmcp.com
Tools for language models that stay on your machine.
varmcp is a small collection of Model Context Protocol servers. Each one is a single Go binary you download and point your client at — no hosted endpoint, no account, nothing of yours passing through anyone else’s infrastructure.
There are 2 listed below and 1 you can install today. That is the whole catalogue, and it is meant to stay short.
↓ The indexMIT licensedwritten in Go
01
Servers
What is here
mcp-retrieval
v0.1.7/mcp-retrieval
Web search, image search and page scraping as Markdown. No API keys.
web_searchweb_search_imagesweb_scrape
Read the documentation
the second one
in progress
Being written. It gets a page here when there is something to install.
02
Principles
How these are built
01Local before hosted
Every server here is a binary or a container that runs on your machine. Nothing routes through an endpoint I operate, so there is no account, no quota and no request of yours passing through my logs.
02No keys where a key is avoidable
A tool that needs a third-party key says so on its page. Where the same capability can be had without one — search being the obvious case — it is built without one.
03Read the source, it is short
These are small Go programs, MIT licensed, with the layers kept apart on purpose. The page for each server documents what the repository actually does and quotes no number the repository does not state.
04Few servers, finished ones
This is not a directory of everything published against the protocol. It is the handful I maintain, and a server appears only once it has a release, a README and a version to point at.
03
Background
If MCP is new to you
- client
- The application the model runs inside — Claude Desktop, an editor, your own script. It launches servers and decides which of their tools the model may call.
- server
- A program that declares a set of tools and answers calls to them. It talks to the client over a pipe or over HTTP, and it never talks to the model directly.
- tool
- One named operation with a typed input schema and a typed result. The model chooses to call it; the server does the work and hands back structured JSON.
- transport
- How the two connect. stdio for a local process the client starts itself, streamable HTTP for one already running somewhere you can reach.
Everything on this site is the second of those: servers. You keep your existing client and your existing model, and each page here tells you the one block of configuration that connects them. The specification has the rest.