MCP

Create and update articles with MCP

Let an AI assistant create articles and edit existing ones in Elium through MCP, then review its drafts before they are published.

Updated on 15 October 2026

Once an assistant is connected to Elium through MCP, it can save new content in Elium and edit existing articles. Its changes are saved as drafts by default: you review them in Elium, then follow your usual publication or approval process.

ToolWhat it does
createArticleCreates an article from Markdown when writing is enabled.
updateArticleApplies targeted Markdown edits and saves a draft when writing is enabled.
findSectionsLists the sections (folders) in a space.
getContentSyntaxReturns the Markdown specification used for article bodies.
checkArticleBodyValidates a Markdown body before creating an article.

createArticle

Ask your connected assistant to save content in Elium, for example: "Create a draft called Meeting notes in the Operations space from this Markdown."

  1. Ask the assistant to find the space with findSpaces and check that you can create content there.
  2. Provide the article title and Markdown body. The assistant sends these with the space identifier to createArticle. It creates a draft by default (publish: false).
  3. Open the returned article link in Elium. Review the draft, then follow your usual publication or approval process.

You can explicitly ask the assistant to publish the new article (publish: true). Your space permissions still apply: the article may need approval before publication. The result includes the article identifier, its link and whether it was published. An unpublished result can mean either a draft or an article awaiting approval.

The tool accepts standard Markdown, including tables, task lists, strikethrough, footnotes, maths, subscripts and superscripts. For syntax examples, see Markdown input format. Use the standard Markdown forms for this tool; it does not offer the Elium Markdown import mode.

If the importer reports formatting or content it cannot preserve, the request is rejected before creating an article. Ask the assistant to correct the reported issues and try again.

updateArticle

Ask your connected assistant to change a specific passage, for example: "In the travel policy, replace the meal allowance of €25 with €30 and save a draft."

  1. Ask the assistant to read the article first, including its latest draft if it has unpublished changes.
  2. Describe the passages to change. The assistant sends the exact existing Markdown and its replacement. It should include the version it read, so Elium rejects the update if a newer version exists. For a translated article, it must also name the language it read; only that translation changes.
  3. Open the returned article link in Elium. Review the draft, then follow your usual publication or approval process. The tool never publishes the changes.

Each passage must match exactly one location unless the assistant explicitly requests all matches. A replacement can be empty to delete text. If a passage is missing, ambiguous or overlaps another edit, the whole request is rejected and nothing changes. Edits are also refused while someone else is editing the article. After a version conflict, ask the assistant to read the latest draft before trying again.

The tool changes the article body only. It can add a short comment to version history and reports any formatting adjustments. For supported formatting, see Markdown input format.

findSections

Lists the sections (folders) a space uses to organise its articles. Only spaces configured for it have sections; the result is empty for the others, and articles created there are simply left unsorted.

Each result includes the section identifier, its full path (parent names separated by " / ") and its description when set. The description usually explains what belongs in that section.

Pass the section id as the section_id parameter of createArticle to file a new article in that section.

getContentSyntax

Returns the Markdown specification used for article bodies. This documents every block and inline element with its attributes, the Markdown and HTML forms each one takes, and the elements each kind of document accepts.

Read it before writing or editing a body that needs more than paragraphs, lists and links. This is the dialect readArticle returns and createArticle and updateArticle expect.

The tool takes no arguments and returns the specification as Markdown. The same document is also available as a resource at elium://content/syntax.

checkArticleBody

Dry-runs the import of an article body and reports what it would be stored as. Nothing is written.

This is the check createArticle runs before it writes anything: a body that comes back as importable is one the tool will accept. Compare the returned canonical_markdown with what you sent: markup Elium does not recognise is dropped or kept as text, which shows there rather than as a problem.

The result includes:

  • importable: whether createArticle would accept this body

  • canonical_markdown: the body as it would be stored, rendered back to Markdown

  • problems: what the import would lose or rewrite, one line each

Use this before createArticle when the body contains complex formatting. If problems are reported, ask getContentSyntax to learn the supported markup, fix the body, and check again.