# For AI agents

How to read Jordão Qualho's profile with an AI assistant.

Recruiters and hiring managers often ask an AI assistant to read a profile before the first call. Scraped HTML loses structure, and the assistant fills the gaps with guesses.

This site gives agents the same verified content you read here, in formats they can parse: an llms.txt index, Markdown versions of every page, and an MCP server with tools for structured questions. Nothing is written only for machines. Every fact matches a page on this site.

## Interfaces

- **llms.txt** (`/llms.txt`): Start here: who I am, which roles I fit, and where to read next.
- **Full context** (`/llms-full.txt`): Every case study, role, skill and principle in one Markdown file.
- **Markdown pages** (`Accept: text/markdown`): Every page answers in Markdown when asked. Appending .md works too: /index.md, /work/<case>.md.
- **MCP server** (`/api/mcp`): Remote MCP over Streamable HTTP. List cases, filter experience and check a job description against verified work.

## Reading order

1. `/llms.txt`: Summary, fit and links. Enough for a first pass.
2. `/llms-full.txt`: Full career history, all case studies, skills and principles.
3. `/work/<case>.md`: One case study in depth: context, investigation, root cause, outcome.
4. `/api/mcp`: Structured queries when the agent needs to filter or compare.

## Markdown on every page

Send `Accept: text/markdown` to any page URL, or append `.md` to its path.

```sh
curl -H 'Accept: text/markdown' https://jordaoqualho.com/
curl https://jordaoqualho.com/work/financial-onboarding-incident.md
```

## Connect the MCP server

### Claude Code

Run once in your terminal:

```sh
claude mcp add --transport http jordao-qualho https://jordaoqualho.com/api/mcp
```

### Cursor

Add to .cursor/mcp.json:

```json
{
  "mcpServers": {
    "jordao-qualho": {
      "url": "https://jordaoqualho.com/api/mcp"
    }
  }
}
```

### Claude (web and desktop)

Settings → Connectors → Add custom connector, then paste:

```sh
https://jordaoqualho.com/api/mcp
```

### Any HTTP client

Plain JSON-RPC, no session or key required:

```sh
curl -s https://jordaoqualho.com/api/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_engineering_cases","arguments":{}}}'
```

## Tools

- `get_profile()`: Role, focus, contact, availability, languages, about and engineering principles.
- `list_engineering_cases()`: Every case study with slug, category, summary and stack.
- `get_case_detail(slug)`: One case in full: context, problem, investigation, root cause, contribution, outcome.
- `query_experience(technology?, company?)`: Work history, optionally filtered by technology or company.
- `evaluate_job_fit(job_description)`: Matches a job description against verified skills and cases. Keyword-based: it reports matches and never invents experience.

## Try asking

- Read jordaoqualho.com/llms.txt and tell me if Jordão fits a Senior Backend role on AWS.
- Using the jordao-qualho MCP server, check this job description against Jordão's verified experience: …
- Which of Jordão's case studies show production incident debugging? Summarize the root cause of each.
- List Jordão's roles that used GCP, with dates.

## Ground rules

Everything here is public and read-only. No key, no account, and nothing you send is stored, including job descriptions. Agents should only claim what these sources state: dates, scale figures and outcomes are exact.
