Online Judge MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OJ_URL | Yes | The URL of the Orange Juice Online Judge API server (e.g., http://localhost:8000). | |
| OJ_PASSWORD | Yes | Your password for the Orange Juice Online Judge. | |
| OJ_USERNAME | Yes | Your username for the Orange Juice Online Judge. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_problemsC | Fetch the list of problems from the Online Judge. Returns a JSON string containing total count and results. |
| list_my_submissionsC | Fetch the list of latest submissions made by the authenticated user. Returns a JSON string containing the submission histories. |
| get_problem_detailsB | |
| submit_codeB | |
| get_submission_statusB | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no ambiguity: get_problem_details retrieves specific problem info, get_submission_status checks submission results, list_my_submissions shows user's submission history, list_problems lists available problems, and submit_code submits new code. The boundaries are well-defined and non-overlapping.
All tools follow a consistent verb_noun pattern using snake_case: get_problem_details, get_submission_status, list_my_submissions, list_problems, and submit_code. The naming is predictable and readable throughout the set.
With 5 tools, this server is well-scoped for an online judge domain. Each tool earns its place by covering core workflows: browsing problems, getting details, submitting code, and checking results. The count is neither too thin nor excessive for the purpose.
The toolset covers the essential CRUD-like operations for an online judge: list and get for problems, create (submit) for submissions, and get for submission status. A minor gap is the lack of a tool to delete or cancel submissions, but agents can work around this, and core workflows are well-supported.