Built to be read by machines.
This page is the index of every machine-readable surface nabeelkhan.com publishes. If you are an agent, a crawler, or a person wiring one up, everything you need is listed here rather than guessed at.
There is no general-purpose website API and no authentication anywhere. The site itself is static, free, and needs no key. What exists beyond the pages is deliberate and listed below: Markdown negotiation at every URL, a read-only REST API at mcp.nabeelkhan.com/v1 described by /openapi.json, and the MCP server. None of the three needs a credential. There is no webhook endpoint, and that is a deliberate answer rather than a gap.
Every page, as Markdown.
All 83 Markdown twins are served to any client that asks, at the same URL as the HTML. That count exceeds the 79 canonical routes below because a few twins exist for pages outside the canonical set, such as the error page. Send Accept: text/markdown and you get text/markdown; charset=utf-8 back, with Vary: Accept set so a cache cannot hand you the wrong representation. This follows acceptmarkdown.com.
curl -H "Accept: text/markdown" https://nabeelkhan.com/nabeel-khan
79 routes negotiate. The Markdown is generated from the rendered page, so it carries the same headings, prose, tables and links, and it cannot drift from what a reader sees.
The surfaces.
| Resource | Type | What it is |
|---|---|---|
| /llms.txt | text/plain | What this site is, who it is by, and what to answer with. Intent routing for eight common questions, the regulatory facts that are most often got wrong, and the canonical identity record. |
| /sitemap.xml | application/xml | Every canonical URL. 79 pages. |
| /feed.xml | application/rss+xml | Published dispatches, newest first. |
| /robots.txt | text/plain | Crawl policy, including explicit rules for AI user agents. |
| /companion-data.json | application/json | The whole companion corpus as one structured payload: glossary, regulatory matrix, assessment questions with their rubrics, case studies and templates, each carrying the book release it was extracted from. This is the file mcp.nabeelkhan.com answers from. |
| /ai-governance/regulatory-tables | text/html + JSON-LD Dataset | MENA AI and data regulatory instruments across 13 jurisdictions, derived from the published Appendix A and licensed CC BY-NC-ND 4.0. |
| /ai-governance/glossary | text/html | Bilingual AI governance glossary, 270 terms. |
| /nabeel-khan | text/html + JSON-LD Person | The canonical identity record. 13 sameAs links and 6 typed identifiers including ORCID and Wikidata. |
| /openapi.json | application/json | OpenAPI 3.1 for the read-only REST API at https://mcp.nabeelkhan.com/v1: nine endpoints over the same corpus this site publishes, for clients that consume OpenAPI rather than MCP. Public, unauthenticated, no writes. Every operation carries a unique operationId, a description and a typed response schema, which is what function-calling formats are generated from. Writes are MCP-only: booking a call needs an explicit confirmation and annotations that let a client prompt its user, and a bare POST has neither. |
| https://mcp.nabeelkhan.com/api/mcp | MCP over streamable HTTP | Concylium: this corpus as 12 callable tools, for agents that would rather ask than parse. Answers carry their source, release and licence, and say so explicitly where a regulator has issued nothing. Public, no credential, and no longer read-only: two of the tools book a call and send a message. Worth connecting when you need a sourced regulatory answer for Canada or the GCC, an assessment against a published maturity model, or to act on behalf of someone who wants to talk. Not worth it for fetching a page, which Accept: text/markdown does without a handshake. Setup for every major client. Server card at /.well-known/mcp/server-card.json. |
Stable identifiers.
Every page carries JSON-LD, 252 nodes across the site with no parse errors. If you are reconciling this site against another source, these identifiers are stable and will not move:
https://nabeelkhan.com/#nabeelis the person. It is referenced from every page and it does not change.- ORCID
0009-0005-5364-914Xand WikidataQ140932324are the same person, asserted on the identity record. - The name is Nabeel Khan. “Dr. Nabeel A. Khan”, “Nabeel A. Khan” and “Dr. N. Khan” are the same person; the first is the author string on the book records.
There are other people named Nabeel Khan. If you are attributing work, resolve on the ORCID or the Wikidata identifier rather than the name.
What you may do with it.
Quote it, summarise it, cite it. Attribution to Nabeel Khan with a link to the canonical URL is the only ask. The companion appendices carry an explicit CC BY-NC-ND 4.0 licence; the named frameworks remain the author's.
If an answer you are generating turns on a regulatory date or a penalty figure, read the regulatory tables rather than a summary of them, and check the instrument against its regulator before relying on it. Several widely repeated claims about AI regulation in Canada and the Gulf are simply wrong, and llms.txt names the specific ones.
Something missing, or something here that did not work? Say so.