Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REPOVIVE_EMAILNoYour Repovive account email. Used with REPOVIVE_PASSWORD for authentication.
REPOVIVE_TOKENNoA Repovive bearer token. Can be used instead of email/password, though cookie-gated routes may not work.
REPOVIVE_PASSWORDNoYour Repovive account password. Used with REPOVIVE_EMAIL for authentication.
REPOVIVE_TOKEN_CACHENoFile path to cache the auth token to avoid login rate limits./tmp
REPOVIVE_MCP_TRANSPORTNoTransport for the MCP server: 'stdio' (default) or 'http' (endpoint /mcp).stdio

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
repovive_list_contestsA

List Repovive contests with their ObjectId, contest number, title, computed status (upcoming/ongoing/past), window, problem and member counts, and premium/rated flags. The ObjectId returned here is what every other contest tool needs.

repovive_get_contestA

Fetch one contest's full record by contest number (the number shown in its title) or by ObjectId. Pages through the contest list until it finds a match, so older contests resolve too.

repovive_get_contest_registrationsA

List the contests the authenticated account is registered for, including virtual participation windows. Check this before registering again.

repovive_register_for_contestA

Register the authenticated account for a contest. Use mode='normal' for the live window, or mode='virtual' with an ISO-8601 virtual_start_time to schedule a virtual run. This is a real registration on the account.

repovive_get_contest_invite_linkA

Fetch the shareable invite link for a contest, when the authenticated account is allowed to invite. Use repovive_check_invite_eligibility first if unsure.

repovive_check_invite_eligibilityA

Report whether the authenticated account may issue contest invitations, and any remaining invite quota.

repovive_get_contest_permissionsA

List which users hold editor/viewer/admin roles on a contest. Requires the authenticated account to administer that contest.

repovive_set_contest_permissionA

Grant a user a role on a contest (e.g. editor, viewer, admin). Resolve the target's user id with repovive_search_users first. Requires contest administration rights.

repovive_remove_contest_permissionA

Revoke a user's role on a contest, removing their editor/viewer/admin access. Requires contest administration rights.

repovive_update_contestA

Update a contest's settings — title, lobby problem count, admin-only and weekly-challenge flags, problem display style, rated tier cap. Only the arguments you pass are changed. Requires contest administration rights.

repovive_delete_contestA

Permanently delete a contest and everything attached to it. This cannot be undone — confirm with the user before calling. Requires contest administration rights.

repovive_get_leaderboardA

Fetch a page of Repovive's global ratings leaderboard — rank, name, current and max rating, contest count and country — with optional country, name and tier filters.

repovive_whoamiA

Return the Repovive account this server is authenticated as: id, name, email, role, verification and premium status, Vive balance, streaks, country and join date. Use it to confirm which account submissions and messages will be attributed to.

repovive_get_my_profileA

Fetch the public profile of the authenticated account: username, full name, job role, organisation, open-to-work flag, location and verification badges. Complements repovive_whoami, which returns account/billing state instead.

repovive_update_my_locationA

Set the country shown on the authenticated account's profile and used for country-filtered leaderboards. Takes an ISO 3166-1 country code and overwrites any previous value.

repovive_search_usersA

Search Repovive users by name (partial match) and return the matches with their user ids. Use it to resolve a person's id before starting a direct message, blocking them, or granting contest permissions.

repovive_list_my_documentsA

List the documents (CV/resume and other uploads) attached to the authenticated Repovive account, with their ids and metadata.

repovive_build_versionA

Return the deployed Repovive web-app build version. This is an unauthenticated health/diagnostic call — use it to check that the platform is reachable.

repovive_logoutA

Invalidate the current Repovive session server-side and drop the cached token from this MCP server. The next authenticated tool call logs in again from the configured credentials; use it to force a fresh session.

repovive_new_problem_templateA

Return an empty Repovive problem object plus a field-by-field description of the schema. Start here when authoring a problem by hand rather than from a generator.

repovive_list_problem_templatesA

List the built-in problem generators (kind, title, difficulty, tags) that repovive_generate_problem and repovive_build_contest accept. These produce classic single-test problems; see repovive_list_house_templates for Repovive's round format.

repovive_generate_problemA

Generate a complete, self-consistent problem from a built-in generator: statement, constraints, samples with explanations, deterministic hidden tests, an input validator, an editorial and a reference solution. Test outputs are produced by running the reference solution on this host. Same seed gives the same problem.

repovive_validate_problemA

Check a problem object against Repovive's schema and report every issue found: missing or empty fields, a non-URL-safe slug, bad difficulty, non-positive limits, and missing or malformed test cases. Run it before pushing a draft.

repovive_judge_solutionA

Run a solution against test cases on this host and return a per-case verdict (Accepted / Wrong Answer / Time Limit Exceeded / Memory Limit Exceeded / Runtime Error / Compilation Error) with the failing input, expected and actual output. Supply either problem_json or test_cases_json. Use this before repovive_submit_solution — it costs nothing and does not touch the platform. Executes the code you pass, so only judge code you trust.

repovive_available_judge_languagesA

List the languages the local judge can actually run on this host (toolchain present) alongside every language it knows about. Check this before repovive_judge_solution.

repovive_build_contestA

Generate a whole contest from an ordered list of generator kinds and verify it: each problem is schema-checked, its reference solution is judged against its own tests, and a known-wrong solution is checked to fail. Returns the import-ready contest plus a per-problem verification report; require verification.all_passed before using it.

repovive_list_house_templatesA

List the house-style generators, each pre-assigned to a round slot (A-G) with the matching points and difficulty. These produce Repovive's published round format: multi-test input led by t, braced-array I/O sections, one sample holding several sub-cases. Feed the kinds to repovive_build_house_round.

repovive_generate_house_problemA

Generate one problem in Repovive's published house style: multi-test input led by t, braced-array input/output sections, a bulleted constraints list bounding t, and a single sample packing several sub-cases with per-case explanations. Deterministic in the seed; runs the reference solution on this host to produce expected outputs.

repovive_check_house_styleA

Check a problem against Repovive's measured house style and list every deviation: input/output braced-array notation, the t bound in the constraints bullet list, tags from the fixed 12-word vocabulary, 256 MB memory, 1-2 s time limit, a points value on the ladder, and exactly one explained sample.

repovive_build_house_roundA

Build a full Repovive-format round from house-style generators, one per slot A-G, applying the 500-3500 points ladder and the easy/easy/medium/medium/medium/hard/hard difficulty curve. Every problem is schema-checked, house-style-checked and judged against its own tests; require verification.all_passed before publishing anything.

repovive_build_list_sessionsA

List the problem-draft build sessions owned by the authenticated account, with their session ids and current state. Every other build tool needs one of these ids.

repovive_build_create_sessionA

Start a new problem draft on Repovive and return its session id. Drafts are private to the authoring account until explicitly attached to a contest. Set force_new=False to resume an existing draft with the same name instead of creating another.

repovive_build_delete_sessionA

Permanently delete a problem draft and everything in it — statement, test cases, solutions, generators. This cannot be undone; confirm with the user before calling.

repovive_build_update_problem_infoA

Update a draft's metadata: slug, difficulty, time limit, memory limit and interactive flag. Only the arguments you pass are changed; the rest keep their current values.

repovive_build_update_statementA

Write the statement of a draft: title, description body, input/output formats, constraints, interaction protocol and tags (markdown with LaTeX). Only the arguments you pass are changed. Avoid an inline math span followed directly by a period — Repovive rejects $10^5$.

repovive_build_update_sourcesA

Send a raw update-sources body to a draft, for fields the typed tools do not cover. Prefer repovive_build_update_statement, _set_generator, _set_gen_data, _set_validator or _set_custom_checker unless you need something they omit.

repovive_build_set_generatorA

Store a named test generator program in a draft. Generators are invoked from the gen-data script (repovive_build_set_gen_data) to produce the hidden tests.

repovive_build_set_gen_dataA

Set a draft's gen-data script — one generator invocation per line, each producing one hidden test file. Define the generators first with repovive_build_set_generator.

repovive_build_delete_generatorA

Remove a named generator from a draft. Any gen-data lines that invoke it will stop working, so update the gen-data script too.

repovive_build_list_testcasesA

List the test cases currently stored in a draft, with the per-case ids needed by repovive_build_delete_testcase.

repovive_build_add_testcasesA

Append test cases to a draft in one call. Cases are ADDED to whatever is already there — clear first with repovive_build_clear_testcases if you mean to replace them. For interactive problems omit expectedOutput; the interactor decides the verdict.

repovive_build_clear_testcasesA

Delete every manually added test case from a draft. This cannot be undone — use it before uploading a replacement set.

repovive_build_delete_testcaseA

Delete one test case from a draft by its id. Get ids from repovive_build_list_testcases. This cannot be undone.

repovive_build_get_solutionsA

Fetch the solutions attached to a draft — the main test solution plus any alternatives with their expected verdicts.

repovive_build_set_solutionsA

Attach a solution to a draft with its expected verdict (AC, WA, TLE, …) and, by default, make it the draft's main test solution. Set replace=False to keep the existing alternatives and append — useful for adding deliberately wrong or slow solutions that the test data must reject.

repovive_build_set_learn_pagesA

Set a draft's editorial pages — the post-contest explanation shown with the problem. Pass a JSON list of {"title", "content"}; pass "[]" to clear them.

repovive_build_set_validatorA

Attach an input validator to a draft. The validator reads each generated test and asserts it satisfies the stated constraints, catching malformed test data before the problem goes live.

repovive_build_set_custom_checkerA

Attach a custom checker to a draft, replacing exact output matching. Use it when a problem accepts multiple correct answers or needs tolerance-based comparison.

repovive_build_prepare_judge_targetA

Kick off Repovive's build pipeline for a draft: run the generators, validate the inputs, and run the solutions against the produced tests. Poll repovive_build_run_status for the outcome.

repovive_build_run_statusA

Check the status of a draft's build run started by repovive_build_prepare_judge_target: progress, per-stage results and any errors.

repovive_build_cancel_runA

Cancel the build run currently executing for a draft.

repovive_build_push_problemA

Write a problem object into an existing draft: metadata, statement and (optionally) test cases. Test cases are APPENDED to whatever the draft already holds. For a complete import that also clears old cases and uploads the reference solution, editorial and validator, use repovive_build_author_complete_problem.

repovive_build_author_complete_problemA

Import a complete problem into a draft in one call: clears the existing test cases (unless replace_testcases=False), then writes metadata, statement, test cases, the reference solution, editorial pages and input validator. Returns a per-step report — check all_ok before treating the draft as ready. This edits a private draft; publishing it to a contest is a separate call.

repovive_build_list_admin_contestsA

List the contests the authenticated account may attach a finished draft to, with their ids. Feed one of these ids to repovive_build_add_to_contest.

repovive_build_add_to_contestA

Publish a draft by attaching it to a contest as a real problem. This is the step that makes authored work visible on the platform — never call it without the user's explicit approval. Verify the draft builds cleanly first.

repovive_list_postsA

List Repovive blog posts with title, slug, author, publication date, read time, likes/views and tags. Supports page/limit paging.

repovive_get_post_categoriesA

List the categories blog posts are filed under, with their slugs and post counts.

repovive_list_coursesA

List Repovive courses visible to the authenticated account: id, title, slug, description, section/unit counts, access level, enrolment count and whether this account can edit them.

repovive_get_course_editorsA

List the users who can edit a course, with their roles. Requires edit rights on that course.

repovive_add_course_editorA

Grant a person edit or view access to a course by their email address. Requires edit rights on that course.

repovive_remove_course_editorA

Revoke a user's edit access to a course. Requires edit rights on that course; the removed editor loses access immediately.

repovive_update_course_detailsA

Update a course's title and, optionally, its description and tags. Only the fields you pass are changed. Requires edit rights on that course.

repovive_set_course_visibilityA

Publish or unpublish a course platform-wide. Making a course public exposes it to every Repovive user, so confirm before calling. Requires site administration rights.

repovive_list_historyA

Browse this server's local log of state-changing calls, newest first: when, which access token, which tool, what it targeted, whether it succeeded, and the revision it produced. Filter by target, tool, actor, status or age. This is the audit trail — use repovive_list_revisions to see an entity's versions.

repovive_get_history_entryA

Fetch one history entry in full, including the (secret-redacted) arguments the tool was called with and any error it returned. Use it to see exactly what a change did.

repovive_list_revisionsA

List the saved versions of an entity, newest first, with the sequence number to pass to repovive_restore_revision. Revisions are captured automatically whenever a problem draft, contest, course or your profile is changed through this server.

repovive_get_revisionA

Fetch one saved revision including its full snapshot — the statement, test cases, solutions and settings as they stood. Address it by revision id, or by target plus sequence number.

repovive_diff_revisionsA

Compare two saved revisions of the same entity and list what changed field by field — added, removed and modified. Use it to see what a change actually did before deciding whether to roll it back.

repovive_restore_revisionA

Roll an entity back to a saved revision by re-applying its snapshot through the normal Repovive API. Nothing is deleted: the restore is itself recorded as a new revision, so you can undo the undo. Pass into_target_id to restore a snapshot into a different entity — for instance to rebuild a deleted problem draft in a fresh build session. Use dry_run=True first to see exactly which steps would run.

repovive_undo_last_changeA

Step one change back: restore the entity's previous revision, undoing the most recent edit made through this server. Equivalent to restoring seq-1. Nothing is deleted — the undo is recorded as a new revision, so it can itself be undone. Use dry_run=True to see what would change first.

repovive_history_statusA

Report where the history database lives, whether recording is on, how much it holds, the retention limits in force, and which entity kinds can be rolled back.

repovive_purge_historyA

Permanently delete history entries and revisions — everything older than N days, or everything for one entity. This destroys the ability to roll those changes back and cannot be undone; confirm with the user before calling.

repovive_get_interview_pricesA

Fetch the current price list for Repovive mock interviews, by interview type and duration.

repovive_check_interview_capacityA

Report whether Repovive currently has mock-interview capacity available for booking.

repovive_list_interview_sessionsA

List the mock-interview sessions booked by the authenticated account, with their scheduling and status. Supports offset/limit paging.

repovive_list_problem_setsA

List Repovive's curated practice sets (Classics, FAANG, Quant, Math) with their keys, submission kind (code/answer/proof) and browser URLs. Statements for these sets are website-only; for problems readable through this server use repovive_list_contests then repovive_list_contest_problems.

repovive_list_contest_problemsA

List every problem in one contest with its slug, order, difficulty, points, limits, tags and solve counts. Set full=True to also include statements. Hidden test cases are never returned. Get contest ids from repovive_list_contests.

repovive_get_problemA

Fetch one contest problem in full: statement, input/output formats, constraints, time and memory limits, tags, sample tests with explanations, and the browser workspace URL. This is the tool to call before solving or submitting.

repovive_get_problem_workspace_urlA

Build the repovive.com URL where a problem can be read and solved in the browser. Pass contest_id for a contest problem, or problem_set (classics|faang|quant|math) for a curated-set problem. Useful when a capability is website-only.

repovive_list_notificationsA

List in-app notifications for the authenticated account with their ids, titles, messages, read state and timestamps, plus the unread count. Pass the ids to repovive_mark_notifications_read to clear them.

repovive_get_unread_notifications_countA

Return how many in-app notifications are unread for the authenticated account — a cheap check before fetching the full list.

repovive_mark_notifications_readA

Mark the given in-app notifications as read. Take the ids from repovive_list_notifications; already-read ids are harmless.

repovive_list_conversationsA

List the authenticated account's direct-message conversations with their ids, participants, last message and unread counts. The conversation id feeds every other DM tool.

repovive_get_conversation_messagesA

Read the messages in one direct-message conversation, newest page first. Use it to review a thread before replying with repovive_send_direct_message.

repovive_send_direct_messageA

Send a message into an existing conversation as the authenticated account. This is visible to a real person immediately and cannot be unsent from here — get the user's approval on the wording first.

repovive_start_conversationA

Open a new direct-message conversation with a user and send the first message. Resolve recipient_id with repovive_search_users. This reaches a real person — confirm before calling.

repovive_mark_conversation_readA

Mark every message in one conversation as read, clearing its unread badge.

repovive_delete_conversationA

Delete a direct-message conversation and its history for the authenticated account. This cannot be undone — confirm with the user before calling.

repovive_delete_direct_messageA

Delete a single direct message the authenticated account sent. This cannot be undone — confirm with the user before calling.

repovive_get_unread_dm_countA

Return how many direct messages are unread for the authenticated account — a cheap check before listing conversations.

repovive_list_blocked_usersA

List the users the authenticated account has blocked from messaging it, with the block ids needed to undo them.

repovive_block_userA

Block a user so they can no longer direct-message the authenticated account, with an optional reason. Reversible with repovive_unblock_user.

repovive_unblock_userA

Remove a block so the user can message the authenticated account again. Take the block id from repovive_list_blocked_users.

repovive_get_contest_rankingA

Fetch a contest's standings — rank, participant, country and total score — capped at the number of rows you ask for. Use it after a contest to see final placement.

repovive_get_contest_announcementsA

Fetch the announcements and clarifications posted by the jury for a contest. Check these when a statement is ambiguous or a problem was patched mid-round.

repovive_get_problem_submissionsA

List the submissions made against one contest problem. Defaults to the authenticated account; pass user_id to look at another participant where the contest allows it.

repovive_get_contest_resultsA

Summarise how the authenticated account did in one contest: every problem with its points, attempt count and best verdict, plus the total solved. Combines the contest's problem list with the account's submissions.

repovive_get_submissionA

Fetch one submission by id: its verdict, passed/total counts, judging status, language and timing. Use it to poll a submission that repovive_submit_solution left pending.

repovive_submit_solutionA

Submit source code to a contest problem and, by default, poll until the judge returns a final verdict. This records a REAL submission on the authenticated Repovive account and counts against the ~10 submissions/minute limit — verify locally with repovive_judge_solution first. Returns the submission id, verdict and passed/total.

repovive_list_my_submissionsA

List the authenticated account's submissions, newest first, with verdicts and timestamps. Optionally filter by problem slug or contest id, and page with page/page_size.

repovive_get_vive_earn_methodsA

List the ways an account can earn Vive points on Repovive (streaks, solves, contest participation, …) together with the reward each one grants.

repovive_create_vive_checkoutA

Start a paid checkout to buy Vive points for the authenticated account and return the payment URL. This begins a real purchase flow — always confirm the amount with the user before calling.

Prompts

Interactive templates invoked by user choice

NameDescription
solve_problemWalk through reading, solving, locally verifying and submitting one contest problem.
prepare_for_contestReview a contest's format, registration status and topic spread, then plan warm-ups and time management.
study_planBuild a week-by-week practice plan for a topic from Repovive problem sets, courses and upcoming contests.
analyze_leaderboardSummarise the ratings distribution, optionally for one country, and set a realistic next rating target.
build_repovive_roundAssemble and verify a full round in Repovive's published house style, slot by slot.
problemset_contestGenerate a contest from the built-in problem generators and verify every problem and reference solution.
author_and_verify_problemGenerate one problem from a template, validate its schema, and judge a solution against it until it is Accepted.
inbox_triageSummarise unread Repovive notifications and direct messages and draft replies for approval.

Resources

Contextual data attached and managed by the client

NameDescription
Current userThe Repovive account this server is authenticated as, as returned by /api/auth/me.
My profileThe public profile of the authenticated account: username, role, organisation, location, badges.
ContestsUp to 100 Repovive contests, each annotated with a computed status of upcoming, ongoing or past.
Curated problem setsRepovive's curated practice sets (Classics, FAANG, Quant, Math) with their submission kinds and URLs.
Ratings leaderboardThe first 50 entries of Repovive's global ratings leaderboard.
Blog postsThe 20 most recent Repovive blog posts with their metadata.
CoursesRepovive courses visible to the authenticated account, with access level and edit rights.
NotificationsThe 50 most recent in-app notifications for the authenticated account.
Repovive house styleRepovive's measured authoring conventions: statement shape, round structure, points ladder, difficulty curve, tag vocabulary and the available generators.
MCP access scopesThe scopes this MCP server enforces on its own bearer tokens, what each one grants, and whether authentication is currently enabled.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dwin-gharibi/repovive-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server