Skip to content

feat(mcp-server): listings, expiry and structured data for agents (RFC-0042 step 4) - #106

Merged
Madraka merged 1 commit into
mainfrom
feat/stage3-mcp
Oct 23, 2026
Merged

Madraka merged 1 commit into
mainfrom
feat/stage3-mcp

Conversation

@Madraka

@Madraka Madraka commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Step 4 of RFC-0042's rollout (ADR-0044), built on #103–#105.

Tools (109 → 110)

  • list_collections: each list field with its operators and whether it sorts, and the preset's path table: required paths, groups, accepted sources and vocabularies, plus warnings.
  • update_collection: takes listFields, expiry and structuredData; null removes one.
    • The store's checks run in precheck: unknown_field, invalid_expiry, structured_data_invalid, list_field_in_use and gates_unsupported, with paths.
    • Approval lines describe the change in words, e.g. expiry: … leave listings … 1 hour after "Ends at"; 1 published entry is already past it, or structured data: Event, maps startDate ← field startsAt ….
  • list_entries: takes where, orderBy, limit and cursor. Without them the answer is unchanged.
  • create_page / update_page: changed contentList queries are checked in precheck (invalid_query).
  • New preview_structured_data (content:read, read-only): the JSON-LD the site emits for an entry (the renderer's entryStructuredData), plus issues.
  • Agent guidance: hints for the new codes, including gates_unsupported for both expiry and availability, and a "Listings, expiry and structured data" paragraph in the server instructions.

@cloudhal/astro-renderer/structured-data is a new subpath, so mcp-server doesn't pull in the root (same pattern as navigation, preview and taxonomy).

Choices

  • create_collection doesn't take these settings, since it takes no fields either.
  • The Studio label for the new tool comes in step 5.

Checks

  • mcp-server: 168/168.
  • agent-runtime: 72/72.
  • turbo typecheck: 20/20, tests included.
  • Biome, size check and the MCP doc check are clean.

Changeset: minor (mcp-server), patch (astro-renderer).

🤖 Generated with Claude Code

…C-0042 step 4)

- list_collections returns list fields with their operators and the
  preset's path table; update_collection takes listFields, expiry and
  structuredData, checked in precheck, with approval lines in words
  (including how many published entries are already past an expiry).
- list_entries takes where, orderBy, limit and cursor.
- create_page / update_page check contentList queries in precheck.
- New preview_structured_data (content:read, read-only): the JSON-LD an
  entry emits, from the renderer's entryStructuredData, plus issues.
  109 → 110 tools.
- Hints for invalid_query, structured_data_invalid, invalid_expiry,
  list_field_in_use and gates_unsupported; server instructions.
- astro-renderer: ./structured-data subpath.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Madraka <8898640+Madraka@users.noreply.github.com>
@Madraka
Madraka merged commit d3a075a into main Oct 23, 2026
5 checks passed
@Madraka
Madraka deleted the feat/stage3-mcp branch October 23, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant