Benchline
What it is
Benchline is a free, open-source directory of browser tools for developers, SEO, PDFs and images. Every tool is also callable by AI agents in Cursor, Claude or VS Code through a stateless MCP server, with no API key.
I built Benchline, a free, open-source directory of browser tools for the small, exact jobs around shipping software: JSON, PDFs, images, tokens, headers and the files an AI crawler can cite. Each tool is a pure function with a page on the site and the same function on a stateless MCP server. Nothing is stored, and a tool runs in the browser unless its job is to read a public URL.
Result
Benchline is MIT licensed and live, with new tools added regularly. Developers use it in the browser, and AI agents use the same tools through MCP or the REST API.
The problem
Developer utilities are usually scattered across ad-heavy sites that upload your files, and none of them can be used by an AI coding agent. I wanted one fast directory where files stay on the device, and where Cursor, Claude or VS Code could call the exact same tools without an API key.
What it does
- Tools across developer, data and formats, SEO and AI search, image and media, PDF, security, design, text, math and network categories, most of which run entirely in the browser
- A stateless Streamable HTTP MCP server at
/mcpwith no API key and no session, so AI agents can call every tool - The same functions over REST at
POST /api/v1/tools/<slug>, documented with OpenAPI 3.1 /llms.txtand/llms-full.txtgenerated from the registry for AI search and LLM crawlers- A searchable directory with categories, tags, a ⌘K command palette, and light and dark themes
- SSRF protection for the tools that fetch public URLs, with per-address rate limits on the MCP server and the API
How it's built
- One folder per tool: metadata, a client page, a pure
lib/covered by Vitest, and anmcp.tsentry point - A generated registry that validates every tool at build time and fails the build when a tool has no MCP entry
- A live smoke test that connects with the MCP client and calls every listed tool
- Next.js 16 (App Router, standalone output), React 19, strict TypeScript, Tailwind CSS v4, shadcn/ui on Base UI, Zod 4 and the Model Context Protocol TypeScript SDK, shipped as a three-stage Docker image on Node 22
