How to use this site — for AI, robots & fellow nerds
This site is built for machines as much as for people. Every page has machine-readable equivalents, reachable by content negotiation or explicit URL, and the whole knowledge graph is queryable. The recipes below are copy-paste ready.
Content negotiation
Send an Accept header to any page URL to receive the matching pre-rendered format:
curl -H "Accept: application/ld+json" https://patrickaudley.com/
curl -H "Accept: text/turtle" https://patrickaudley.com/
curl -H "Accept: text/markdown" https://patrickaudley.com/
text/html→ HTMLapplication/ld+json→ JSON-LD (/index.jsonld)text/turtle→ RDF Turtle (/index.ttl) ·application/n-triples→ N-Triplestext/markdown→ Markdown ·text/plain→ llms.txt (AI crawlers)
The knowledge graph
This dataset currently exposes 32 SKOS concepts, 3 publications and 2 patents, most grounded with Wikidata QIDs. Primary entities are linked from the root JSON-LD document. The root person node is #paudley.
Vocabularies: Schema.org · FOAF · SKOS · DOAP · BIBO · vCard · PROV-O · OWL · Dublin Core · Wikidata.
SPARQL
The knowledge graph is queryable through a SPARQL endpoint, with dataset metadata in VoID. Example — every concept with its Wikidata grounding:
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?concept ?label ?wikidata WHERE {
?concept a skos:Concept ; skos:prefLabel ?label .
OPTIONAL { ?concept owl:sameAs ?wikidata }
}
curl -G https://patrickaudley.com/sparql \
--data-urlencode query@query.rq \
-H "Accept: application/sparql-results+json"
/sparql— SPARQL endpoint/.well-known/void.ttl— VoID dataset description
MCP
This site exposes itself over the MCP (Model Context Protocol). Point an MCP client at the descriptor to discover and call read-only tools:
https://patrickaudley.com/.well-known/mcp.json
/.well-known/mcp.json— MCP server descriptor/webmcp.js— in-page WebMCP bridge/.well-known/agent-policy.json— agent usage policy/.well-known/agent-skills/— published agent skills
Runtime model
| Mode | Status |
|---|---|
| Static descriptor discovery | ✓ /.well-known/mcp.json |
| Browser-mediated WebMCP | ✓ /webmcp.js |
Public Streamable-HTTP MCP (/mcp) | ✓ read-only |
| Read-only tools only | ✓ |
| Search/answer via Workers AI + Vectorize | ✓ |
Tools
This table mirrors the tool list in mcp.json exactly (all read-only):
| Tool | Purpose |
|---|---|
get_identity | Return canonical person identity, URLs, profiles, and identifiers. |
get_cv | Return CV and resume resources in JSON, Markdown, plain text, HTML, and PDF forms. |
get_publications | Return publication metadata and canonical publication pages. |
get_projects | Return selected project and open-source work from canonical site data. |
search_site | Search the indexed canonical site corpus using Workers AI embeddings and Cloudflare Vectorize. |
answer_question | Answer questions about Patrick Audley from retrieved canonical context with citations. |
cite_claim | Resolve a claim about Patrick Audley to the preferred public source. |
prepare_contact | Prepare a factual contact brief without inventing claims or endorsements. |
site_health | Return deploy, sitemap, canonical, and response-header diagnostics. |
Worked example
/mcp is a streamable-HTTP endpoint (use an MCP client or Inspector, not a browser). List the tools, then make one harmless read-only call:
# tools/list
curl -s https://patrickaudley.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# tools/call → get_identity (no arguments)
curl -s https://patrickaudley.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_identity","arguments":{}}}'
Machine-readable endpoints
/index.jsonld— linked-data graph/llms.txt·/llms-full.txt— LLM context (full-corpus pull:curl https://patrickaudley.com/llms-full.txt)did:web:patrickaudley.com— decentralized identifier (/.well-known/did.json)/.well-known/webfinger— WebFinger/foaf.rdf— FOAF profile/.well-known/api-catalog— API catalog/sitemap.xml— sitemap (freshness vialastmod)
Licensing & AI use
-
AI/LLM training is explicitly permitted. The crawl policy is open — no
Disallowrules (see/robots.txtand the Content-Signal header). - Content is licensed Creative Commons BY-NC-SA CAv2.5; attribution to “Patrick Colm Audley” appreciated.
- The family genealogy data is dedicated to the public domain under CC0 1.0 Universal (Public Domain Dedication) (CC0) and is freely reusable.
Provenance & verification
What you fetch here can be independently verified as authentic:
- Pages pin their assets with SRI (Subresource Integrity) hashes.
- Signed resources carry detached OpenPGP signatures (
.asc); the key is published via WKD and at/.well-known/keys.txt. - HTTP responses carry HTTP Message Signatures; the directory is at
/.well-known/http-message-signatures-directory. - Build provenance (who, what, when generated each artifact) is in the PROV-O graph and
/.well-known/content-provenance.json.
Verification recipes
Inspect the discovery layer (tools, agent policy, skills):
curl -s https://patrickaudley.com/.well-known/mcp.json | jq '.tools[].name'
curl -s https://patrickaudley.com/.well-known/agent-policy.json | jq '.agent_use, .citation_required'
curl -s https://patrickaudley.com/.well-known/agent-skills/index.json | jq '.skills[].name'
Verify a signed artifact, then inspect build provenance:
# import the published key, then verify any signed source
curl -s https://patrickaudley.com/.well-known/pgp.txt | gpg --import
curl -sO https://patrickaudley.com/llms.txt
curl -sO https://patrickaudley.com/llms.txt.asc
gpg --verify llms.txt.asc llms.txt
curl -s https://patrickaudley.com/.well-known/content-provenance.json | jq '.'
Build & technology
The generator is badged BespokeIdentityHub_v2.5. Under the hood, the site is rendered to static HTML and linked data by a bespoke Go html/template pipeline; assets are content-addressed and integrity-pinned with SRI, and images are optimized at build time with jampack. Typefaces are Inter and Source Serif 4. The site sets no cookies, reads with no JavaScript required, and embeds no third-party trackers; hosted behind Cloudflare and Apache, with machine-readable resources signed using OpenPGP.
Build: 4dd89a8