- 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.
MCP Server
Releases
1.1.1
Oct 12, 2026
1.1.0
Oct 12, 2026
Sites, pages, navigation and themes.
- Read tools:
get_site(pages, navigation, item sets, item count and, withinclude_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_layoutsandlist_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, anddelete_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_layoutsreads 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_sitereturns andupdate_navigationtakes: page links by ID or slug, URLs, browse links with a query, and link types from other modules. - Uploads accept an optional
alt_textfield; asset uploads also takename. Upload tickets record what they create (database update). - Tools from other modules are listed after this module's own, so
omeka_infostays first. omeka_infoshows 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 (initializewithout 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_resourcesandget_resource.get_resourcecan 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), anddelete_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_toolsconfig key.