Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NCBI_EMAILYesRequired for PubMed/PMC search and for fetching. Also sent to Unpaywall, which requires a contact email. Use a real address.
S2_API_KEYNoAlternative name for SEMANTIC_SCHOLAR_API_KEY. Enables Semantic Scholar by default. Without a key it shares a public rate limit that usually answers HTTP 429, so it is skipped unless requested.
NCBI_API_KEYNoOptional; raises NCBI rate limits.
MED_LIT_STAGESNoOptional, for advanced users. Exposes only the tools up to a stage: `search`, `screening`, `fetch` or `wiki` (default: all). For example, `fetch` hides the 11 wiki tools. Clients that load tools on demand rarely need this; it helps with clients that load every tool up front. Project, status and guide tools are always available.
OPENALEX_API_KEYNoOptional OpenAlex key.
MED_LIT_STATE_DIRNoWhere the list of known projects is kept. Default: `$XDG_DATA_HOME/med-lit-mcp` or `~/.local/share/med-lit-mcp`.
MED_LIT_PROJECTS_DIRNoWhere new projects are created when no path is given. Default: `~/med-lit`.
SEMANTIC_SCHOLAR_API_KEYNoEnables Semantic Scholar by default. Without a key it shares a public rate limit that usually answers HTTP 429, so it is skipped unless requested.

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_projectB

Create a project: one folder per review, holding its wiki and (hidden) its data.

project_settingsA

Show or change a project's settings (med-lit.settings.json): research mode (basic, full or deep) and max_screened, search years, records per source, preprints, fetch limit and mode, pages per article, and more. Change them only as the researcher asks.

list_projectsA

List known projects with their folders. available=false means the folder moved or is missing.

open_projectA

Register an existing project folder, for example after it was moved or copied from elsewhere.

research_nextC

Start or continue a review: the next step from the question to the report, with do naming the tools to call. ask_researcher=true means show the researcher what it lists and wait for their answer. Rules: guide("research").

guideB

Rules and how-to for a stage: workflow, question, screening, fetch, wiki, extraction, duplicates, synthesis or ontology.

validate_questionA

Check a drafted PICO/PCC search question against the project's settings and return a question_id for start_search. Show the result, including settings, to the researcher and wait for approval. Rules: guide("question").

start_searchA

Search the literature databases with an approved question; creates a run in the project. If search_status is 'running', call resume_search(run_id).

resume_searchA

Check a running search, retry a failed one, or retry just the failed sources of a completed run.

add_skipped_articlesA

Add articles that were skipped for having no DOI, PMID or PMCID. Use only when the researcher asks for them by name; they then need screening.

set_screening_criteriaB

Save the researcher's inclusion and exclusion criteria (and the reason for each) for screening. Rules: guide("screening").

next_triage_batchA

Get untriaged titles with the question and criteria, to score 0-3 before screening.

record_triage_scoresA

Record the 0-3 title scores that decide which articles each session screens.

next_screening_batchC

Get the next titles/abstracts of this session (20 best-triaged articles) with the criteria.

record_screening_decisionsB

Record screening decisions; include/exclude need a verbatim quote as evidence.

review_articleB

Record the researcher's own include/exclude decision and reason for one article.

fetch_articlesB

Fetch full text of included articles (PMC, Unpaywall open access, else abstract); repeat while remaining > 0. Rules: guide("fetch").

next_reportC

Get what the report is written from: the question, the search and screening facts, and the included articles' evidence, in portions (repeat while remaining > 0). Reads only (may create the project database). Rules: guide("report").

record_reportB

Save the report answering the question: citations and quotes are checked against the stored articles, and the methods and study list are added from the run's record. Reply with its message. Rules: guide("report").

record_evaluationB

Deep mode: record whether this round's evidence is enough; if not, the revised question is searched into the same review and the next round begins. Rules: guide("evaluation").

wiki_tasksA

Start here to build or update the wiki: the current step as self-contained tasks (each with its full rules and the tools it may use), sized for one fresh subagent; a long step comes in portions. Rules: guide("wiki").

next_wiki_articleA

Get the next unextracted page of article text (a JSON header plus the page); it repeats until record_extraction records it. An article whose text changed loses its old extraction first.

get_article_pageA

Re-read one page of a fetched article within its extraction allowance (the project's wiki.max_pages), e.g. to check a quote; next_wiki_article serves the pages still to extract. Reads only (may create the project database).

record_extractionB

Record the entities and relationships extracted from one page (re-recording replaces it). Rules: guide("extraction").

find_entitiesA

Search a project's wiki entities by name, alias, acronym, or spelling variant, e.g. to reuse an entity's id while extracting. Reads only (may create the project database).

list_duplicate_candidatesA

List pending entity pairs that may be the same thing, with an example mention of each; decide them with resolve_duplicates. Reads only (may create the project database).

resolve_duplicatesA

Decide pairs from list_duplicate_candidates: merge (irreversible; keep picks the survivor) or distinct (not suggested again). Rules: guide("duplicates").

merge_entitiesA

Merge entities into one (irreversible), and/or rename or retype an entity, by id. For pairs from list_duplicate_candidates use resolve_duplicates.

next_synthesisB

Get the next entity whose wiki page needs writing or updating, with its evidence; it repeats until record_synthesis saves it. Rules: guide("synthesis").

record_synthesisA

Save an entity page from next_synthesis, replacing the stored one: a new page, or only the changed sections of an update. Rules: guide("synthesis").

export_wikiB

Rewrite every Markdown page of a project's wiki (entities, sources, index, log) from its database.

list_runsA

List a project's searches (runs), newest first.

get_run_statusA

Show a run's progress in every stage and the available next steps; check it rather than chat history. Reads only (may create the project database).

list_articlesB

List a run's articles with their screening, fetch, and wiki status.

bot_startA

Begin a scheduled bot run: lock the project and search its look-back window for new articles.

bot_nextA

Advance a bot run after bot_start: returns the next step (wait, triage, screen, fetch, wiki or finish) with a do naming the tools to call. Repeat until finish.

bot_finishA

End a bot run: refresh the wiki, write the update report, and return the message to reply with.

Prompts

Interactive templates invoked by user choice

NameDescription
research_questionAnswer a research question with a reviewed literature search and a report (basic, full or deep).
plan_searchDraft and validate a structured search for a research question.
screen_runScreen a run's search results against criteria.
build_wikiBuild the evidence-linked wiki for a run's fetched articles.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 37 tools

Disambiguation4/5

Most tools target a distinct workflow stage or resource, and descriptions clarify next/record pairings (e.g., next_triage_batch vs. record_triage_scores, next_report vs. record_report). Some boundaries are still fuzzy: review_article vs. record_screening_decisions both record include/exclude judgments, and merge_entities vs. resolve_duplicates overlap in entity-merging intent. These are manageable because the descriptions point to the intended tool.

Naming Consistency4/5

Names are consistently snake_case and mostly follow verb_noun or stage_resource patterns (start_search, record_extraction, next_synthesis, bot_finish). Minor deviations exist: project_settings and wiki_tasks are noun phrases, guide is a bare verb, and next_* tools use an adjective_noun form rather than a verb. The convention is still predictable overall.

Tool Count2/5

With 37 tools, the surface is very heavy, and many operations are split into granular next_* and record_* pairs that could be consolidated. The multi-stage systematic-review domain justifies breadth, but the current count exceeds what an agent can comfortably navigate and likely includes several low-frequency tools. This is over-scoped for practical tool selection.

Completeness4/5

The surface covers a full review lifecycle: project management, question validation, search/resume, triage and screening, fetch, extraction, entity resolution, synthesis, wiki export, reporting, and evaluation. Minor gaps remain, such as no explicit project update/delete or dedicated criteria-viewing operation, but agents can work around them through existing record/settings tools.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues