MCP SERVER Read-only, no key, four tools

Point your agent at
the whole portfolio

The fastest way to get up to speed on me: add this server to your agent, in Claude, Cursor or any MCP client. Your agent gets access to my skills, my experience and every case study on this site, close to 100,000 words of it. Then just ask it questions. What has he shipped? What did the revenue engine produce? Has he run lifecycle for a consumer brand? It searches and reads, and every answer comes back with the live URL.

https://hi-daniel.com/api/mcp

One call, abridged

› search_portfolio({ query: "attribution the CFO trusts" })
## 1. Marketing Ops: 200+ Workflows in Production
https://hi-daniel.com/work/marketing-ops.html

Finance stopped keeping a second spreadsheet
once every number in the weekly report could be
traced back to the record that produced it…

What your agent gets

Four tools. Start with the profile, then search for evidence. When a snippet is not enough, pull the whole page.

get_profile

Who I am in one call: what I do now, the nine AI systems on live URLs, the six things I do well, and the case study behind each. I assemble it from the site itself, so it cannot drift from what the pages say.

search_portfolio

Ranked passages across the whole site, each with the URL it came from. Ask it about attribution, paid efficiency, lifecycle, or a number, and it returns the paragraphs that answer it.

get_page

One page in full, section by section. Use it when an excerpt looks relevant and the whole argument matters more than the snippet.

list_pages

The index: every page with its title, description and word count, grouped into work, AI systems, expertise, principles, hiring lenses and the blog.

Connecting it

Streamable HTTP, so most clients need the URL and nothing else. No key to request, no account to make.

Claude Code

One command, then ask it anything about my work.

claude mcp add --transport http hi-daniel https://hi-daniel.com/api/mcp

Claude, ChatGPT and other hosted clients

Add it as a custom connector in settings and paste the endpoint. In Claude that is Settings, then Connectors, then Add custom connector.

https://hi-daniel.com/api/mcp

Cursor, Windsurf and config-file clients

Add one entry to the client’s MCP config.

{
  "mcpServers": {
    "hi-daniel": { "url": "https://hi-daniel.com/api/mcp" }
  }
}

Checking it by hand

The endpoint answers plain JSON-RPC, so curl is enough to see the tool list.

curl -s https://hi-daniel.com/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

How it is built

One serverless function with no dependencies, and it only ever reads. The corpus comes from the sitemap, so the server can only answer from pages this site actually publishes.

I split each page at its section headings. A section is big enough to carry an argument and small enough to read whole. I rank with BM25 and weight page titles in, tuned against twelve questions a hiring team would ask. The server holds no data beyond these public pages, and it writes nothing anywhere. If you would rather read the site yourself, every answer carries the URL. Or just send me a message.

The server answers from these pages. Here is where to start reading them yourself.

Each answer carries the URL of the page it came from, and these three are the pages worth opening first.