Model Context Protocol adapter for GoPress Agent capabilities. Exposes content management, taxonomy, and media tools through MCP with authorization enforcement.
GoPress MCP demonstrates solid naming conventions with clear verb-noun structure (get, list, create, update, publish, move_to_trash, restore). All 12 tools have descriptions present and mostly adequate (ranging 50-200 chars, meeting baseline of 194 chars average). Input schemas are fully defined with proper JSON Schema types and per-parameter descriptions. However, output schemas are not documented, a critical gap for agent planning. Error handling is basic; no explicit error classification or recovery guidance visible. Tool composition is good (single responsibility per tool), and field naming is consistent (content_type, expected_updated_at). Security patterns (optimistic locking, explicit confirmation for destructive ops) are well-implemented. The main weakness is lack of documented response structures and output field mapping needed for tool chaining.
Create one draft in an editable registered content type.
Read one content item by both registered type and ID.
Page through content of one registered type using bounded filters.
Move one content item to trash after explicit confirmation.
Publish one content item after explicit confirmation.
Restore one matching trashed content item as a draft.
Output schemas not documented. No specification of return types, field structure, pagination metadata, or chaining fields (IDs needed for downstream tools).
No documented error handling or recovery guidance. Errors should categorize as retryable/user-fixable/fatal and include actionable messages (e.g., 'Invalid content_type. Available types: posts, pages, custom-type').
create_draft and update tools accept optional 'meta' (object) without schema definition. Meta field should have documented structure (keys, value types, constraints) to prevent agent hallucination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 79 | 2026-07-28+ | v2 |
Update safe fields on one content item using ownership checks and optimistic locking.
List active content types and their editable field declarations.
Page through uploaded media with optional MIME type filtering.
Update metadata (alt text, title, caption) on one media item using optimistic locking.
Return safe site metadata and the current Agent capability revision.
List terms attached to one registered content type.
List tools (content.list, media.list) lack explicit result size limits in descriptions. Agents need to know max results returned per call to plan pagination correctly.
Destructive tools (publish, move_to_trash) require 'confirm' boolean parameter, but description does not explain consequence of confirm=false (what happens? Is operation aborted, or does it proceed anyway?). This ambiguity risks silent failures.