Agent Manifest
The /.well-known/agent-experience.json endpoint and what it advertises.
AgentXP automatically serves a machine-readable manifest at /.well-known/agent-experience.json. This endpoint advertises your site’s capabilities, content permissions, and agent-optimized endpoints to any AI agent that discovers it.
No configuration is required — the manifest is served automatically as soon as you add withAgentXP() to your middleware.
{
"name": "AgentXP-enabled site",
"url": "https://yoursite.com",
"version": "1.0",
"capabilities": {
"markdown": true,
"llmsTxt": true,
"structuredData": true
},
"permissions": {
"aiTrain": false,
"aiInput": true,
"search": true
},
"endpoints": {
"llmsTxt": "/llms.txt"
},
"agentxpVersion": "0.1.0"
}
Field reference
capabilities
What formats and features your site supports. These values are fixed for any AgentXP-enabled site:
| Field | Value | Description |
|---|
markdown | true | Agents can request pages as markdown. |
llmsTxt | true | A /llms.txt index is available. |
structuredData | true | Pages include structured data for agent consumption. |
permissions
Your content use policy — whether agents may use your content for training, as input to AI models, and in search results. These values mirror the permissions config you pass to withAgentXP().
| Field | Default | Description |
|---|
aiTrain | false | Whether agents may use your content to train AI models. |
aiInput | true | Whether agents may use your content as input to AI models. |
search | true | Whether agents may include your content in search results. |
The same permissions are also sent as Content-Signal response headers on every markdown response. See Response Headers for details.
endpoints
Where agents can find structured content on your site:
| Field | Value | Description |
|---|
llmsTxt | "/llms.txt" | Path to the llms.txt page index. |
Updating the manifest
The manifest is generated dynamically from your withAgentXP() config — there’s no static file to edit. To update the permissions it advertises, update your middleware config:
import { withAgentXP } from '@reaganhsu/agentxp-next'
export default withAgentXP({
permissions: {
aiTrain: false,
aiInput: true,
search: true,
},
})
The permissions in the manifest reflect the permissions config you pass to withAgentXP(). Update your config to update the manifest.