Elium AI

MCP

Connect Elium with ChatGPT, Claude, Microsoft Copilot Studio or your own system.

Updated on 12 October 2026

About

The Model Context Protocol (MCP) is an open standard that allows AI models and external applications to securely access real-time, contextual data from connected systems. In the context of Elium, MCP enables a bridge between your knowledge base and AI tools such as ChatGPT or other compliant assistants.

Through MCP, an AI assistant can query your Elium content, for example, to answer user questions, summarise documentation, or provide context-aware support without needing to manually copy or export data. Access is managed via OAuth authentication, ensuring that only authorised users and applications can retrieve information based on their Elium permissions.

Each Elium instance exposes its MCP endpoint at https://your-platform-name.elium.com/services/mcp, which can be used to connect your platform’s knowledge securely to external AI ecosystems.

Available tools

Once a connection is established, the Elium MCP server offers tools to search, read, create and update articles. 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.
findSpacesLists the spaces the user can access.
findTemplatesLists the article templates available.
createArticleCreates an article from Markdown when writing is enabled.
updateArticleApplies targeted Markdown edits and saves a draft when writing is enabled.

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.

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.

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".

Examples in practice

Here are a few things a connected assistant can do, and the tools it uses behind the scenes.

  • "How do I request parental leave?" A meaning-based search (findRelevantArticles) answers from the most relevant HR articles, with links.

  • "Summarise the policies we updated this quarter." A filter by template and date range (findSpecificArticles), then a read of each result (readArticle) to summarise it.

  • "Is our data-retention policy still up to date?" A read of the article (readArticle), then a check of its review date and approval status before answering.

  • "Which spaces can I post to?" A list of the user's spaces and their rights (findSpaces).

  • "Find every FAQ article in the Support space." A template lookup (findTemplates), a space lookup (findSpaces), then a filtered search (findSpecificArticles).

Every example runs with the user's own permissions. The assistant never sees content that the user could not already open in Elium.

Regarding authentication

Elium uses the OAuth 2.0 protocol to authenticate and authorise access to the MCP endpoint. OAuth ensures that external applications can only access Elium data on behalf of users who have explicitly granted permission.

There are two ways to configure OAuth authentication for MCP integrations:

Elium supports Dynamic Client Registration (DCR), and it is enabled on every platform. With DCR, an assistant registers itself as an OAuth client on your platform. Nobody has to create a client ID and secret by hand.

Elium only accepts registrations from known applications, such as ChatGPT and Microsoft Copilot Studio. Each one must use a redirect URL that Elium allows, so access tokens only go to these applications. Registered applications appear in Connected apps with a "DCR" badge: see Dynamic client registration.

To connect another application through DCR, contact support@elium.com with its name (client_name) and the redirect URLs it uses (redirect_uris). Only ask for applications you trust.

2. Manual OAuth client creation

Platform administrators can create an OAuth client manually, in Settings > Connected apps. The Claude setup below uses this method.

Once created, the client credentials (client ID and client secret) can be used to authenticate with the MCP endpoint according to the OAuth 2.0 flow.

This approach gives administrators full control over the client configuration and redirect URLs.

Recommendation

Use DCR whenever your assistant supports it, as ChatGPT and Copilot Studio do: there is nothing to create in Elium. Use manual OAuth client creation for an application that cannot register itself, or when you need to manage client credentials and redirect URLs yourself.

Setup instructions

Select your app’s section for detailed setup instructions.

Microsoft Copilot Studio

Elium supports Copilot’s dynamic client registration, so you do not create a connected app in Elium.

  1. In Copilot Studio, add an MCP server to your agent. Use https://your-platform-name.elium.com/services/mcp as the Server URL, replacing your-platform-name with your Elium platform name.
  2. Select OAuth 2.0, then Dynamic discovery. This registers the connection without asking you to create a client ID and secret manually.
  3. Create the connection, sign in to Elium and approve the requested access. Add the MCP tools to your agent, then test with a question about an article you can read in Elium.

See Microsoft’s Copilot Studio setup instructions for the current screens and connection steps.

ChatGPT

ChatGPT registers itself with Elium through dynamic client registration (DCR), so you do not create a connected app in Elium.

These steps use the ChatGPT desktop app.

  1. Open Customize, then Plugins.

  2. Click Add in the top right corner, then click Add custom MCP server.

  3. Complete the form:

    • Name: Elium

    • Description (optional): a short description, for example Trusted Knowledge Base

    • Connection: keep Server URL selected and enter https://your-platform-name.elium.com/services/mcp, with your Elium platform name in place of your-platform-name

    • Authentication: OAuth

  4. Click Advanced OAuth settings. In Registration method, choose Dynamic Client Registration (DCR).

  5. Under Default scopes, keep mcp selected so ChatGPT can search and read articles. Keep mcp:write selected as well if ChatGPT should create and update articles.

  6. Read the warning about custom MCP servers. Select I understand and want to continue, then click Create as a plugin.

  7. In the Connect Elium window, click Continue to Elium.

  8. Elium opens in your browser. Sign in if Elium asks you to, then approve the access that ChatGPT requests.

You can now search your Elium platform from a ChatGPT conversation.

Elium is also listed on the Personal tab of the Plugins page, under Created by you. If you closed the Connect Elium window before step 8, click + next to Elium to open it again.

Claude

Step 1: create the Claude connected app in Elium

In Settings, open Connected apps and click New application. Follow Register an application with the details above.

Step 2: add the custom connector to Claude

The MCP server's URL of Elium is : https://your-platform-name.elium.com/services/mcp

Use Client ID and secret from Elium connected app.

Step 3: enable it in the conversation

You can now search in Elium from your Claude conversation.