ojs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OJS_JOURNAL | No | Skrót czasopisma — pomija parametr czasopismo przy każdym wywołaniu. | |
| OJS_BASE_URL | Yes | Adres instancji OJS, dokładnie taki jak w przeglądarce. | |
| OJS_PASSWORD | No | Hasło do OJS. | |
| OJS_USERNAME | No | Login do OJS. | |
| OJS_API_TOKEN | No | Token z profilu użytkownika. Ma pierwszeństwo przed loginem i hasłem. | |
| OJS_ALLOW_WRITES | No | Ustaw 1, aby odsłonić narzędzia modyfikujące dane czasopisma (domyślnie ukryte). | |
| OJS_MCP_TRANSPORT | No | Tryb transportu MCP (np. stdio, HTTP). |
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_journalsA | List the journals visible to the current credentials. Returns a list of |
| whoamiB | Check whether the current credentials work, and who you are. API token: OJS has no identity endpoint for a token — this tool
reports ONLY whether authentication works at all, not who the
user is ( Login and password: |
| search_submissionsB | Find submissions (articles) in a journal.
|
| get_submissionA | Fetch the details of one submission (article) by its ID. Includes a trimmed list of its publications (versions). The full
content of one version is returned by |
| get_publicationA | Fetch one version (publication) of a submission — full details. A submission may have several versions (successive revisions
after review) — find the publication ID in the result of
|
| list_submission_filesA | Fetch the list of files attached to a submission (all stages). Every file has |
| get_submission_reviewsA | Fetch the review rounds and reviewer assignments for a submission. Returns |
| list_issuesA | Find a journal's issues.
|
| get_current_issueA | Fetch the journal's current issue (the one featured on the home page). Returns |
| get_issueB | Fetch one issue of a journal by its ID. |
| list_sectionsB | Find a journal's sections, e.g. "Articles", "Reviews".
|
| search_usersC | Find a journal's users by name/email, status, and role.
|
| list_reviewersB | Find a journal's reviewers together with their review statistics.
|
| publication_statsA | Publication view statistics — a ranking or a time series.
|
| editorial_statsB | Aggregate editorial statistics for a journal (submission count, decisions, time to first decision, etc.) as a list of key/value pairs. Dates |
| list_doisC | Find the DOIs registered for a journal.
|
| ojs_requestA | Call any OJS REST API endpoint outside the ready-made tools.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| editorial_overview | State of in-progress submissions broken down by stage, plus the state of the current issue. |
| stuck_in_review | Submissions stuck in external review with no movement for N days. |
| summarize_issue | An issue's contents assembled into an editorial note. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| endpoints | A compact list of all OJS REST API endpoints (method, path, parameters, a short description). A reference point for the `ojs_request` tool for endpoints outside the ready-made tool list — check the exact path and parameters here before using them. |
| journals | The list of journals visible to the current credentials, as {"path", "name"} objects — "path" is the value of the `journal` parameter in the other tools and prompts. |
TDQS
Scored across 17 tools
Each tool targets a distinct resource or action: journals, submissions, publications, files, reviews, issues, sections, users, reviewers, stats, and DOIs are clearly separated. The only potential overlap (get_submission vs get_publication) is well-defined as different granularities of the same object.
Tool names follow a consistent snake_case verb_noun pattern: list_*, get_*, search_* for actions, with the exceptions of whoami (a standard idiom) and the two *_stats nouns, which are still predictable. No mixed conventions.
17 tools is appropriate for a complex domain like OJS, covering journal management, submissions, publications, files, reviews, issues, users, reviewers, statistics, and DOIs. Each tool earns its place, and the set is neither too thin nor bloated.
The read side is thorough (listing, fetching, searching, stats), but there are no dedicated create/update/delete tools for submissions, issues, sections, or users. Write operations are only possible via the generic ojs_request tool, which requires a special flag and is not a first-class tool, leaving a notable gap for full lifecycle management.