Personal MCP

Every website has a front door for people.
Soon every person will have one for agents.

An endpoint that answers for you — who you are, what you're working on, what you're good at, how to reach you. Not a page someone's agent crawls and guesses at: a layer you write yourself and it can query directly.

One live server · 9 tools · two prompts · nothing to sign up for

The idea

Can AI agents find you?

Not on their own — not yet. A personal MCP server ran for five months with a public endpoint, discovery files, the lot, and not one stranger's agent showed up uninvited. Nobody is out there hunting for machine-readable people.

But agents are already asked about you, and they answer either way. Point one at your name today: it scrapes your site, an outdated conference bio and a LinkedIn headline, then fills the gaps with plausible invention. Give it a door, and it finds you the moment someone asks — your words instead of its guesses.

It answers while you sleep

Someone's agent researching you at 3am gets your sentences instead of a scraper's best guess. You don't have to be online, and you don't have to be asked.

You write it, a crawler doesn't

The whole thing is 5–7 markdown files you own, in git, reviewed by eye before they ship. If a fact about you is wrong out there, you fix one line.

It's a door, not a wall

The read layer is public by definition — that's the point of a door. What sits behind it, and who you let further in, stays entirely your call.

Live example

It already works at postnikov.ai

Not a mock-up. A server that has been up since August 2026, answering strangers' agents with no auth and no keys. Point your own agent at it right now — that is the fastest way to understand what this is.

Claude Code, or any client that speaks streamable HTTP:

claude code
claude mcp add --transport http max-postnikov https://postnikov.ai/mcp

Then ask your agent anything about him and watch which tool it reaches for. You never name the tool; it picks.

Or as a line in a project's .mcp.json:

.mcp.json
{
  "mcpServers": {
    "max-postnikov": {
      "type": "http",
      "url": "https://postnikov.ai/mcp"
    }
  }
}

Codex CLI has a command of its own — checked against 0.147.0:

codex cli
codex mcp add max-postnikov --url https://postnikov.ai/mcp

The human-readable page for that server: postnikov.ai/mcp.html

Nine tools, three tiers

Seven hand back files or documents, one thinks, one writes. The shape matters more than the names — it's the split worth copying.

7 read tools

free · instant · no LLM in the path

Each one returns a markdown file or document from the pack, unchanged. No model, no latency, no prompt-injection surface. This tier does most of the work, and it's the part you should build first.

get_profileget_speakingget_servicesget_channelsget_writinglist_blueprintsget_blueprint

ask

synthesis · hard daily cap

For the question the files don't answer head-on — “would he fit a fintech conference?”. A model answers strictly from the same pack, under a daily ceiling so an experiment can't turn into a bill. Its real value is the log: what strangers actually want to know about you.

ask

leave_message

the one write · human in the loop

A note lands in a queue and pushes to a phone. Nothing is published, nothing is auto-answered, nothing in the message is ever executed. The reply comes from a person or not at all.

leave_message

Blueprint

Build your own — three steps

A weekend, give or take. There is no product to buy here and nothing to sign up for; the whole thing is small enough that hosting it yourself is the easy option.

  1. The context pack

    5–7 markdown files about you, assembled only from what you already published.

    who / now / speaking / services / channels / writing is a split that works — take it as-is and rename what doesn't fit you. Sources: your own site, its JSON-LD, your talks, your writing. Nothing you didn't publish yourself.

    Three rules earn their keep. No prices, ever — “pricing on request” sends the question into your inbox instead. Nothing about family, health or money. And you read every version with your own eyes before it ships: an agent assembling this from your notes will happily carry something private across.

    now.md goes stale first and is meant to be rewritten often. Date every file.

  2. The server that hands them out

    Roughly 500 lines. One tool per file, streamable HTTP, no database.

    An HTTP server plus the MCP SDK is the entire dependency list. The files live in the image, so updating your pack is a deploy — that is a feature, not a shortcut: it means every change passed through you.

    Build the file tools first and stop there for a week if you like; they already work. The ask tool is worth adding next, with a per-day call and token cap enforced before the API is touched, plus rate limits per client. leave_message writes one line to a queue and pushes you a notification — and that's all it is allowed to do.

    Use a current SDK. The protocol was rebuilt in July 2026 and modern clients don't negotiate with legacy-era servers on their own — an old server is a door today's agents can't open.

  3. Discovery

    Three small files, and the only reason anything ever arrives.

    A server card at /.well-known/mcp/server-card.json, a line in your llms.txt, and a human page with the copy-paste command. Whatever your card claims, verify it against your running server first — a card promising capabilities the server doesn't have is worse than no card.

    Then instrument it from day one: log every call with tool name, arguments, IP and user-agent. You are running an experiment, and this journal is the entire result. Without it you cannot tell a crawler from a person from your own smoke test.

What not to build

Everything below was tried on this domain and buried. Skipping it is the fastest part of the blueprint.

  • A guided interview to fill the files

    Built, shipped, retired. Any capable agent drafts the whole pack from your public footprint in one prompt — the two below do exactly that.

  • A “suggest an edit” tool for visitors

    Shipped and reachable for five months. Zero uses. The hypothesis was tested and it lost.

  • Hosting other people's servers

    There is no demand to host yet. Until a stranger's agent knocks unprompted, a service around this is a solution waiting for its problem.

Prompts

Two prompts, copy them

The first drafts your pack from what you already published. The second tries to tear it apart. Give both to any capable agent — Claude, Codex, whatever you already have open.

01 · Build my context pack

Best run by an agent that can browse. Give it your site's URL first.

01 · Build my context pack
Build me a context pack: six markdown files that describe me well
enough for a stranger's AI agent to answer questions about me
accurately, without inventing anything.

SOURCES — public only, in this order:
1. My website, every page. Read its JSON-LD if there is any: it is
   the most reliable source of names, roles and links.
2. My public writing: blog, newsletter, long-form posts.
3. My public talks, podcasts and conference bios.
4. Anything else I clearly published myself.

Do not use anything I did not publish. If a fact is not in a public
source, leave it out — a gap is cheap, an invented fact is not.

PRODUCE exactly these files, in English, markdown, no front matter:

  who.md       Who I am: role, city, the arc of my career, what I
               actually work on, what I am not. Include the public
               failures — they carry more signal than the wins.
  now.md       What I am doing right now: current projects, current
               focus, open experiments. This file goes stale first
               and is meant to be rewritten often.
  speaking.md  Talk topics with lengths and formats, stage history,
               podcasts, the languages I present in.
  services.md  The ways someone can work with me and what they get
               out of it. No prices, ever — write "pricing on
               request" instead.
  channels.md  Every public channel and link, plus one line on which
               channel suits which kind of request.
  writing.md   My key articles and essays: title, link, and one line
               on what each one argues.

RULES:
- Write for an LLM reader, not for a recruiter. Plain declarative
  sentences, concrete facts, dates, numbers, links. Drop every
  marketing adjective: "experienced", "passionate", "results-driven"
  are noise and cost me credibility with a careful reader.
- Keep each file under about 100 lines. This is a reference, not
  a memoir.
- Nothing about family, health, money, home address, or anything
  I would not put on a billboard. In doubt, leave it out.
- Mark anything you inferred rather than read, inline, like this:
  [? VERIFY — inferred from <source>]. I will check those by hand.
- End each file with a "Last updated: YYYY-MM-DD" line. Ask me for
  today's date if you are not certain of it.

BEFORE YOU WRITE, show me two lists: the sources you found, and the
things you looked for and could not find. I would rather fill a gap
myself than have you paper over it.

02 · Audit my context pack

Run it before the pack goes live — and again after every update.

02 · Audit my context pack
Here is my context pack: <attach the files>. This is what a
stranger's AI agent will read to answer questions about me. Audit it
hard. I want the problems, not encouragement.

Check five things, in this order:

1. PRIVACY. Flag anything that should not be public: family, health,
   money, addresses, unshipped plans, other people named without an
   obvious public reason, prices, deal sizes. Quote the exact line.

2. TRUTH. For every concrete claim — dates, numbers, titles, roles,
   links — try to confirm it against a public source. Give me two
   lists: claims you could not confirm, and claims that contradict
   what you found. Do not fix them; I will.

3. STALENESS. Which lines describe a state that has probably moved
   on? Anything with "currently", "this year", "recently"; any
   project that may have shipped or died since. Rank them by how
   wrong each would look if read today.

4. GAPS. A stranger's agent needs to answer five questions: who is
   this person, what are they doing now, what are they good at, are
   they a fit for a specific ask, and how do I reach them. Which of
   those cannot be answered from these files alone? Name the missing
   fact, not the missing file.

5. NOISE. Marketing adjectives, hedges, things repeated across
   files, sentences an LLM would have to guess at. Quote the ten
   worst lines and rewrite each as one plain sentence.

Then a verdict, in two sentences: reading only this, could you answer
a stranger's question about me without inventing anything? If not,
name the single change that would fix it.