NomaCMS MCP Server
io.github.NomaCMS/nomacms-mcp-server·v1.2.2·1 starsMCP server for NomaCMS. Manage collections, fields, content, assets, and webhooks via AI agents.
1 stars42 downloads/wk
Reviews
Write oneNobody has reviewed NomaCMS MCP Server yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
NomaCMS MCP Server tools (39, 22 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_project_localeAdd 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.
bulk_create_entrieswrite actionCreate multiple content entries atomically. If one item fails, the whole request is rolled back.
bulk_delete_entrieswrite actionDelete multiple content entries atomically by UUID. If one delete fails, no entries are deleted.
bulk_update_asset_metadatawrite actionUpdate metadata for multiple assets atomically by UUID. If one item fails, all updates are rolled back.
bulk_update_entrieswrite actionUpdate multiple content entries atomically by UUID. If one item fails, all updates are rolled back.
bulk_upload_assetswrite actionUpload multiple local files as assets atomically. If one upload fails, all uploads are rolled back.
create_collectionwrite actionCreate a new collection. Optionally include field definitions to create the collection with its full schema in a single request.
create_entrywrite actionCreate a new content entry in a collection
create_fieldwrite actionAdd a new field to a collection
create_webhookwrite actionCreate a webhook for content and auth events
delete_assetwrite actionDelete an asset by UUID
delete_entrywrite actionSoft-delete a content entry (moves to trash). Can be restored from the admin panel.
delete_webhookwrite actionDelete a webhook by UUID
get_assetGet an asset by its UUID or by filename.
get_collectionGet a single collection with its full field schema by slug
get_entryGet a single content entry by UUID. Response includes uuid, locale, published_at, and a `fields` object (custom field values — not a nested `data` key).
get_entry_versionFetch 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'.
get_projectGet information about the current Noma project (name, uuid, default_locale, locales, etc.)
get_webhookGet a webhook by UUID
link_entry_translationMerge two entries in the same collection into one translation group (same as dashboard “link translation”).
list_assetsList assets in the project with optional pagination.
list_collectionsList all collections in the project
list_entriesList content entries for a collection with advanced filtering, sorting, and pagination.
list_entry_versionsList all published versions for a content entry (newest first). Each version is an immutable snapshot taken at publish time.
list_webhook_logsList delivery logs for a webhook
list_webhooksList all webhooks configured for the current project
patch_entrywrite actionPartially update a content entry (HTTP PATCH). Only include fields you want to change (e.g. relations, one field).
publish_entrywrite actionMint a new immutable version from the entry's current draft and make it the live published version.
reorder_collectionswrite actionUpdate the display order of collections
reorder_fieldswrite actionUpdate the display order of fields within a collection
revert_entry_versionRestore the draft to a previous version's snapshot and publish it as a new version. The current unpublished draft is replaced.
set_default_project_localeSet the project's default locale. Adds the locale to the list if it was missing. Requires admin API ability.
unpublish_entryClear 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`.
update_collectionwrite actionUpdate the name and slug of an existing collection
update_entrywrite actionReplace an existing content entry (HTTP PUT). Sends the full `data` payload; required fields (e.g. title, slug) must be included.
update_entry_version_labelwrite actionUpdate a version's editable label and/or description. The snapshot payload itself is immutable.
update_fieldwrite actionUpdate an existing field on a collection
update_webhookwrite actionUpdate a webhook by UUID
upload_assetwrite actionUpload a local file as an asset. Provide the absolute file path.
Public scan report
scanner v0.1.9 · 2026-09-25 · same rubric, same numbers if you re-run it
- Code scan19 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 72 days ago12/15
- Maintainer identityregistry namespace matches repository owner7/10
How NomaCMS MCP Server compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 77/100
- higher than 50% of 48,255 servers
- Tools
- 39
- the typical server has 7
- Tools that change things
- 56%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,688 servers
- Downloads a week
- 42
- more than 34% of 12,191 servers with a package
What its tools let an agent do: 15 read · 6 create · 14 change · 3 delete · 1 send or post
Install NomaCMS MCP Server in Claude Code, Cursor or VS Code
Runs npx -y @nomacms/mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add nomacms-mcp-server -- npx -y @nomacms/mcp-server
What the publisher says
From the NomaCMS MCP Server repository's README, as published. We do not edit it. Read it on GitHub
NomaCMS MCP Server
An MCP (Model Context Protocol) server that connects AI agents like Cursor and Claude Code to your NomaCMS project. Manage collections, fields, content entries, assets, and webhooks programmatically through natural language.
Configuration
- NOMAAPIKEY: API key from User settings → API keys — see API key abilities.
- NOMAPROJECTID: Your project's UUID — you can find it on the project home page or under Project settings → API Access
Usage with Cursor
Add this to your Cursor MCP settings (~/.cursor/mcp.json):
{
"mcpServers": {
"nomacms": {
"command": "npx",
"args": ["-y", "@nomacms/mcp-server"],
"env": {
"NOMA_API_KEY": "your-api-key",
"NOMA_PROJECT_ID": "your-project-uuid"
}
}
}
}Usage with Claude Code
Add the MCP server using the Claude Code CLI:
claude mcp add nomacms \
-e NOMA_API_KEY=your-api-key \
-e NOMA_PROJECT_ID=your-project-uuid \
-- npx -y @nomacms/mcp-serverAvailable Tools (39)
Project
- getproject — Get project information (defaultlocale, locales, etc.)
- addprojectlocale — Add a locale code to the project (requires admin)
- setdefaultprojectlocale — Set the default locale (requires admin**)
Removing locales is intentionally not exposed here (use Project settings → Localization in the NomaCMS dashboard if you must remove a locale).
Collections
- list_collections — List all collections
- get_collection — Get a collection with its full field schema
- create_collection — Create a collection (with optional batch field creation)
- update_collection — Update a collection's name and slug
- reorder_collections — Reorder collections
Fields
- create_field — Add a field to a collection
- update_field — Update a field
- reorder_fields — Reorder fields within a collection
Content Entries
- list_entries — List entries with advanced filtering (where with 13 operators, OR groups, relation filtering), sorting, pagination, count, and first
- get_entry — Get a single content entry
- create_entry — Create a content entry
- update_entry — Update a content entry
- patch_entry — Partially update an entry (HTTP PATCH; merge only the fields you send)
- publishentry — Publish the draft as a new immutable version (update**)
- unpublishentry — Clear the live published pointer; versions retained (update**)
- delete_entry — Soft-delete a content entry (moves to trash)
- bulkcreateentries — Create multiple entries atomically
- bulkupdateentries — Update multiple entries atomically by UUID
- bulkdeleteentries — Delete multiple entries atomically by UUID
- linkentrytranslation — Link two entries (different locales) into the same translation group (POST …/link-translation; requires update ability)
Content API shape: Each entry has uuid, locale, publishedat, and fields (custom field values). Richtext values are markdown strings on write; on read they are either raw markdown or rendered HTML depending on the field’s editor.outputFormat (markdown vs html). Relation fields return nested entry objects (or arrays for one-to-many) on read; on write send only the related entry’s UUID or numeric id (never the full nested object from a previous getentry). getentry supports translationlocale, exclude, timestamps, and state query parameters.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
NomaCMS MCP Server: common questions
- Is NomaCMS MCP Server safe?
- Mostly: it is graded B (77/100). Read the NomaCMS MCP Server safety report
- How do I install NomaCMS MCP Server?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does NomaCMS MCP Server need an API key?
- Yes. The registry entry asks for
NOMA_API_KEY. - Is NomaCMS MCP Server maintained?
- The last commit was 112 days ago (2026-07-15). The latest release is v1.2.2.
- How does NomaCMS MCP Server compare with other MCP servers?
- safety score 77/100 (higher than 50% of 48,255 servers); tools 39 (the typical server has 7); tools that change things 56% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.