MCP Server

Releases

1.1.1

Oct 12, 2026

  • Upload instructions send alt text and names with curl --form-string. With -F, curl reads a semicolon as the start of a field option and cuts the text there.

1.1.0

Oct 12, 2026

Sites, pages, navigation and themes.

  • Read tools: get_site (pages, navigation, item sets, item count and, with include_settings, the site settings), list_themes, get_theme_settings (every setting with its options and value, one group at a time if asked, plus the item/item set/media page blocks), get_page, describe_block_layouts and list_assets.
  • Write tools: create_site, update_site (including site settings and adding or removing the items that match a search, as a background job), update_theme_settings (with reset and dry run), create_page, update_page (replace or append blocks), update_navigation, request_asset_upload, and delete_page (off unless deleting is allowed).
  • Blocks use a compact format: layout, data, attachments, theme template and layout data. Layouts, templates, attached items and media, and asset IDs are checked first, and every problem is reported at once.
  • describe_block_layouts reads each layout's settings from the form it renders in the page editor, so block layouts from other modules are described too.
  • Theme and site settings are validated with the admin forms, and need the same site permission. The first save of a theme's settings also stores the defaults, as the admin page does.
  • Navigation uses a compact link tree that get_site returns and update_navigation takes: page links by ID or slug, URLs, browse links with a query, and link types from other modules.
  • Uploads accept an optional alt_text field; asset uploads also take name. Upload tickets record what they create (database update).
  • Tools from other modules are listed after this module's own, so omeka_info stays first.
  • omeka_info shows each site's theme.

1.0.0

Oct 10, 2026

Initial release.

  • Stateless Streamable HTTP endpoint at /mcp. It serves MCP 2026-07-28 (per-request metadata, server/discover, header validation) and the older 2025-03-26 to 2025-11-25 revisions (initialize without sessions).
  • Authentication with Omeka API keys sent as Authorization: Bearer <identity>:<credential>. Basic auth and query-string keys also work. Optional anonymous access to public resources.
  • Read tools: omeka_info, search_vocabulary, get_resource_template, search_resources and get_resource. get_resource can attach images for vision models.
  • Write tools: create_items, create_item_set, update_resources (set, add, remove and clear values, media alt text, with dry runs), add_media (URL, IIIF, oEmbed, YouTube, HTML), request_upload (one-time upload URLs for local files), and delete_resources (off unless allowed).
  • A value mapper that checks terms, data types, linked resources and template rules before saving, and reports every problem at once.
  • Write settings: read-only mode, visibility of new resources (private by default), intake item set, allow deleting. Write tools are hidden from users whose role cannot create items.
  • A compact, term-keyed record format instead of raw JSON-LD.
  • Origin checks and CORS for browser-based clients.
  • Configuration page with connection snippets, an Authorization-header self test, per-tool switches and notes for AI assistants.
  • OAuth 2.1 for apps that cannot send API keys (Claude, ChatGPT):
    • discovery documents (RFC 9728, RFC 8414, OpenID Connect fallback),
    • Client ID Metadata Documents with SSRF protections, and Dynamic Client Registration,
    • authorization code flow with mandatory PKCE, resource indicators and issuer identification,
    • a consent page that can grant read-only access,
    • rotating refresh tokens with replay detection, and token revocation.
  • "MCP connections" admin page for seeing and disconnecting apps, with step-by-step setup for Claude, ChatGPT, Claude Code and Codex (the site's address filled in, copy buttons).
  • Guides for connecting Claude Code and Codex, working with an agent, and troubleshooting, in docs/.
  • Other modules can add tools through the mcp_tools config key.
Log in for Support