New Omeka S Module: WebMCP — Connect Omeka S with AI Agents

I’m happy to share a new module for Omeka S that brings AI-agent interoperability directly into the admin interface.

:link: Repository: https://github.com/ateeducacion/omeka-s-WebMCP


What is WebMCP?

WebMCP implements the emerging WebMCP standard (W3C Community Group draft), which allows web applications to register tools and resources that AI agents can discover and invoke directly from the browser.

In practical terms:
Your Omeka S backend can now expose structured management capabilities to AI assistants running in the browser.


What Does This Mean for Omeka S?

With WebMCP enabled, an AI agent can:

  • Create, update, delete, and search items
  • Manage item sets
  • Create and update sites
  • Upload and attach media (including IIIF, YouTube, oEmbed, URLs)
  • Manage users
  • Inspect vocabularies, properties, resource classes, and templates
  • Perform batch operations
  • Access structured Omeka resources like dashboard summaries or item JSON-LD

All operations run securely through a server-side proxy inside Omeka S, using the authenticated PHP session and CSRF protection.


Key Features

:jigsaw: Full Tool Coverage

Tools are grouped by domain:

  • Item Management
  • Media Management
  • Item Sets
  • Sites
  • Users
  • Vocabularies & Templates
  • Bulk Operations

The catalog-item tool allows AI agents to populate all 15 Dublin Core Terms fields without requiring JSON-LD knowledge.

Example:

catalog-item id=42
  title       = "Photograph of the harbour, 1923"
  creator     = "Anonymous"
  date        = "1923"
  type        = "Photograph"
  subject     = ["harbour", "maritime", "1920s"]
  rights      = "Public Domain"
  resource_class = "dctype:Image"

:framed_picture: Media from Anywhere

Attach media using:

  • Direct file URLs
  • YouTube links (with optional start/end times)
  • oEmbed services (Vimeo, SoundCloud, Flickr…)
  • IIIF Image API
  • IIIF Presentation manifests
  • Inline HTML snippets

Files fetched from URLs are stored locally in Omeka S — not external references.


:closed_lock_with_key: Secure Architecture

All tool calls are routed through:

POST /admin/webmcp/proxy

The proxy uses Omeka’s ApiManager, so requests:

  • Respect Omeka’s permission system
  • Run within the normal lifecycle
  • Use CSRF protection
  • Require an authenticated admin session

No direct /api/* exposure is needed.


How to Try It

:one: Install the module

Copy into:

modules/WebMCP

Then install it from Admin → Modules.

:two: Enable WebMCP in Chrome Canary

  • Install Chrome Canary
  • Enable: chrome://flags/#enable-web-mcp
  • Install the WebMCP extension
  • Open your Omeka S admin interface

Tools and resources register automatically.


Developer-Friendly Setup

A full Docker stack is included:

make up
make down
make test
make lint

Includes:

  • Pre-created users
  • PHPUnit tests
  • Code style checks
  • Asset cache-busting
  • CSRF injection
  • Property hydration handling for Omeka’s ValueHydrator

Example Use Cases

  • AI-assisted cataloging of large archival collections
  • Semi-automated metadata normalization
  • Guided ingestion workflows
  • Classroom experimentation with AI + cultural heritage collections
  • Research on human–AI collaboration in digital archives

Requirements

  • Omeka S 4.x+
  • PHP 8.1+

License

GPLv3


If you experiment with it, I’d be very interested in feedback — especially from institutions working with IIIF, large metadata imports, or AI-assisted curation workflows.

Happy to discuss ideas, improvements, or collaborations.

2 Likes

Even the post on the forum is done via AI!

1 Like

Yes, the plugin, the post and all the plugin testing are vibe coded. Times are changing so fast!

Yes, i did the downgrade of module BotChallenge for Omeka Classic like that. And i see many new modules from newcomers on my automatic listing of addons From Omeka Classic to Omeka Semantic that are built by AI. So many developers, librarians and curators will die soon.

1 Like

I am helping create a library for a museum project formy daughter in Laguna Beach, California. She is currently writing a book for the museum’s 60th anniversary.

I’ve been exploring your interesting AI tool; however, while it is running, I have only been able to generate “title” fields. All other metadata fields are being missed.

When using ChatGPT as the AI, the prompt enters a “hallucination” loop. I used Gemini to help troubleshoot, and it suggested hallucination as the cause, though I’m not convinced that is a valid explanation for this specific technical failure.

My end goal is to have the AI analyze a document and extract metadata for new entries in Omeka. I am also using the Daniel-KM AI Generator for images and have made great progress with that tool.

I look forward to any ideas or future updates you might have. Do you have any test sites running where I can see your module in action? I am also happy to provide access to my site for review if anyone is interested.

At the moment I’ve only tested it with Chrome Canary. WebMCP support It’s expected to be integrated into Chrome 146. As mentioned in the example, I’ve only tried it with Chrome and the indicated WebMCP extension (which uses Gemini).

Could you explain how you’re using it so I can reproduce your error?

You can also open an issue in the repository so we can track it properly.