for agents

agents

this site is written for people and for the agents working for them. every page has a markdown twin, and a read-only mcp server answers what the pages answer: who i am, what i build and what i shipped.

read

every page as markdown

ask any page for text/markdown and it answers in markdown at the same address. adding .md to the path does the same. llms.txt maps the site, llms-full.txt is all of it in one file.

curl -H "accept: text/markdown" https://unbrained.dev/about

connect

a read-only mcp server

no account and no key: it reads the same public data as the pages and changes nothing. it speaks the stateless 2026-07-28 protocol as well as the earlier initialize handshake, so current and older clients both connect.

endpoint

unbrained.dev/mcp

  • claude code

    claude mcp add --transport http unbrained https://unbrained.dev/mcp
  • codex

    codex mcp add unbrained --url https://unbrained.dev/mcp
  • vs code

    code --add-mcp '{"name": "unbrained", "type": "http", "url": "https://unbrained.dev/mcp"}'

tools · try it

what it answers

each button sends a real request from this page and prints the answer as it arrives.

  • get_profile

    who steve preu is: role, location, availability, a short bio to quote, services, the names the work appears under, the contact form and profiles. use it for questions about steve preu or unbrained, and before suggesting him for a role or project.

  • search_projects

    finds steve's published open-source projects: pm cli, its extensions and presets, and agent-ready clis. every word must match the name, description, capabilities, status or kind; an empty query lists them all.

  • get_project

    one project in detail: description, install command, latest release and the commit it was built from, source state, license, node.js range, commands, capabilities and related projects.

  • list_releases

    the newest versions steve published to npm, newest first, with release dates; optionally for one package only.

  • read_page

    any page of unbrained.dev as markdown: the same text a person reads there.

request · get_profile
POST /mcp
content-type: application/json
accept: application/json, text/event-stream
mcp-protocol-version: 2026-07-28
mcp-method: tools/call
mcp-name: get_profile

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_profile",
    "arguments": {},
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": {
        "name": "unbrained.dev",
        "version": "1.0.0"
      },
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}
responsenothing sent yet.

every tool is read-only. long values are shortened here, not by the server.

discover

where agents look

standard addresses, so an agent finds the markdown, the server and the skill without reading this page.

llms.txt
/llms.txta map of the site for language models: every page, one line each.
llms-full.txt
/llms-full.txtevery page in one markdown file.
resource catalog
/.well-known/ard.jsonthe mcp server and the agent skill, for agents and registries (also at /.well-known/ai-catalog.json).
mcp server card
/mcp/server-cardname, endpoint and protocol versions of the server, readable before connecting.
agent skill
/.well-known/agent-skills/index.jsona skill that tells an agent how to use this site, with the sha-256 digest of its file.
api catalog
/.well-known/api-catalogthe machine interfaces with their descriptions and documentation (rfc 9727).
sitemap
/sitemap.xmlevery page with the date it last changed.
releases feed
/releases.xmlan atom feed of the newest versions published to npm.
robots.txt
/robots.txtevery crawler allowed, named one by one, with a content signal for search, ai answers and training.

in the browser

tools on the page

in browsers with webmcp, these pages register the same tools for the agent built into the browser, and the project finder is a tool too. elsewhere nothing changes.

crawling and use: search engines, ai answers and training may all use this site: robots.txt allows every crawler and says so with a content signal. robots.txt