For AI agents

A content backend your agent can use, and your team can trust.

Every Moteur operation is a tool your agent can call, signed in as a person and limited to the projects they choose. What it writes waits, marked, until someone reads it.

terminal

# Hosted: sign in in the browser, choose the projects
claude mcp add --transport http moteur https://api.moteur.io/mcp

# Or local, through the CLI's sign-in
npm install -g @moteurio/cli && moteur auth login
claude mcp add moteur -- npx -y @moteurio/mcp
Two lines: hosted, or local through the CLI.

Try it

Every tool, searchable

Search the tools an agent gets: “translate”, “publish”, “alt text”. See which only read, which are left out until someone allows them, and what compact mode offers instead.

Find a tool

Tools: 184

  • auth_whoamiWho you are signed in as, and wherereads only
  • auth_providersThe sign-in options the server offersreads only
  • statusThe default project, the API, and the models in it
  • projects_listYour projectsreads only
  • projects_getShow a project and its settingsreads only
  • projects_describeA project’s shape in one answer: languages, how content goes live, your roles, every model’s fieldsreads only
  • projects_createCreate a project (JSON, or an id and a label)
  • projects_updateChange a project’s settings (JSON with the fields to change, or a new label)
  • projects_usageThis month’s use: entries, storage, requests, AIreads only
  • projects_limitsWhat the project’s plan allowsreads only
  • entries_listList a model’s entries: search, filter, sort, pagereads only
  • entries_getShow one entryreads only
  • entries_createCreate an entry from its JSON ({ id, data, … }) and/or fields to set
  • entries_updateChange fields of an entry: fields to set (title.en=…), or JSON { data: {…} }
  • entries_publishPublish an entry: what is saved now goes live
  • entries_statusSet an entry’s state (draft, in_review, published, unpublished)
  • entries_reviewAsk for a review of an entry
  • entries_historyThe saved versions of an entry, newest firstreads only
  • entries_versionAn entry as one saved version had itreads only
  • models_listList the modelsreads only
  • models_getShow one modelreads only
  • models_createCreate a model from its JSON
  • models_updateChange part of a model (JSON with the fields to change)
  • models_historyThe saved versions of a model, newest firstreads only
  • models_versionA model as one saved version had itreads only
  • reviews_listReviews: waiting, approved, sent backreads only
  • reviews_getShow one reviewreads only
  • reviews_approveApprove a review: the entry is published
  • reviews_rejectSend it back with a note for the asker
  • schedules_listPublishing and unpublishing to come (and past)reads only
  • schedules_getShow one schedulereads only
  • schedules_createPublish or unpublish an entry or a page at a given time
  • schedules_cancelCancel a schedule that hasn’t run
  • comments_listNotes on an entry or a pagereads only
  • comments_addLeave a note on an entry, a page, or one of their fields
  • comments_editChange a note’s text
  • comments_resolveMark a note done
  • notifications_listYour notifications (unread first)reads only
  • notifications_readMark one read
  • notifications_read_allMark them all read
  • activity_listWhat happened in a project, newest firstreads only
  • activity_ofWhat happened to one thing: an entry (entry article__glace), a page, a model…reads only
  • pages_listList the pagesreads only
  • pages_getShow one pagereads only
  • pages_createCreate a page from its JSON
  • pages_updateChange part of a page (JSON with the fields to change)
  • pages_by_slugFind a page by its slugreads only
  • pages_referrersWhat links to a page: entries and other pages (check before deleting it)reads only
  • pages_statusSet a page’s state (draft, published…)
  • pages_reviewAsk for a review of a page
  • pages_reorderMove pages in the tree (JSON: [{ id, parentId, order }…])
  • pages_validateCheck a page for problemsreads only
  • pages_validate_allCheck every pagereads only
  • pages_historyThe saved versions of a page, newest firstreads only
  • pages_versionA page as one saved version had itreads only
  • site_urlsEvery published address of the site, in every languagereads only
  • site_sitemapThe sitemap, as XML (default) or JSONreads only
  • site_navigationThe page tree as the site navigates itreads only
  • site_breadcrumbThe trail to a page (and an entry shown on it)reads only
  • site_resolveWhat lives at an address: a page or entry (and its language), or a redirectreads only
  • site_redirectsOld addresses and where they goreads only
  • site_redirect_addSend an old address somewhere else
  • site_redirect_updateChange where a redirect goes
  • menus_listList the menusreads only
  • menus_getShow one menureads only
  • menus_createCreate a menu from its JSON
  • menus_updateChange part of a menu (JSON with the fields to change)
  • media_listFiles in the library, newest firstreads only
  • media_getShow one filereads only
  • media_uploadAdd files to the library
  • media_updateChange a file’s alt text, title, caption, credit or focal point
  • media_movePut a file in a folder ("" for none)
  • media_replaceSwap a file for another of the same kind, keeping its id and uses
  • media_deletePut a file in the bin (it can come back)
  • media_binFiles in the binreads only
  • media_restoreTake a file out of the bin
  • media_usageWhere a file is used (or, without an id, how many places use each file)reads only
  • media_batchChange several files at once (JSON: { action: bin|restore|move|update, ids, folder, changes })
  • media_regenerateRemake the sizes of some files (or all)
  • media_video_checkAsk the video host where a video stands
  • media_video_retrySend a refused video to its host again
  • media_settings_getStorage, sizes and video hostsreads only
  • media_settings_updateChange media settings (JSON: { assetConfig, videoProviders })
  • media_settings_check_storageTry storage settings before saving them (JSON: { adapter, adapterConfig })reads only
  • media_settings_asset_configImage sizes and formatsreads only
  • media_settings_set_asset_configChange image sizes and formats (JSON)
  • templates_listList the templatesreads only
  • templates_getShow one templatereads only
  • templates_createCreate a template from its JSON
  • templates_updateChange part of a template (JSON with the fields to change)
  • templates_validateCheck a template for problemsreads only
  • templates_historyThe saved versions of a template, newest firstreads only
  • templates_versionA template as one saved version had itreads only
  • layouts_listList the layoutsreads only
  • layouts_getShow one layoutreads only
  • layouts_createCreate a layout from its JSON
  • layouts_updateChange part of a layout (JSON with the fields to change)
  • layouts_historyThe saved versions of a layout, newest firstreads only
  • layouts_versionA layout as one saved version had itreads only
  • structures_listList the structuresreads only
  • structures_getShow one structurereads only
  • structures_createCreate a structure from its JSON
  • structures_updateChange part of a structure (JSON with the fields to change)
  • structures_historyThe saved versions of a structure, newest firstreads only
  • structures_versionA structure as one saved version had itreads only
  • blocks_listList the blocksreads only
  • blocks_getShow one blockreads only
  • blocks_createCreate a block from its JSON
  • blocks_updateChange part of a block (JSON with the fields to change)
  • blocks_historyThe saved versions of a block, newest firstreads only
  • blocks_versionA block as one saved version had itreads only
  • blocks_coreThe server’s own block typesreads only
  • forms_listList the formsreads only
  • forms_getShow one formreads only
  • forms_createCreate a form from its JSON
  • forms_updateChange part of a form (JSON with the fields to change)
  • forms_historyThe saved versions of a form, newest firstreads only
  • forms_versionA form as one saved version had itreads only
  • submissions_listWhat people sent through a formreads only
  • submissions_getShow one submissionreads only
  • submissions_markMark a submission read or unread, spam or not
  • submissions_exportEvery submission of a form, as CSV or JSON (or written to a file)reads only
  • field_types_listEvery field type the server knows, with its optionsreads only
  • members_listPeople in the project, their roles, when they were last herereads only
  • members_updateChange someone’s roles in the project, or turn their access off
  • invites_listInvites not answered yetreads only
  • invites_sendInvite someone to the project
  • invites_resendSend an invite again
  • invites_showWhat an invite link is forreads only
  • invites_acceptJoin a project with an invite (signed in)
  • invites_registerCreate your account from an invite
  • keys_listAPI keys (never their secrets)reads only
  • keys_createMake an API key (its secret is shown once)
  • keys_updateChange a key’s name, expiry or what it may read
  • channels_listList the channelsreads only
  • channels_getShow one channelreads only
  • channels_createCreate a channel from its JSON
  • channels_updateChange part of a channel (JSON with the fields to change)
  • channels_openapiThe OpenAPI document a frontend reads this channel withreads only
  • channels_schemaWhat this channel delivers, described: models, templates, blocks, structuresreads only
  • webhooks_listList the webhooksreads only
  • webhooks_getShow one webhookreads only
  • webhooks_updateChange part of a webhook (JSON with the fields to change)
  • webhooks_createCall an address when content changes: a build hook, or any service
  • webhooks_testSend a test call
  • webhooks_logRecent deliveries and their answersreads only
  • webhooks_retrySend a failed delivery again
  • branches_listContent branches, and the current onereads only
  • branches_createStart a branch
  • branches_switchWork on another branch
  • branches_logThe content’s git historyreads only
  • branches_statusWhere the history stands: branch, last commit, and what the Git address lacksreads only
  • branches_pushPush the history to the project’s Git address now
  • typesTypeScript types of the content (models, templates, blocks, structures)reads only
  • imports_runImport a bundle: schemas, files, pages, entries, menus, redirects (all or nothing)
  • imports_listRecent importsreads only
  • imports_getAn import and how far it has comereads only
  • imports_approvePut a waiting import live (a person who can publish)
  • exportThe project as an import bundlereads only
  • ai_statusWhether AI is on, and with which providerreads only
  • ai_settingsThe project’s AI: provider and creditsreads only
  • ai_helpersThe helpers you may use here, with creditsreads only
  • ai_writeSuggest text for a field: draft, rewrite, shorten, expand, change the tone
  • ai_translateTranslate a field’s text from one language to another
  • ai_altSuggest alt text and a caption for a picture
  • ai_imageMake pictures from a description
  • ai_audioMake speech from text
  • ai_model3dMake a 3D model from a description
  • ai_keep_modelKeep a generated 3D model in the media library
  • ai_entryDraft a whole entry for a model (shown, not saved)
  • ai_auditWhat AI was asked in the project (prompts for operators)reads only
  • ai_audit_eventOne AI event in fullreads only
  • radar_reportProblems found in the content (missing translations, broken links…)reads only
  • radar_entryProblems in one entryreads only
  • search_querySearch entries in the project’s search enginereads only
  • shopify_statusThe Shopify connectionreads only
  • shopify_connectSet the shop, its token and the product model
  • shopify_syncPull products from Shopify into entries
  • commands_listCommands plugins added on this APIreads only
  • play_pollA poll’s resultsreads only
  • play_qrA QR code as SVGreads only
  • play_oembedThe embed for a link (YouTube, Vimeo…)reads only
  • blueprints_listBlueprints of a kindreads only
  • blueprints_getShow a blueprintreads only

The list is the engine’s own: the same commands as the CLI. A tool for a plugin shows up only where the plugin runs.

For agent builders

Built for agents

The things that make an agent useful in a real project, and the ones that make the team let it in.

  • Start

    One call to understand a project

    projects_describe returns the languages, how content goes live, and every model’s fields, so an agent knows the shape before it writes.

    • No guessing field names
    • Then entries_list for a model
  • Size

    Many tools, or three

    Clients that handle many tools get one per command. The rest get compact mode: find, describe, run.

    • 170 by default
    • Three in compact mode
  • Sign-in

    Signed in as a person

    An agent connects through the Studio, as someone, to the projects they pick, at the level they choose.

    • No token to paste
    • Disconnect at once
  • Reviews

    Changes wait for a person

    What an agent writes is marked until read, and goes live only after a person approves it.

    • It can’t approve itself
    • Two names on every change
  • Safety

    Nothing it can’t undo

    Tools that delete, purge or merge stay out unless allowed. Every save is a commit with a way back.

    • Billing tools are opt-in
    • Server operations never are tools
  • AI

    Helpers it can call too

    An agent can ask the project’s own AI helpers to translate or write alt text, for the same credits as a person.

    • ai_translate
    • When an admin turns them on

Questions agent builders ask

A developer asksWhich clients work?

MoteurClaude Code, Claude, ChatGPT and other MCP clients, through the hosted server. Locally, any client that runs an MCP server over stdio.

A developer asksCan my agent publish?

MoteurConnected through Moteur Cloud, no: a person approves what it writes. Run locally by a developer, it can be allowed to publish their own work.

An agency owner asksDoes it need its own account?

MoteurNo. It works as the person who connected it, with their roles, and its changes say so: “Louise Gagnon via Claude Code”.

A developer asksHow does it know what’s in a project?

MoteurIt asks. projects_describe returns the languages, the workflow and every model’s fields in one answer.

Give your agent a project.

Start a free project, connect your assistant, and ask it to describe what’s there.