Skip to main content
Glama

Research Toolkit

MIT License Framework checks

English · 简体中文

Turn a research question or existing material into a report with concrete judgments and traceable sources.

Use it for industry research, product comparisons, company analysis and technical research. Start a new study, revise an existing report against its sources, or update conclusions when new material arrives. Your agent researches and writes; Toolkit supplies the methods and optional workflow tools.

Start here · See a research case · Agent setup · Documentation

Quick start

Send this request to an agent that can read the repository and your sources. No installation is needed to use the methods directly.

Use Research Toolkit: https://github.com/rrrrrredy/research-toolkit
Read SKILL.md and follow the methods needed for this task.

Question or revision request: [Include the audience and intended use.]
Scope and length: [Include the information cutoff and counting unit.]
Material: [Attach sources, links or an existing report, if available.]

Recommend Lite or Full for the task, briefly explain why, and respect my choice.
Deliver the complete report with usable citations; include a short change note
when revising. Maintain working records yourself and state the checks performed.

Workflow

When to choose it

Completion

Lite — lightweight workflow

Bounded research where author checks fit the use

Source/claim records and author checks

Full — complete workflow

Version-bound review, tracked revisions and delivery consistency checks

Selected review, revision checks and delivery consistency

Both share the same standards for required reading, evidence, analysis and writing. Choose by the task; length is not a profile cap, and Full does not automatically mean independent review.

Have a draft or new material? Revise, update or continue Lite work in Full, reusing completed research and its sources.

Related MCP server: Eyes-MCP

Research case

APIs or browsers for AI agents. An English report drawing on 11 primary sources to compare API calls, DOM automation and visual interaction through completion, recovery and cost.

Read the report · Initial draft · Sources · Reviews and revisions

Before:

There is no benefit in preserving this split if the API later covers document generation with adequate permissions and result checking.

After:

If the API later covers document generation with adequate permissions and result checking, the original coverage gap disappears. Retiring the browser step then depends on whether the expected maintenance and recovery savings justify migration and revalidation costs.

The review identified a missing counterexample: replacing a working browser step may cost more than the expected savings. The revision makes that trade-off part of the recommendation.

Explore the revision · Video walkthrough

Public-source analysis dated 10 October 2026, not a deployment test. Also read the Chinese office-agent comparison and its source and revision archive.

Agent setup

How you want to use it

Entry

Read the methods directly

Send the request above; for files or text-only chats, see agent setup.

Install a Skill or plugin

Choose your agent · Plugin installation

Save progress and call workflow tools

MCP installation and client configuration · CLI

Try the local tools

Runnable MCP example and captured responses; replays a supplied self-review without an external model call.

The eight local tools manage task records, stage guidance, reviews and delivery checks. MCP needs Python 3.10+ and a client that can start a local process; the installation guide covers Windows, macOS and Linux.

Full supports author-context self, a configured external backend, or independent review in a separate context. Astra can provide independent review without an outside person or another vendor. State the tier actually used; an explicit independent-review requirement cannot be silently downgraded. Review configuration

Evidence and evaluations

Public records include complete reports, original failures, reviews and repairs. They show concrete report corrections and tested workflow behavior; they do not yet establish a general quality or efficiency advantage over a native agent. Case studies, model comparisons and software checks answer different questions.

Current evidence and limits · Complete-report version comparison (Chinese) · Datasets and checks · Historical data archive

Documentation

Need

Entry

Research and writing methods

Research guide · Skill instructions

Existing reports and source updates

Continue existing research

Installation and configuration

Agent setup · Usage guide

Development and changes

Contributing · Changelog

All documentation · Website · Submit a failure case

Available Tools

8 tools
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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
artifactNofinal.md

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: no model calls, no inference of limits from prose, no mutation of progress/reports/reviews/receipts, and use of a shared local task lock. It also scopes the 'ok' signal explicitly to mechanical checks rather than semantic quality or delivery approval, which prevents misuse. Remaining gap: it does not characterize failure/error modes beyond 'returns errors'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action in the first clause, and each following line adds a distinct constraint (no model calls, no mutation, ok semantics) with no filler. The telegraphic fragments and undefined shorthand like 'ok' cost some readability but do not waste space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be fully explained; the description still signals that counts, range-check results and errors come back. Combined with the non-mutation and locking disclosures, this is nearly complete for a 2-parameter, low-risk check tool, with parameter meaning as the main omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never names or explains the two parameters ('task' and 'artifact', the latter defaulting to final.md). 'Whole-artifact length' hints at the artifact parameter but does not state its format, path semantics, or what 'task' must identify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and object (check draft records and declared whole-artifact length) and pins a scope boundary (no model calls, mechanical only). It is distinguishable from research_check_reviewer and research_review, though the phrase 'declared whole-artifact length' is jargon that takes a second read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the workflow point at which to call it ('before review or finish') and gives a directional rule for which drafts to apply it to ('Correct ordinary drafts and recheck; preserve frozen evaluation originals'). It does not name the sibling check tool it is an alternative to, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_check_reviewerA

Check trusted reviewer configuration locally, without sending report data or paid model calls.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it does disclose the two traits that matter most: no report data leaves the machine and no paid model calls are made. What it does not disclose is whether it mutates anything or what a failed check looks like, though the output schema covers the return value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that communicates action, resource, and the two most decision-relevant constraints. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and an output schema present, the description needs only to convey purpose and behavioral constraints, which it does. It is slightly thin on what 'trusted reviewer configuration' actually consists of, but that is a minor gap for a zero-arg, schema-backed tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Check') and resource ('trusted reviewer configuration'), plus a scope qualifier ('locally'). It is distinguishable from the sibling research_review because it explicitly frames itself as a local, no-cost verification rather than an actual review. It stops short of naming a sibling, so 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without sending report data or paid model calls' implies this is the cheap pre-flight check to run before invoking the paid review path, but the guidance is implied rather than stated. No alternative tool is named and no explicit when-not condition is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_finishB

Verify report delivery and publish its receipt/terminal state only when checks pass. Lite returns a checklist template when checklist is omitted; submit each passed/evidence item to finish. Optional evidence_files lists retained task-relative check notes; new Lite receipts also bind research inputs. Explicit length_constraint rows in state/requirements.jsonl are measured for Lite and Full; no limit is inferred from prose. message is the intended user-visible delivery text. This does not send messages or publish externally. For evidenced no-change decisions, append finding_disposition rows to logs/review.jsonl as documented. New ordinary-review attempts require schema_version 2, decision_actor and original artifact/response hashes in those rows. Evaluation tasks end with evaluation_complete from research_review, without repairing samples.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
messageYes
artifactNofinal.md
checklistNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does substantial work: it states the operation publishes only when checks pass, that it does not send messages or publish externally, that length_constraint rows are measured but no prose limit is inferred, and that new ordinary-review attempts require schema_version 2 plus decision_actor and hashes. Auth/permission and reversibility are still unstated, keeping it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is a dense cluster of run-on statements referencing internal paths (state/requirements.jsonl, logs/review.jsonl) and undefined modes (Lite/Full), with low-signal lines like the evidence_files sentence. Only the first sentence is well front-loaded; the rest is hard to parse in a single read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, which helps. Still, for a 4-parameter finishing/mutation tool with zero schema coverage and no annotations, the description omits what the terminal state actually emits, what artifact/task mean, and how the Lite checklist maps to submission, leaving real gaps despite the volume of text.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains message (intended user-visible delivery text) and checklist semantics well (template when omitted; submit passed/evidence items), but leaves task and artifact undescribed, and references an evidence_files field that does not exist in the schema, which misleads more than it clarifies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource: verify report delivery and publish its receipt/terminal state when checks pass. That distinguishes it from research_status (read state) and research_start/save. However, terms like 'Lite', 'Full', and 'terminal state' are undefined and assume prior context, so the precise scope is not fully self-evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It offers some when-to-use cues: omit checklist to get a template, submit passed/evidence items, append finding_disposition rows for evidenced no-change decisions, and evaluation tasks end via research_review. But these are tangled across internal file references rather than stated as a clean decision rule, and no explicit exclusion tells the agent when NOT to call this versus research_review/research_check_draft.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_guideA

Read brief/collect/analyze/draft/review/revise/final methods without a task. Pass the intended profile explicitly (API default: full). Lite returns compact guidance for this stage. For an existing task use research_status to inherit its saved profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
stageYes
profileNofull
languageNoen

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does disclose useful traits: the API default profile is 'full,' 'lite' returns compact guidance, and profiles can be inherited from an existing task. It does not state whether this is purely read-only, whether it has side effects, or anything about auth, which a no-annotation tool would ideally cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and immediately followed by the key parameter and the alternative tool. No filler, though the opening stage list is terse to the point of being cryptic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-format explanation is not required. The stage parameter is only implied by a slash-separated list rather than defined, and 'language' has no semantics anywhere. Adequate for a 3-param tool but with visible gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate across three params. It partially does: 'profile' gets real semantics (explicit vs API default, lite = compact), and 'stage' is enumerated via the stage list. 'language' is never mentioned in the description or schema, leaving one parameter undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: read methodology/guidance for named research stages (brief/collect/analyze/draft/review/revise/final) and explicitly scopes it as 'without a task.' The 'without a task' clause cleanly separates it from task-bound siblings like research_status and research_start, though the phrase 'methods' is jargon-y and takes a moment to parse.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear when-not: for an existing task, use research_status to inherit its saved profile. Also tells the agent to pass the profile explicitly and notes the API default of 'full.' Missing explicit guidance versus research_review, research_check_draft, and research_check_reviewer, but the task-bound vs task-free split is well covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_reviewA

Run the configured content reviews and any declared audits, retaining original evidence. Without a configured backend, new tasks return a self-review prompt; submit the actual result as self_review. Explicit external/independent selections never silently downgrade. Lite returns explicit skip logs. External calls send the full task/report/evidence to the configured model account. May consume its usage. evidence_paths are UTF-8 files relative to the task; required registry materials are included automatically. Use evidence_path in source records for local source text/extracts. Use purpose=evaluation to preserve defects. Resume incomplete assignments; never retry a valid negative result to improve the verdict. After correcting a report, pass revision=True for its new version; this is the normal report-delivery loop. Already authorized corrections do not need another user confirmation. Reconcile changed scope in task records first. For local self-review, include_assignment=False returns the frozen input path/hash instead of repeating its full text. Read the current assignment locally and reuse already-read unchanged evidence; review and freshness checks are identical.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
purposeNoreport_delivery
artifactNofinal.md
reviewerNo
revisionNo
self_reviewNo
evidence_pathsYes
include_assignmentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and discloses important side effects: external calls send the full task/report/evidence to the configured model account and may consume usage. It also documents non-obvious policies such as no silent downgrade, explicit skip logs, retained evidence, and retry limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and contains little outright fluff, but it is a dense block of operational rules without grouping or headings. The final sentence about reading the assignment locally is awkwardly placed and the overall structure makes the guidance harder to scan than it needs to be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex review workflow, missing annotations, and 0% schema description coverage, the description supplies substantial operational context. It is not fully complete because some parameters remain vague and output behavior is not explained, though the presence of an output schema reduces the need for return-value detail.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It usefully explains evidence_paths format, purpose=evaluation, revision=True, include_assignment=False, and self_review usage, but leaves other parameters such as artifact and task format largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: run configured content reviews and declared audits while retaining original evidence. It is clear enough to distinguish from generic workflow tools, but it does not explicitly distinguish itself from sibling tools such as research_check_draft or research_check_reviewer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives many conditional usage rules: submit self_review when no backend is configured, use purpose=evaluation to preserve defects, resume incomplete assignments, avoid retrying valid negatives, and pass revision=True after corrections. It covers when to do many things, though it does not name sibling alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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. draft uses path, optional content and complete=true for a complete draft; omit content to register an existing file. 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 observe timestamps and failures; research_status exposes activity and returned reviewer usage.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
draftNo
claimsNo
replaceNo
sourcesNo
requirementsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations the description carries the full burden and does well: it discloses that writes go to CSV/JSONL, that partial updates retain other fields/rows, that original bytes are automatically backed up, that assigned IDs and field errors are returned, and that it 'never infers truth or closes requirements automatically'. Only permissions/auth and concurrency behavior are left unstated, so it falls just short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action is correctly front-loaded, but the body is a dense semicolon-chained block of seven sentences blending parameter guidance, safety notes, return behavior and a status-tool aside. Little is wasted, but the run-on structure makes it harder to scan than a bulleted or sectioned layout would.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be documented, yet the description still adds useful write/read semantics, backup safety and ID-matching rules for a 6-parameter mutation tool with nested anyOf objects. Remaining gaps ('task' meaning, object field shapes, auth) keep it below a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate and it only partly does: it clarifies 'draft' (path + optional content + complete=true) and 'replace' (names complete collections, matched by URL/claim/summary) and gives matching semantics for omitted IDs. The required 'task' parameter is never explained, and the internal shape of the sources/claims/requirements objects is left to the caller.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb+resource: 'Save/update source, claim and requirement objects by stable ID', plus the storage side effect (writes CSV/JSONL). It distinguishes itself from research_status by noting that status 'exposes activity', but it never names the check_draft/check_reviewer siblings it could be confused with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete operational guidance for the main modes: use 'draft' with path/content/complete=true, omit content to register an existing file, and use 'replace' to repair complete collections from recovered rows. It does not, however, say when NOT to save or how this relates to research_check_draft/research_check_reviewer as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_startA

Create a research task or complete its missing brief. Returns its directory and stage guidance. 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. Choose and pass profile explicitly from the task's purpose and evidence needs; full remains the API default. lite uses compact stage methods, skips review and full delivery gates, and requires its final checklist. Resume an existing task through research_status, which reads its saved profile. Inspect review_readiness before collection: restore blocked dependencies/access; local checks do not verify quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
briefYes
profileNofull
languageNoen

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does well: it discloses that clarification_questions should guide rather than be forwarded, that profile=full is the API default, that lite skips review and delivery gates but requires a final checklist, and that local checks do not verify quota. It stops short of stating permissions/idempotency or whether it mutates persisted state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and return value are front-loaded, and most sentences earn their place by adding distinct operational guidance. It is dense and fragmentary in places (e.g. 'full remains the API default'), which slightly taxes readability for a 9-line block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description instead supplies workflow context across siblings (research_status resume, review_readiness pre-check). The only real gap is the undocumented 'language' parameter and absent safety/mutation disclosure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it largely does: it names the brief keys (question, audience, scope, output, depth, evidence_standard) and explains the profile enum (lite vs full, default full). The 'language' parameter is left entirely unexplained, which keeps it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb+resource ('Create a research task'), plus a second mode ('complete its missing brief') and a return value ('its directory and stage guidance'). It routes one alternative (research_status for resume) but does not distinguish itself from the other research_* siblings it sits among.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing is given: resume existing tasks via research_status, inspect review_readiness before collection, and choose profile from the task's purpose. The when-to-use and when-to-use-something-else conditions are stated rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

research_statusA

Read progress and stage methods. Optional stage advances to collect/analyze/draft/revise only after prerequisite records exist. Review and final completion use their dedicated tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYes
stageNo
languageNoen

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden: it discloses the allowed stage values (collect/analyze/draft/revise) and that advancement is gated on existing prerequisite records, which is meaningful behavioral context. It does not address permissions, error behavior, or what happens on an illegal stage transition, so gaps remain for a tool that can mutate state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what the tool does, then the stage semantics, then the boundary against siblings. Nearly zero waste, though 'Read progress and stage methods' is slightly awkward phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the stage-mutation rules are covered. However, the undefined 'prerequisite records' and the undocumented task/language parameters leave an agent with avoidable uncertainty when composing a call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema gives no help for task, stage, or language. The description partially compensates by enumerating the valid stage values and the condition for using stage, but task and language are left entirely undefined in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb+resource pairing (read progress and stage methods) and explicitly carves out review/final completion as belonging to sibling tools. The phrase 'stage methods' is somewhat opaque, but an agent can tell this apart from research_review and research_finish without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear usage condition (advance stage only after prerequisite records exist) and names the alternatives for other operations ('Review and final completion use their dedicated tools'). It stops short of naming which record types count as prerequisites or when a read-only call is preferred over advancing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv1.1.0
    • First observedresearch_check_draft
    • First observedresearch_check_reviewer
    • First observedresearch_finish
    • First observedresearch_guide
    • First observedresearch_review
    • First observedresearch_save
    • First observedresearch_start
    • First observedresearch_status

TDQS

A3.8/5.0

Scored across 8 tools

Disambiguation4/5

Most tools target clearly distinct stages (start, save, review, finish, check_draft, check_reviewer). The one soft boundary is research_status vs research_guide, both of which read stage methods, distinguished only by 'with a task' vs 'without a task' — a subtle but workable split.

Naming Consistency4/5

All tools use a consistent research_ prefix with largely verb-style suffixes (start, save, review, finish, check_draft, check_reviewer). Two are noun-like (status, guide), a minor deviation from the otherwise predictable verb_noun pattern.

Tool Count5/5

Eight tools is well-scoped for a staged research workflow, with each tool mapping to a recognizable step (brief, save, status, guide, review, finish, two local checks). No redundancy or filler.

Completeness4/5

The set covers the full lifecycle — brief creation, object saving, progress reading, guidance, review, delivery/finish, and local validation checks. It lacks any cleanup/deletion or export/teardown operation, but core workflows have no dead ends.

Maintenance

ActivityActive
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers