MCP

Search and read content with MCP

The MCP tools an AI assistant uses to search Elium, read articles and attached documents, and list spaces and templates.

Updated on 15 October 2026

Once an assistant is connected to Elium through MCP, it uses the tools below to find and read your content. Every tool runs with the permissions of the authenticated user, so an assistant can only ever access content that user is already allowed to see in Elium.

ToolWhat it does
findRelevantArticlesSearches the whole knowledge base by meaning. The default way to answer a question.
findSpecificArticlesSearches with filters: keywords, template, spaces, date range.
readArticleReturns the content and metadata of one article, including its language and version.
readAssetReturns the plain text of a document attached to an article.
findSpacesLists the spaces the user can access.
findTemplatesLists the article templates available.

findRelevantArticles

Performs a semantic (meaning-based) search of the whole knowledge base from a natural-language question and returns the most relevant articles, ranked by relevance. It takes no filters and no scoping. This is the tool an assistant uses by default to answer a question.

Each result includes the article title, a link to open it, and a matching content snippet. Snippets can also come from attached documents, when those are the best match.

findSpecificArticles

Runs a more targeted search, for when an assistant needs to filter rather than rank by meaning. It supports:

  • keyword search (a result must contain all the terms supplied)

  • filtering by template, by specific spaces, and by a date range

  • choosing the sort order

  • capping the number of results (10 by default, up to 50)

This is useful for requests such as "the five most recent articles created from the Policy template in the HR space".

readArticle

Retrieves the content of a single article from its identifier, returned as Markdown, together with its key metadata: owner, space, template, tags, any custom attributes (label and value), review or expiry date, approval status, last-version date, and whether the article is archived.

An assistant typically calls this after a search, when it needs more context than a snippet provides. It uses the metadata to judge how current and how reliable the content is.

When available, the owner, space and template include both an identifier and a name. The review information helps an assistant explain the status of its sources:

InformationHow to interpret it
Review or expiry dateA past date means the review is overdue. A future date means the review deadline has not yet passed. An absent date means no expiry is set.
Approval statusShows whether the latest approval process visible to you resulted in publication, is waiting for approval, needs correction or was cancelled.
Last-version dateThe publication date of the active version, or its creation date if unpublished. This is not the date of every edit.
Archived statusShows whether the article is archived.

The result also identifies the language, available translations and version read. An assistant can request the latest draft with draft: true if you have permission to access it.

readAsset

Retrieves the plain text of a document (file) attached to an article. Use this when more detail is needed from an attached document than the snippet returned by findRelevantArticles, or when the body of readArticle references a document worth reading in full.

The tool needs two identifiers: the article ID and the document UUID. The UUID comes from a findRelevantArticles result (the doc_uuid field) or from an <el-asset>, <el-asset-inline> or <el-asset-link> element in the body returned by readArticle (the data-asset attribute).

Returns null when the article or the document cannot be found. If no text could be extracted (for example, the file is an image or its text is not available yet), the tool refuses with a message pointing the user to the article URL.

findSpaces

Lists the spaces the user can access. This shows an assistant how the knowledge base is organised, and it returns the space IDs needed to scope a search with findSpecificArticles.

An optional name filter narrows the list. It matches anywhere in the name and ignores case and accents. Results are ordered by name and limited to 50 spaces per request, including when no filter is supplied. Use a name filter if the space you need is missing. Archived spaces are excluded.

Each result includes the space's identifier, name, link, visibility type and any description or space group. It also gives your role, the number of members, whether you can create content and whether you can publish directly. If you can create content but cannot publish directly, an approval is needed before publication.

This is useful as a first step before a targeted search, or for requests such as "which spaces can I publish to?".

findTemplates

Lists enabled article templates (article types) available across the platform or installed in spaces visible to you. Each result includes the template's identifier, name, icon if set, and whether it is available in every space. For templates installed in specific spaces, it returns only the identifiers of spaces visible to you.

It takes the same optional name filter as findSpaces. Results are ordered by name and limited to 50 templates per request. Use a name filter if the template you need is missing.

This lets an assistant find the right template before it filters a search, for requests such as "find all articles that use the FAQ template".