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.