Jacob's Brain, in your agent.
A free MCP server holding what I have published: newsletters, LinkedIn posts, talks and essays. Add the URL to your agent, sign in with your email, and ask it what I think about offers, positioning, launches or running a business on your own. Every answer comes back with the thing it came from.
https://jpegs.app/mcp
Connect your agent
No key and no card. The URL is all you need, and the sign-in happens inside your agent the first time it calls the brain.
Claude, on the web or desktop
Settings, then Connectors, then Add custom connector. Paste the URL and click Add. Claude opens the sign-in page when it first uses the brain.
ChatGPT
Settings, then Connectors, then Create. Paste the URL, choose OAuth when asked how it authenticates, and save.
Claude Code
claude mcp add --transport http jacobs-brain https://jpegs.app/mcp
Then run /mcp in Claude Code and pick jacobs-brain to sign in.
Cursor
Settings, then MCP, then Add new global MCP server. Cursor registers itself, so there is nothing to paste beyond the URL.
Codex
codex mcp add jacobs-brain --url https://jpegs.app/mcp
Gemini CLI
gemini mcp add --transport http jacobs-brain https://jpegs.app/mcp
Anything else that speaks MCP
If your client takes a JSON config, this is the shape it wants:
{
"mcpServers": {
"jacobs-brain": {
"type": "http",
"url": "https://jpegs.app/mcp"
}
}
}
Signing in
Your agent opens a page asking for your email. You get a 6-digit code, you type it in, you click Allow. That is the whole thing. There is no password to make and nothing to remember, because the next time your agent needs a token it refreshes one quietly.
- The code is good for 10 minutes and you get 5 tries.
- You can ask for a new code every 30 seconds, up to 5 an hour.
- Connecting subscribes you to The Maker Letter. The sign-in page says so before it sends the code. Every email has a one-click unsubscribe, and unsubscribing does not disconnect the brain or touch your account.
What is kept, and how to have it deleted, is in the privacy notice.
Tools
Two, both read-only. Your agent picks them on its own when you ask something the brain covers, and you can also name them.
search_brain
Searches what I have published and returns the passages that match, each with its title, its source link and the date I shipped it.
| Argument | Type | What it does |
|---|---|---|
query | string, 2 to 500 characters, required | What to look for, in plain words. |
limit | integer, 1 to 10, default 6 | How many passages to return. |
A limit outside the range is pulled back into it rather than refused, because a
client asking for 50 wants as many as it can have.
When nothing matches, the answer says so and tells you to try other words. It does not invent a passage to fill the gap, which is the only version of this worth building.
list_sources
Lists everything in the brain with its link and a line on what it is. No arguments. Useful for seeing what is actually covered before you ask, and for citing something afterwards.
Asking it well
It is a search over my writing, not a model of me. That is good news, because it means it answers best when you treat it like a well-read colleague rather than an oracle.
- One topic per search. "Pricing a first offer" and "what to send on launch day" are two searches. Asked together they pull passages that half-match both.
- Plain words beat keywords. Ask it the way you would ask me in a DM. "How do I get my first 10 customers without an audience" works. "customer acquisition strategy B2B" does not.
- Ask again from another angle. If the first passages are close but not it, change the words rather than the phrasing. Different words reach different letters.
- Give your agent your context, not the brain. Your agent knows your product, your numbers and your situation. The brain only knows what I wrote. The useful answer is your agent putting the two together, so tell it about you and let it search me.
- Keep secrets out of searches. Queries are logged. Nothing you would mind me reading should go in one, and other people's personal details should never go in one.
Things worth asking:
- "Use Jacob's Brain to pull apart my offer. Here is the sales page."
- "What would Jacob do on day one of a five day launch?"
- "My list is 400 people and nobody replies. What does Jacob say about that?"
- "Ask Jacob's Brain what goes above a $5 offer, then price mine."
Limits and errors
The brain is free and public, and it runs a full search over the index on every call, so there is a ceiling. You will not meet it by using it normally.
| Limit | Value |
|---|---|
| Tool calls per account | 60 a minute |
| Sign-in codes per email | 5 an hour, one every 30 seconds |
| Sign-in codes per IP address | 20 an hour |
| Search length | 500 characters |
| Passages per search | 10 |
| Status | What happened | What to do |
|---|---|---|
401 | No token, or it expired. | Nothing. Your agent signs in or refreshes by itself. If it keeps happening, remove the server and add it again. |
403 | The account is blocked. | Email me if that seems wrong. |
404 | Wrong URL. | Check it ends in /mcp. |
429 | Too many requests. | Wait a minute. Rate limit messages say how long. |
For client developers
The server follows the MCP authorization spec, so a client with remote-MCP OAuth support needs nothing special from you.
| Endpoint | https://jpegs.app/mcp, Streamable HTTP |
| Protected resource metadata | https://jpegs.app/.well-known/oauth-protected-resource |
| Authorization server metadata | https://jpegs.app/.well-known/oauth-authorization-server |
| OpenID configuration | https://jpegs.app/.well-known/openid-configuration |
| Registration | Dynamic Client Registration at https://jpegs.app/register |
| Grants | authorization_code, refresh_token |
| PKCE | Required, S256 |
| Scopes | openid, email |
| Access tokens | One hour, sent as Authorization: Bearer … |
| Revocation | https://jpegs.app/revoke |
| CORS | Open on /mcp, the well-known paths and the OAuth endpoints |
To poke at it directly:
npx @modelcontextprotocol/inspector
Set the transport to Streamable HTTP, paste the endpoint, and follow the OAuth flow it opens.
Questions
Is it really free?
Yes. No card, no key, no trial. Your email is the whole price, and that is because the list is the point.
Where does the knowledge come from?
Only things I published under my own name: newsletters, LinkedIn posts, YouTube talks and
essays. Call list_sources to see every one of them.
What is deliberately not in it?
Client names and results, anything I sell, and my family and private life. Those are absent from the index itself rather than hidden behind an instruction, which is the only version of that promise worth making.
Will it answer as me?
No, and you should be suspicious of anything that claims to. It returns passages I wrote and your agent reasons over them. When it has nothing, it says so.
How do I disconnect?
Remove the server from your agent. To have the account and the search log deleted, email ops@mojodesign.io.
Jacob's Brain