Eolymp runs an MCP server for every space. MCP (Model Context Protocol) is the standard way AI assistants such as Claude and ChatGPT connect to outside systems. Once you connect one to your space, you can ask it about your contests, problems, members and submissions, and ask it to make changes, all from the assistant's own chat window.
The assistant signs in as you. It can see and change only what your account can see and change in the space.
You need three things:
An Eolymp account with access to the space. What the assistant can do depends on the permissions you have there, described in Access management.
An AI client that supports remote MCP servers with sign-in. This page covers Claude, Claude Code and ChatGPT. Other clients work too if they support remote MCP servers with OAuth sign-in.
Your space's Space ID.
Open Settings in the console. The Space ID is shown on the General card of the General tab, as described in Space settings. Copy it as it appears there.
The Space ID and the space key are different. The key is the name in your console URL and in <key>.eolymp.space, and it does not work in the server address.
Every space's server address follows the same pattern:
https://api.eolymp.com/spaces/<Space ID>/mcp
Replace <Space ID> with the value you copied. Each address connects to one space. To work with two spaces, add the server twice, once with each Space ID, and give each connection its own name.
Open Customize → Connectors and click +, then Add custom connector.
Enter a name, such as Eolymp, and paste the server address.
Click Add, then Connect, and sign in with your Eolymp account in the window that opens.
On Team and Enterprise plans, an organization owner adds the connector under Organization settings → Connectors first. Each member then finds it under Customize → Connectors and clicks Connect to sign in with their own Eolymp account.
Add the server, then sign in:
claude mcp add --transport http eolymp "https://api.eolymp.com/spaces/<Space ID>/mcp" claude mcp login eolymp
claude mcp login opens the browser to sign in with your Eolymp account. You can also run /mcp inside Claude Code, select the server and choose to authenticate.
Claude Code shows the server as connected before you sign in. It is not signed in yet, so sign in straight after adding it.
ChatGPT connects to MCP servers in developer mode, available on Plus, Pro, Business, Enterprise and Education plans on the web.
Turn on developer mode in ChatGPT's settings and create a new app for an MCP server.
Enter a name and paste the server address.
Choose OAuth for authentication, then sign in with your Eolymp account when ChatGPT asks.
ChatGPT asks you to confirm each action that changes something before it runs it.
With the default set of tools, the assistant can read and manage:
the space's settings and members
contests, including their participants, problems, announcements, pages, scoreboards and submissions, and participants' questions
problems, including their statements, editorials, attachments and submissions, and rejudging
posts, pages and comments
achievements and automation rules
newsletters, in spaces that have them
Every tool is marked either as read-only or as one that makes changes, and the ones that delete something are marked as destructive. Most clients run read-only tools on their own and ask you before running anything else. Read what the assistant proposes before you approve it: deleting a contest or a problem and finalizing results cannot be undone.
An assistant pays for every tool it has loaded in every conversation, even when it never uses them. That uses up the assistant's context and can make it slower and less accurate. You can load only the tools you need by adding toolset to the server address:
https://api.eolymp.com/spaces/<Space ID>/mcp?toolset=contest&toolset=contest-participant
When the address has no toolset, you get the default set. When it has one or more, you get only the toolsets you listed. Two tools come with every connection whatever you choose: one describes the space, and one converts times between time zones.
Toolset | Covers |
|---|---|
| Space settings |
| Members |
| Contests, their lifecycle and contest series |
| Contest participants |
| Problems in a contest |
| Contest announcements |
| A contest's own pages |
| Contest scoreboards |
| Contest submissions and rejudging |
| Questions from participants |
| Problems, statements, editorials, attachments, topics and submissions |
| Programming languages |
| Posts |
| The space's pages |
| Comments |
| Achievements |
| Automation rules |
| Newsletters, in spaces that have them |
These toolsets are not part of the default set. They are for writing problems, and an assistant working on contests does not need them. Add them by name:
Toolset | Covers |
|---|---|
| Testing configuration, testsets, tests, checker, interactor, validator, test script, generation runs and stress tests |
| Reference solutions and checking them |
| Generators |
| Code templates |
Listing any toolset replaces the default set, so an address for authoring problems names the problem toolset as well:
https://api.eolymp.com/spaces/<Space ID>/mcp?toolset=problem&toolset=problem-testing&toolset=problem-solution&toolset=problem-script
The address has the space key in it rather than the Space ID, or the Space ID is mistyped. Copy the Space ID from Settings again, as described under Find your Space ID above.
The client connected without signing in. The server lets anyone read what is public in a space, so the connection looks like it works, but nothing can be changed. Sign in with your Eolymp account: in Claude Code, run claude mcp login <name>. In other clients, disconnect the server and connect it again, making sure you sign in.
Your account does not have the permission the action needs. The assistant has exactly your permissions, so something you cannot do in the console it cannot do either. Access management explains how permissions are granted, and Why a section is missing covers the common gaps.
The address lists toolsets and the one you need is not among them, or it is an authoring toolset, which is never loaded by default. Add it to the address as shown under Choose which tools to load above, then reconnect or refresh the server in your client so it picks up the new tools.
Each connection is tied to the Space ID in its address. Check which connection the assistant used, and if you work with several spaces, give each connection a name that says which space it is.