MCP resource schema
resources/list returns definitions, not resource bodies:
{
"resources": [
{
"uri": "pom://site/authoring-context",
"name": "POM site authoring context",
"description": "…",
"mimeType": "application/json"
}
]
}
The list contains fixed POM guides plus up to 200 shortcode-item resources derived from the current runtime. Clients must not rely on a fixed count.
Read one URI with:
{
"method": "resources/read",
"params": {
"uri": "pom://site/authoring-context"
}
}
The result has one content item:
{
"contents": [
{
"uri": "pom://site/authoring-context",
"mimeType": "application/json",
"text": "{\"target\":…}"
}
]
}
All payloads use text. When mimeType is application/json, decode text as JSON; when it is text/markdown, retain it as guidance. Reading an unknown URI returns the domain code pom_ai_mcp_resource_not_found.
Theme URIs require POM Theme read scope and edit_theme_options. Site and shortcode URIs require WordPress-content read scope and edit_posts. A resource response is informational and cannot carry write authorization.
Related guides: resource catalog, authorization, and error contract.