Nomacms Mcp Server
@NomaCMS
About Nomacms Mcp Server
MCP server for NomaCMS. Manage collections, fields, content, and assets via AI agents.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"nomacms": {
"command": "npx",
"args": [
"-y",
"@nomacms/mcp-server"
],
"env": {
"NOMA_API_KEY": "your-api-key",
"NOMA_PROJECT_ID": "your-project-uuid"
}
}
}
}Tools
39Get information about the current Noma project (name, uuid, default_locale, locales, etc.)
Add a locale code (e.g. tr, es) to the project. Requires admin API ability. Codes are lowercased. Call when setting up a multilingual site before creating translated content.
Set the project's default locale. Adds the locale to the list if it was missing. Requires admin API ability.
List all collections in the project
Get a single collection with its full field schema by slug
Create a new collection. Optionally include field definitions to create the collection with its full schema in a single request.
Update the name and slug of an existing collection
Update the display order of collections
Add a new field to a collection
Update an existing field on a collection
Update the display order of fields within a collection
List content entries for a collection with advanced filtering, sorting, and pagination. Use the 'where' parameter for powerful queries. Read the 'query-reference' resource for full documentation on operators and examples.
Get a single content entry by UUID. Response includes uuid, locale, published_at, and a `fields` object (custom field values — not a nested `data` key). Relation fields appear as nested entry objects (one-to-one) or arrays of entries (one-to-many), not as bare UUIDs.
Create a new content entry in a collection
Replace an existing content entry (HTTP PUT). Sends the full `data` payload; required fields (e.g. title, slug) must be included. Saves NEVER change the publish state — if the entry has a published version, the public API keeps serving that snapshot under state=published until you explicitly call `publish_entry`. Use `patch_entry` for partial updates and `publish_entry`/`unpublish_entry` to control visibility.
Partially update a content entry (HTTP PATCH). Only include fields you want to change (e.g. relations, one field). Saves NEVER change the publish state — call `publish_entry` explicitly to mint a new version. Prefer this over `update_entry` when you are not replacing the entire entry.
Mint a new immutable version from the entry's current draft and make it the live published version. After this call, state=published reads from the public API will return the new snapshot and `is_draft_dirty` is reset to false.
Clear the live published pointer for an entry. The entry becomes invisible under state=published in the public API, but all historical versions are retained and still accessible via `list_entry_versions` / `get_entry_version`.
Soft-delete a content entry (moves to trash). Can be restored from the admin panel.
Merge two entries in the same collection into one translation group (same as dashboard “link translation”). Both entries must exist, belong to this collection, and have **different** locales. There is no unlink via API — use the dashboard if you need to split a group. Requires an API key with **update** ability.
Create multiple content entries atomically. If one item fails, the whole request is rolled back.
Update multiple content entries atomically by UUID. If one item fails, all updates are rolled back. Saves never change publish state — call `publish_entry` per UUID to mint new versions after bulk updates.
Delete multiple content entries atomically by UUID. If one delete fails, no entries are deleted.
List all published versions for a content entry (newest first). Each version is an immutable snapshot taken at publish time. Response includes version_number, label, description, published_at, created_by, and is_current_published for each version.
Fetch a single version's metadata and raw snapshot payload. The snapshot contains the saved field values in restoration format; for API-rendered content use `get_entry` with state='published'.
Restore the draft to a previous version's snapshot and publish it as a new version. The current unpublished draft is replaced. Returns the new version number.
Update a version's editable label and/or description. The snapshot payload itself is immutable.
List assets in the project with optional pagination.
Get an asset by its UUID or by filename.
Upload a local file as an asset. Provide the absolute file path.
Upload multiple local files as assets atomically. If one upload fails, all uploads are rolled back.
Update metadata for multiple assets atomically by UUID. If one item fails, all updates are rolled back.
Delete an asset by UUID
List all webhooks configured for the current project
Get a webhook by UUID
Create a webhook for content and auth events
Update a webhook by UUID
Delete a webhook by UUID
List delivery logs for a webhook
Overview
What is Nomacms Mcp Server?
The NomaCMS MCP Server connects AI agents like Cursor and Claude Code to a NomaCMS project, enabling management of collections, fields, content entries, assets, and webhooks through natural language.
How to use Nomacms Mcp Server?
Configure the server with a NOMA_API_KEY (from User settings → API keys) and a NOMA_PROJECT_ID (from the project home page or Project settings → API Access). Add a named MCP entry to your Cursor MCP settings (~/.cursor/mcp.json) or use the Claude Code CLI. Multiple projects can be added as separate MCP entries.
Key features of Nomacms Mcp Server
- Connects AI agents to NomaCMS for content management.
- Provides 39 tools across collections, fields, entries, assets, and webhooks.
- Supports read, create, update, delete, and admin abilities.
- Offers three reference resources: field types, collections guide, queries.
- Allows multiple projects with separate MCP entries.
- Content API supports advanced filtering, pagination, and versioning.
Use cases of Nomacms Mcp Server
- Manage collections and fields via natural language.
- Create, update, publish, and unpublish content entries programmatically.
- Upload and manage assets in bulk.
- Configure webhooks and monitor their delivery logs.
- Link translations and revert entry versions.
FAQ from Nomacms Mcp Server
What API key abilities are needed for which tools?
Read abilities are needed for list/get operations; create for entries, assets, and webhooks; update for entries, asset metadata, and webhooks; delete for entries, assets, and webhooks; admin for collections, fields, and project locales. The README provides a full table.
Can I work with multiple NomaCMS projects?
Yes, each MCP entry connects to a single project. Add separate entries in your MCP config, each with its own NOMA_API_KEY and NOMA_PROJECT_ID.
How are content entry fields handled?
Fields are custom per collection. Richtext values are markdown strings on write; on read they return either raw markdown or HTML depending on the field’s editor.outputFormat. Relation fields require the related entry’s UUID or numeric ID on write and return nested objects on read.
What resources does the server provide for AI context?
Three resources: nomacms://field-types (16 field types reference), nomacms://collections-guide (best practices), and nomacms://query-reference (full filtering and pagination docs).
Is locale removal exposed through this server?
No. Only adding locales and setting the default locale are available (admin ability). To remove a locale, use the NomaCMS dashboard under Project settings → Localization.
Frequently asked questions
What API key abilities are needed for which tools?
Read abilities are needed for list/get operations; create for entries, assets, and webhooks; update for entries, asset metadata, and webhooks; delete for entries, assets, and webhooks; admin for collections, fields, and project locales. The README provides a full table.
Can I work with multiple NomaCMS projects?
Yes, each MCP entry connects to a single project. Add separate entries in your MCP config, each with its own `NOMA_API_KEY` and `NOMA_PROJECT_ID`.
How are content entry fields handled?
Fields are custom per collection. Richtext values are markdown strings on write; on read they return either raw markdown or HTML depending on the field’s `editor.outputFormat`. Relation fields require the related entry’s UUID or numeric ID on write and return nested objects on read.
What resources does the server provide for AI context?
Three resources: `nomacms://field-types` (16 field types reference), `nomacms://collections-guide` (best practices), and `nomacms://query-reference` (full filtering and pagination docs).
Is locale removal exposed through this server?
No. Only adding locales and setting the default locale are available (admin ability). To remove a locale, use the NomaCMS dashboard under Project settings → Localization.
Basic information
More Other MCP servers
Maestro
mobile-dev-incPainless E2E Automation for Mobile and Web
FastMCP v2 🚀
jlowin🚀 The fast, Pythonic way to build MCP servers and clients.
Nginx UI
0xJackyYet another WebUI for Nginx
Unity MCP ✨
justinpbarnettUnity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.
Activepieces
activepiecesAI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Comments