Research Toolkit
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| research_startA | Create a research task or complete its missing brief. Returns its directory and stage guidance. language accepts "en" (English), "zh" or "zh-CN" (the same Chinese methods); checked before task records are written. Assemble concrete coverage and expected results from context; brief uses question, audience, scope, output, depth and evidence_standard. Returned clarification_questions guide the agent; do not forward them as a questionnaire. Explain consequential alternatives and resolve critical choices with the user. Use the complete shared research methods. Omit profile; it is retained only for older clients and saved tasks. Resume saved materials through research_status; historical receipts remain unchanged. New work uses independent host review, audit and acceptance. review_readiness defaults to host_native. |
| research_saveA | Save/update source, claim and requirement objects by stable ID; the tool writes CSV/JSONL. Omitted IDs are assigned or matched by URL/claim/summary. Partial updates retain other fields and rows. requirements.unit_ids optionally assigns a requirement to named research units; omit it or use [] for global scope. work.requirement_ids selects records to read, not their applicability. All effective requirements remain accessible. sources.read_scope records actual reading; requirements.reading_requirement specifies required reading, not read_scope. For an active mandatory-reading requirement, the merged row needs reading_requirement="full_text" or "relevant_sections" and required_source_ids, a nonempty list of distinct source IDs, e.g. ["S1"]. Other requirements can omit both. IDs refer to source records; partial updates may omit fields already saved on the requirement. For local read_evidence, prefer a task-relative path to an existing nonempty file, e.g. "sources/S1.md"; put reading locations and notes in locator, e.g. "pp. 2-4; relevant sections only", not appended to the path. URL/page locators and supported local-reference forms remain valid; optional evidence_path locates local UTF-8 source text. draft uses path, optional content and complete=true for a complete draft; omit content to register an existing file. draft.main=true explicitly selects the current work; optional kind is report/comparison/review/analysis. For a contribution use kind=analysis, unit_id and the actual producing host_task; question states its research question. depends_on lists actual upstream unit IDs. complete=true records a finished unit, not an independent review or delivery; a dependent unit cannot complete before its declared upstream versions are finished and independently reviewed. Saving a prepared unit automatically retains its input versions, question and dependencies from status.work. Explicit based_on overrides that selection and copies work_context.inputs unchanged: file paths and record:sources:S1 / record:claims:C1 / record:requirements:effective or effective@unit IDs map to SHA256; copy the returned keys rather than constructing them. handoff uses summary, optional pending/decisions text lists and to (the receiving host task/session). The registered main writer transfers ownership through handoff.to; another host cannot silently replace the main draft. Saved unit originals and prior versions are retained in existing record-backups; summaries do not replace original analysis. current_work.research_outputs returns contributions, owners, current dependencies and changed inputs for research judgment. Chapter/reference drafts do not change the main selection. brief updates only supplied brief fields and task_spec together. Returns assigned IDs and field errors for the agent to resolve, without asking users to manage records. replace names complete collections to repair from recovered rows; original bytes are backed up automatically. Records reading/verification claims as supplied, never infers truth or closes requirements automatically. Saves retain event timestamps and original failures for task continuity. changes summarizes the latest record-save batch and candidate claim/report locations; identical bytes are not rewritten. Saving a source ID also compares local evidence against its previous save observation. First observations are explicit. |
| research_check_updatesA | Read one registered public release log and compare its latest saved date and newer entries. Return added/removed content, source dates and existing claim/report locations; unchanged ends the check. Requires official_release/release_notes/changelog and saved evidence with dated version entries. Read failures are explicit. Does not follow links, change evidence/reading status, or revise reports. |
| research_statusB | Read progress and stage methods. Optional stage advances to collect/analyze/draft/revise only after prerequisite records exist. When work selects a branch, check its sources/claims and declared upstream inputs; unrelated pending branches do not block it. Whole-report review and final completion retain complete task checks. language accepts "en" (English), "zh" or "zh-CN" (the same Chinese methods); checked before any stage change. Explicit analyze/draft entry includes saved requirements as JSONL text when present, preserving statuses and evidence. changes reuses the latest successful record-save batch and locates related claims in the latest registered draft. Literal matches guide reading, not semantic verdicts; not_located requires inspection, not a new acceptance gate. current_work locates the main artifact, requirements and historical receipt separately. runtime identifies this implementation, not the Skill actually read by the host. Status does not discover arbitrary unregistered files. current_work includes effective_requirements (including satisfied), scope_decisions and research_outputs. Optional methods selects named methods from research_guide.available_methods instead of the stage defaults. Optional work prepares readable input for research, delegation or revision: question, unit_id, depends_on, requirement_ids, claim_ids, source_ids and paths (all optional). unit_id resumes saved work; depends_on selects upstream units for a new assignment. Their full artifacts and bound originals are included, not just handoff summaries. Selected claims include supporting and counter-evidence sources. Dependency results distinguish incomplete work, changed inputs/versions and pending independent review. Fulfilled requirements remain effective unless superseded. work_context includes originals, effective requirements, references and inputs hashes (files plus selected record bindings). reading_ref opens a readable view of that same work input, with full text in linked files instead of escaped JSON strings. Pass this entry and task_directory to the host worker; work_context and its input hashes remain unchanged. Preparing a unit records its selection in existing activity history for the next save; ordinary status remains read-only. current_work.production_contexts retains recorded production identities for independent assignments. Choose scope yourself; send the input through the host's existing agent tools, preserving its actual task handle for follow-up. No host agent is launched by this read. Omit stage to prepare independent work without changing global progress. |
| research_guideA | Read brief/collect/analyze/draft/review/revise/final methods without a task. language accepts "en" (English), "zh" or "zh-CN" (the same Chinese methods). All tasks receive the same complete methods for this stage; omit the legacy profile argument. For an existing task use research_status to preserve its recorded completion requirements. Optional methods selects named capabilities (e.g. compare/explain/assemble/delegate) for the current question. Omit methods to keep stage defaults; available_methods lists choices. No additional step is required. |
| research_reviewA | Prepare independent assignments or receive the host's actual completed result; no API setup is needed. The host dispatches distinct non-author agents: seven whole-report perspectives and domain review, then an independent audit with independently selected samples, then independent final acceptance. host_result uses slot_id, host_task (actual session handle), response_path and execution_path (task-relative original UTF-8 response and completed host capture). Original responses quote input_version and assignment_version. execution_path records host_task, status=completed and assignment_version. Do not fabricate responses or identities. evidence_paths may be empty when registered original evidence suffices; required sources are included automatically. Each pending assignment includes reading_ref: open its readable input and full-text links when dispatching the host agent. On revision, resume_host_task identifies the earlier independent context to continue when available; revision_context compares the current input with that role's actual reviewed version and retains its original work. Omitted perspectives/domains continue the saved unit selection; explicit values change the selection. assignment_ref remains the original frozen JSON; include_assignment=False avoids repeating it inline. Versions are unchanged. For progressive work set scope to a saved unit_id and artifact to its draft; perspectives selects relevant unit reviews. New units default to no domain review; domains supplies needed specialist perspectives. audit=True adds independent unit adjudication when needed, retaining existing content results. An enabled audit cannot be removed; full reports always require audit and final acceptance. Main drafts must have their actual producer registered via save draft.host_task. Revision assignments reference earlier reviews, frozen inputs and changed locations; these are reading aids, not current PASS. A completed negative review is retained. Correct the draft, then use revision=True; do not reroll for a pass. reviewer=self and self_review remain recognizable legacy parameters but cannot complete current independent review. Explicitly configured external backends execute the same assignments; ordinary use stays in the host. |
| research_finishB | Verify report delivery and publish its receipt/terminal state only when checks pass. Current work requires completed independent perspectives, audit and acceptance bound to the current full artifact. Historical checklist receipts remain readable; checklist cannot replace current independent work. Explicit length_constraint rows in state/requirements.jsonl are measured; no limit is inferred from prose. message is the intended user-visible delivery text. This does not send messages or publish externally. Independent audit adjudicates no-change decisions; an author's appended disposition cannot clear required findings. Evaluation tasks end with evaluation_complete from research_review, without repairing samples. |
| research_check_draftA | Check draft records and declared whole-artifact length before review or finish, without model calls. Returns actual counts, explicit range checks and errors. No limit is inferred from prose. Does not change progress, reports, reviews or receipts; uses the shared local task lock. ok describes these mechanical checks only, never semantic quality or delivery approval. Correct ordinary drafts and recheck; preserve frozen evaluation originals. |
| research_check_reviewerA | Check trusted reviewer configuration locally, without sending report data or paid model calls. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| research | Start source-backed research by clarifying the brief, then using the shared research tools. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| instructions | Research Toolkit entry instructions and the shared workflow's completion boundaries. |
TDQS
Scored across 9 tools
Most tools map to distinct lifecycle stages such as start, status, save, review, and finish, but research_status also reads methods, prepares work, and opens reading views, overlapping research_guide and parts of research_save. The research_check_* tools are distinguishable, while the review-versus-finish boundary requires careful reading of very long descriptions.
All tools share the same research_ prefix, making the set predictable. The suffixes mix verbs and nouns, e.g. research_check_updates and research_check_draft versus research_status and research_guide, but this is readable and not confusing enough to break consistency.
Nine tools is well within the appropriate range for a multi-stage research workflow. Each tool corresponds to a recognizable lifecycle operation or mechanical check rather than an arbitrary extra.
The surface covers task creation, guidance/status, record saving, update checks, draft checks, reviewer configuration, independent review, and final delivery. Only minor lifecycle gaps exist, such as explicit task listing or deletion/archiving operations.