Ask your AI about me

This site runs a Model Context Protocol server. Point an assistant at it and it can read my resume, my travels and my blog.

Endpoint

https://rafaaudibert.dev/mcp

Streamable HTTP transport, no authentication, no sessions. Everything it returns is already public on this website; the server just makes it machine-readable. A key-gated layer for non-public information is planned, which is why the server accepts a bearer token it does not yet use.

Connect

Claude Code

One command in your terminal, then ask away in any session.

Terminal window
claude mcp add --transport http rafaaudibert https://rafaaudibert.dev/mcp

Claude.ai & Claude Desktop

Settings → Connectors → Add custom connector. Paste the URL, leave authentication empty.

https://rafaaudibert.dev/mcp

Cursor

Add this to your project:

.cursor/mcp.json
{
"mcpServers": {
"rafaaudibert": {
"url": "https://rafaaudibert.dev/mcp"
}
}
}

VS Code

Add this to your project:

.vscode/mcp.json
{
"servers": {
"rafaaudibert": {
"type": "http",
"url": "https://rafaaudibert.dev/mcp"
}
}
}

No client at all

It is plain JSON-RPC over HTTP, so curl works too.

Terminal window
curl -X POST https://rafaaudibert.dev/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_profile","arguments":{}}}'

In the browser

Every page also registers these tools through WebMCP(opens in new tab), so an agent built into your browser can use them while you are on the site, with nothing to configure. Browser support is still experimental; this site is enrolled in Chrome's WebMCP origin trial.

Tools

All read-only. Assistants usually pick the right one on their own, but here is what is on offer:

get_profile
Who Rafa Audibert is in one call: name, headline, location, current job, website and social links. Start here.
get_resume
Rafa's resume, the same content as rafaaudibert.dev/resume: background, work experience with bullet points, education and achievements, spoken languages, and technologies. Optionally narrow to one section.
list_visited_countries
Countries and territories Rafa has visited, with the years of each visit. Brazil is home and counts for every year. Optionally filter to a single year.
list_flights
Flights Rafa has taken, as drawn on the globe at rafaaudibert.dev/travel. Every international flight is listed; repetitive domestic hops are left out. Filter by year and/or airport IATA code.
get_travel_summary
Aggregate travel numbers: how many countries, flights and airports, a per-year breakdown, and the most used airports.
list_blog_posts
Rafa's blog posts, newest first, with title, description, publish date, tags and URL. Use get_blog_post for the full text. Optionally filter by tag.
get_blog_post
The full Markdown source of one blog post, by slug (see list_blog_posts).

It also exposes llms.txt as a resource. The implementation lives in the site's repository(opens in new tab), built on the official TypeScript SDK and running on the same Cloudflare Worker that serves these pages.

Keyboard Shortcuts

Hold Alt and press a key to navigate. Hints appear next to links when Alt is held.

Press ? anytime to show this help