Skip to main content
Glama
soundwaverohit

Quantum Research Hub MCP Server

⚛️ Quantum Research Hub

A local-first, MCP-powered autonomous research system for quantum computing. It watches arXiv, builds compact paper memory, proposes small testable ideas, generates and runs bounded experiments, validates the results skeptically, and shows everything in a dashboard — all under a budget, with every agent action logged.

Every day it answers: what changed in quantum computing, which papers matter, what ideas are worth testing, and what the agents actually tried.

This is a functional MVP, not a skeleton: arXiv search is real (with a clean injectable adapter for tests), the experiment engine runs a genuine tiny VQE against exact diagonalization, and the validator can reject results.


Highlights

  • Researcher MCP server (FastMCP) exposing 17 bounded tools to Claude Code.

  • Real arXiv ingestion (httpx + feedparser) -> compact paper cards with deterministic fallback and an optional Claude model pass.

  • SQLite storage for papers, chunks, ideas, experiments, runs, agent events, and budget events.

  • Local vector paper-memory search using dependency-free hashed embeddings (QRH_MEMORY_BACKEND=bm25|hybrid remains available).

  • Orchestrator + 8 agents: Paper Scout, Summarizer, Curator, Idea Generator, Experiment Builder, Runner, Validator/Critic, Reporter.

  • Daily run under low/medium/high budget profiles -> daily report; scheduler can also write weekly reports.

  • Real experiment engine: tiny TFIM VQE and tensor-network-structured ansatz templates (numpy), run in a sandboxed, timeout-bounded, approval-gated subprocess.

  • Dashboard: Overview, Papers, Ideas, Experiments, Agent Logs, Budget, Reports — available as a zero-dependency stdlib HTTP app (recommended, always runs) and as a Streamlit app.

  • Safety first: small CPU smoke runs are autonomous; installs/GPU/long jobs require approval; secrets are scrubbed from experiment subprocesses; ideas must cite source papers; no experiment is valid without a baseline.


Related MCP server: Research Paper Agent

Quickstart

The whole MVP runs on a lightweight stack (mcp, pydantic, httpx, feedparser, numpy, pandas, streamlit, pyyaml). pypdf is optional (full-text parsing only) — the MVP works without it.

uv sync
cp .env.example .env
uv run python -m researcher_mcp.storage.db init
uv run python scripts/seed_demo.py            # demo data so the dashboard is populated
uv run python -m orchestrator.daily_run --profile low
uv run python -m apps.dashboard.server        # dashboard → http://127.0.0.1:8533
uv run pytest

Option B — pip / existing interpreter

python -m pip install -e ".[dev]"
cp .env.example .env
python -m researcher_mcp.storage.db init
python scripts/seed_demo.py
python -m orchestrator.daily_run --profile low
python -m apps.dashboard.server               # dashboard → http://127.0.0.1:8533
python -m pytest

Option C — one shot

scripts/bootstrap.sh        # installs deps, makes .env, inits + seeds the DB
scripts/run_daily.sh --profile low
scripts/dev.sh              # seed + launch the dashboard

The shell scripts default to python3; override with PYTHON="uv run python" scripts/run_daily.sh.


How to run each piece

Action

Command

Initialize the DB

python -m researcher_mcp.storage.db init

DB status / reset

python -m researcher_mcp.storage.db status · … reset --yes

Seed demo data

python scripts/seed_demo.py

Daily research run

python -m orchestrator.daily_run --profile low

Daily run (full pipeline w/ experiment)

python -m orchestrator.daily_run --profile medium

Daily run (no network/demo)

python -m orchestrator.daily_run --profile low --offline

Weekly report

python -m orchestrator.scheduler weekly --profile low

Scheduler loop

python -m orchestrator.scheduler loop --profile low --weekly

Dashboard (recommended, zero deps)

python -m apps.dashboard.serverhttp://127.0.0.1:8533

Dashboard (Streamlit)

streamlit run apps/dashboard/Home.pyhttp://localhost:8501

MCP server

python -m researcher_mcp.server (stdio)

Build the concept map

python -m researcher_mcp.indexing.pipeline build --reset

Concept-map stats

python -m researcher_mcp.indexing.pipeline stats

Export reasoning dataset

python -m researcher_mcp.indexing.dataset_export --format all

Tests

python -m pytest

Dashboard note: the stdlib dashboard (python -m apps.dashboard.server) has zero third-party dependencies and always runs. The Streamlit dashboard is equivalent but imports pyarrow; if your Python env has a pyarrow built for a different NumPy major version (a common conda/pip mismatch), Streamlit will fail to import. A clean uv sync avoids this, or use the stdlib dashboard.

Budget profiles

profile

papers/day

ideas/day

experiments created

experiments run

low

5

3

0

0

medium

15

8

1

1

high

30

15

2

2

On low, the pipeline discovers/ingests/ranks/ideates but does not create or run experiments (cap 0) — by design. Use --profile medium to exercise the full build → run → validate flow. The seed script uses medium.


Synthesis engine: conceptual maps → reasoning dataset

Beyond per-paper cards, the hub maintains a concept-map index over the whole corpus and can export it as a first-principles training dataset for scientific reasoning models. Every ingested paper is indexed automatically; you can also (re)build the whole map from stored papers at any time.

Pipeline: papers → concept extraction + term mining → evidence-backed graph → JSONL dataset

  • Concepts come from two sources: a curated quantum-computing seed ontology (~95 concepts: methods, ansätze, models, math objects, benchmarks, fields, hardware) and a domain-general term miner (acronym+definition detection, scientific head-noun phrases) that grows the vocabulary from any corpus. Mined candidates are auto-promoted to concepts when well-evidenced.

  • Relations are typed (improves_on, generalizes, applies_to, requires, enables, combines, compared_to, benchmarked_on, plus low-confidence co_occurs). Each relation persists the exact evidence sentence + char offsets + a confidence score — the supervision signal for training.

  • Storage is a batched SQLite writer (one connection per build, not one per row) plus FTS5 full-text indexes. concept_edges is re-derived from evidence, so re-indexing is idempotent.

python -m researcher_mcp.indexing.pipeline build --reset   # build map from all stored papers
python -m researcher_mcp.indexing.pipeline stats           # concept/edge/evidence counts
python -m researcher_mcp.indexing.dataset_export --format all --min-confidence 0.5

Four exported dataset formats (JSONL in data/datasets/, each record carries provenance back to arXiv IDs + evidence):

format

unit

teaches

triples

(source, relation, target) + evidence sentence

atomic grounded facts

chains

multi-hop reasoning trace, evidence per hop

transitive/compositional reasoning

qa

grounded question/answer over a concept neighborhood

retrieval-grounded answering

contrastive

two papers characterizing the same pair differently

evidence-weighing / disagreement

MCP tools: build_concept_index, get_index_stats, export_reasoning_dataset, plus search_concepts, get_concept_graph, get_bridge_concepts, get_concept_neighborhood, get_top_concepts.

Dataset yield depends on input richness. The relation extractor is deterministic and high-precision but low-recall: on abstracts alone, most concept pairs co-occur without an explicit relation verb in the same sentence, so they become low-confidence co_occurs (filtered at --min-confidence 0.5). Ingesting full-text PDFs (ingest_paper(..., download_pdf=True) with the pdf extra) multiplies typed-relation density. The relation direction is also a nearest-concept heuristic (no dependency parsing) — every row keeps its evidence sentence so direction is correctable downstream or by a later model pass.


Using the MCP server from Claude Code

Add the server to Claude Code (stdio). Example .mcp.json / client config:

{
  "mcpServers": {
    "quantum-research-hub": {
      "command": "python",
      "args": ["-m", "researcher_mcp.server"],
      "cwd": "/absolute/path/to/this/repo"
    }
  }
}

Tools exposed: search_arxiv, ingest_paper, get_paper_card, search_paper_memory, list_recent_papers, create_idea, list_ideas, create_experiment_from_idea, get_experiment, list_experiments, run_experiment, get_experiment_results, validate_experiment, create_daily_report, create_weekly_report, get_budget_status, get_overview.

Subagent definitions live in .claude/agents/ (paper-scout, curator, idea-generator, experiment-builder, validator, reporter, architect, test-engineer, plus paper-summarizer, experiment-runner, dashboard-builder, mcp-server-engineer).


Safety & approval model

Autonomous: arXiv search, paper-card creation, ranking, idea generation, experiment-folder creation, unit/smoke tests, short CPU runs, dashboard/DB updates.

Requires approval (returns needs_approval, does nothing): package installs, GPU, jobs > the configured timeout / medium+ runner modes, cloud/paid APIs, deleting files outside data/ and experiments/runs/, changing safety logic.

Hard rules: every idea cites ≥1 source paper; every experiment has a baseline, metric, seed, and validator note; the variational energy can never drop below the exact ground state (flagged as a bug); experiment subprocesses get a secret-scrubbed environment and a hard wall-clock timeout.

Set QRH_APPROVAL_GRANTED=1 (or pass approve=True to run_experiment) to allow a single non-small run when you have reviewed it.


Project layout

researcher_mcp/        # MCP server + tools + ingestion + storage (the capability layer)
  server.py            # FastMCP server (python -m researcher_mcp.server)
  config.py            # paths, budget profiles, categories, keyword groups
  tools/               # arxiv, paper, memory, idea, experiment, runner, budget, dashboard, concept, dataset
  ingest/              # arxiv_client, paper_card, chunker, concept_extractor, pdf_* (optional)
  indexing/            # writer (batched), term_miner, graph_store, pipeline, dataset_export
  storage/             # schema.sql, db.py, models.py (pydantic), repository.py, concept_graph.py, vector_store.py
orchestrator/          # the autonomous daily layer
  daily_run.py         # python -m orchestrator.daily_run --profile {low,medium,high}
  budget_manager.py    # enforces caps, records usage
  agent_router.py      # RunContext + pipeline
  reporting.py         # daily + weekly report builders
  agents/              # the 8 pipeline agents
apps/dashboard/        # server.py (stdlib HTTP, recommended) + Streamlit Home.py + pages/1..6
experiments/
  templates/vqe_baseline/          # runnable TFIM-VQE template
  templates/tensor_network_ansatz/ # runnable matched-parameter ansatz template
  runs/                            # generated experiment folders
scripts/               # bootstrap, dev, run_daily, reset_dev_db, run_tests, seed_demo
tests/                 # pytest (mocked network)
data/, db/             # artifacts + SQLite (gitignored)
.claude/agents/        # subagent definitions   .claude/settings.json

Layout note: researcher_mcp/ and orchestrator/ are top-level packages (a flattened version of ARCHITECTURE.md's services/... tree) so every documented python -m ... command works from the repo root with no install. Module paths are identical to the architecture doc.


What an experiment contains

Each experiments/runs/<id>/ has: experiment.yaml, hypothesis.md, related_papers.json, plan.md, src/run.py, tests/test_smoke.py, configs/config.json, results/metrics.json (+ logs/, plots/), report.md, validator_notes.md. Templates report exact_energy, vqe_energy, baseline_energy, energy_error, improvement_over_baseline, parameter_count, seed_stability_std, and runtime_seconds. The tensor template also reports structured_ansatz_energy, hardware_efficient_energy, and structured_vs_hardware_delta.


Configuration (.env)

See .env.example. Common knobs: QRH_DB_PATH, QRH_DATA_DIR, QRH_BUDGET_PROFILE, QRH_LOOKBACK_DAYS, QRH_ARXIV_MIN_INTERVAL, QRH_EXPERIMENT_TIMEOUT_SECONDS, QRH_APPROVAL_GRANTED, and QRH_MEMORY_BACKEND.

Optional Claude model pass:

export QRH_ENABLE_MODEL_PASS=1
export ANTHROPIC_API_KEY=...
export QRH_CLAUDE_MODEL=claude-sonnet-4-5

When disabled or unavailable, paper cards, ideas, and reports fall back to the deterministic path. No secrets are required for the offline MVP.


Limitations (MVP)

  • The Claude model pass is optional and requires an Anthropic key.

  • Circuit-cutting and QML templates are still stubs that fall back to the VQE template.

  • The vector memory backend is a local hashed embedding index, not a persistent Chroma/FAISS store yet.

  • Full-text PDF parsing requires the optional pdf extra.

See ARCHITECTURE.md for the full design and CLAUDE.md for the working rules.

Available Tools

17 tools
create_daily_reportA

Generate the daily research report markdown for a date (default: today).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for transparency. It only states the basic generation action, with no disclosure about side effects, authorization needs, rate limits, or handling of invalid dates. No details on whether existing reports are overwritten or if the report is returned directly.

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?

The description is a single sentence that front-loads the core action and parameter. Every word is necessary and there is no redundancy.

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?

For a simple tool with one parameter and no output schema, the description covers the main purpose and parameter meaning. However, it does not explain the output format (e.g., whether it returns the markdown string or saves it) or behavior on errors. This is adequate but not comprehensive.

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%, but the description adds meaning by explaining the date parameter's purpose ('for a date (default: today)'). However, it does not specify the expected date format (e.g., ISO 8601), leaving ambiguity for the agent.

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

Purpose5/5

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

The description clearly states the action ('Generate'), the resource ('daily research report markdown'), and the optional date parameter with default. It effectively distinguishes from sibling 'create_weekly_report' by specifying 'daily'.

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 description implies usage for generating daily reports but provides no explicit guidance on when to use this tool versus alternatives (e.g., create_weekly_report) or when not to use it. No prerequisites or context are mentioned.

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

create_experiment_from_ideaC

Create a reproducible experiment folder from an idea (baseline + tests + config + metrics).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNosmall
idea_idYes
auto_runNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It mentions creating a folder with specified contents, but omits side effects (e.g., does it modify an idea?), the role of 'auto_run', and whether the tool is destructive or idempotent. This is insufficient for a creation tool.

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 a single sentence of 12 words, which is efficient but omits critical detail. It could be expanded slightly to cover parameter usage without becoming verbose.

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

Completeness2/5

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

With 3 parameters, no output schema, and no annotations, the description fails to cover key aspects like return value, mode options, or auto_run function. It is not complete enough for reliable tool selection and invocation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters (idea_id, mode, auto_run). The listed components (baseline, tests, etc.) do not map to parameter names or values, leaving the agent without guidance on how to use them.

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

Purpose5/5

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

The description clearly states the tool creates a reproducible experiment folder from an idea, listing specific components (baseline, tests, config, metrics). This verb+resource combination is distinct from siblings like 'create_idea' and 'run_experiment'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., run_experiment, create_idea). The description does not specify prerequisites, such as requiring an existing idea, or when auto-run might be appropriate.

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

create_ideaC

Create a research idea. MUST cite >=1 source arXiv paper (rejected otherwise).

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
metricNo
baselineNo
hypothesisYes
observationNo
failure_modesNo
novelty_scoreNo
expected_runtimeNo
source_arxiv_idsYes
feasibility_scoreNo
smallest_experimentNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description fails to disclose important behavioral aspects such as side effects, permissions, or what happens on success/failure. The only behavioral hint is the rejection when no source arXiv paper is cited, which is a constraint but not a comprehensive disclosure.

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?

The description is concise at two sentences with no fluff. The key constraint is front-loaded in the second sentence. However, for a tool with 11 parameters, it may be too brief, but conciseness itself is well achieved.

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

Completeness1/5

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

Given 11 parameters, no annotations, no output schema, and a sibling tool chain, the description is severely lacking. It covers only one constraint and omits essential details about return values, side effects, prerequisites, and parameter roles, making it incomplete for an agent to use effectively.

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

Parameters1/5

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

Schema coverage is 0%, but the description only adds meaning to one parameter (source_arxiv_ids) by enforcing a citation rule. The remaining 10 parameters (title, hypothesis, metric, etc.) receive no explanation, leaving the agent to rely on parameter names alone, which is insufficient.

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 clearly states the verb-resource pair 'Create a research idea', which distinguishes it from siblings like 'list_ideas' and 'create_experiment_from_idea'. However, it does not explicitly differentiate from other create tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'create_experiment_from_idea'. The constraint about citing papers is stated but does not provide context for when the tool is appropriate.

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

create_weekly_reportA

Generate the weekly research report markdown (week_start normalized to Monday).

ParametersJSON Schema
NameRequiredDescriptionDefault
week_startNo

TDQS

A3.5/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 burden. It discloses the normalization of week_start to Monday, but lacks additional behavioral details such as whether the report is saved to disk, the format of the returned markdown, or any side effects. The single disclosed trait is helpful but insufficient for a creation tool.

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?

The description is a single sentence of 11 words, highly concise and front-loaded with the core purpose. Every word is meaningful and there is no redundant information.

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

Completeness2/5

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

Given the tool has one parameter, no output schema, and no annotations, the description is too minimal. It does not mention what the tool returns (e.g., a file path, the markdown content, or a confirmation) or any important behavioral context like persistence or side effects. For a creation tool, more completeness is expected.

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%. The description mentions 'week_start' only indirectly by stating normalization, but does not explain the parameter's format, default behavior (empty string), or allowed values. This leaves significant ambiguity for the AI agent.

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

Purpose5/5

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

The description clearly states the action ('Generate'), the resource ('weekly research report markdown'), and a specific detail ('week_start normalized to Monday'). This distinguishes it from sibling tools like create_daily_report and other report or idea tools.

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 description implies weekly usage via the tool name and 'weekly' in the description, but does not explicitly state when to use this over alternatives like create_daily_report. No exclusions or context are provided.

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

get_budget_statusB

Return the active budget profile, daily caps, and usage so far today.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileNo

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It only says 'return' (read operation) but does not disclose side effects, error handling, or what happens if no budget is set.

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?

Single sentence, front-loaded with key action and output. No wasted words.

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?

Tool is simple with 1 optional param and no output schema. Description covers the basic return items but omits important context like what 'active budget profile' means and the response structure.

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

Parameters1/5

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

Schema has 1 parameter 'profile' with 0% description coverage. The description does not explain the parameter's purpose, default behavior, or allowed values.

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

Purpose5/5

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

Clearly states it returns budget profile, daily caps, and usage today. Specific verb 'Return' and resource 'budget status'. No sibling tools overlap with this purpose.

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

Usage Guidelines2/5

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

No guidance on when to use this tool or when not to. Does not mention prerequisites or alternatives among sibling tools.

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

get_experimentA

Return full experiment detail: metadata, config, latest metrics, validator notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
experiment_idYes

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 bears full burden. It discloses the returned data (metadata, config, metrics, notes) but does not mention side effects (likely none), authentication needs, or error behavior. It is adequate but not exhaustive.

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 sentence of 9 words that immediately conveys the tool's purpose. No extraneous information, and the key components are listed efficiently.

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?

Given the simple nature (1 param, no output schema), the description covers the main return types. However, it lacks details on error handling, default behavior if no experiment exists, or whether the data is read-only. For a retrieval tool, it is sufficient but not fully comprehensive.

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?

The schema has one required string parameter (experiment_id) with no description. The tool description does not elaborate on the parameter beyond implying its role, offering no additional semantics or validation hints. Schema description coverage is 0%.

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

Purpose5/5

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

The description clearly states the verb 'Return' and the resource 'full experiment detail', listing specific components: metadata, config, latest metrics, validator notes. This distinguishes it from sibling tools that may return partial data or different experiment aspects.

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 description implies usage for retrieving comprehensive experiment details, but provides no explicit guidance on when to use this tool versus alternatives like get_experiment_results or validate_experiment. No exclusions or alternatives are mentioned.

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

get_experiment_resultsB

Return the latest run's status, metrics, and log path for an experiment.

ParametersJSON Schema
NameRequiredDescriptionDefault
experiment_idYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the tool returns data, implying a read-only operation, but does not confirm side effects, permissions, rate limits, or handling of edge cases (e.g., missing experiment_id, no runs). The brevity leaves uncertainty about its behavior.

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?

The description is a single, well-structured sentence with no wasted words. However, it is slightly too terse given that it needs to convey more detail for completeness. It earns a 4 for efficiency without being verbose.

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?

Given the tool's simplicity (1 param, no output schema), the description minimally covers what is returned (status, metrics, log path) and scope (latest run). It lacks information on error handling, multiple runs, and return format. It is adequate for a basic tool but not fully complete.

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?

The single parameter, experiment_id, has 0% schema description coverage. The tool description adds only 'for an experiment,' which is redundant. It does not explain the parameter's format (e.g., string ID or name), how to obtain it, or its relation to other tools. This fails to compensate for the schema's lack of documentation.

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

Purpose5/5

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

The description clearly states the verb 'Return' and the resource: 'the latest run's status, metrics, and log path for an experiment.' It specifies scope (single experiment via experiment_id) and differentiates from sibling tools like get_experiment (which likely returns experiment metadata) and list_experiments. The mention of 'latest run' adds specificity.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus its numerous siblings (e.g., get_experiment, run_experiment, validate_experiment). It does not state alternatives, prerequisites, or scenarios to avoid. The context is only implied through the purpose, which is insufficient for an agent to decide confidently.

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

get_overviewB

Return dashboard headline counts, recent activity, and budget status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description fails to disclose behavioral traits. It implies a read-only operation but does not specify caching, real-time behavior, or side effects.

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?

Single sentence of 8 words, front-loaded with the action and resources. No wasted words; appropriate for a simple parameterless tool.

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?

The description covers the tool's function but lacks details on output format or prerequisites. For a simple dashboard tool without output schema, it is minimally adequate but not thorough.

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 has zero parameters, so baseline is 4. The description adds all meaning to the empty schema by listing the returned data types, meeting the expected semantic value.

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 clearly states the tool returns 'dashboard headline counts, recent activity, and budget status', which is specific and differentiates from 'get_budget_status' though overlap exists. It avoids tautology and adds value beyond the name.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_budget_status'. The description provides no context for selection or exclusion.

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

get_paper_cardC

Return the compact paper card (scores, methods, claims, possible experiments).

ParametersJSON Schema
NameRequiredDescriptionDefault
arxiv_idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden for behavioral disclosure. It states 'return' (implying read-only) but does not confirm safety, idempotency, auth requirements, or side effects. For a tool with no annotations, this is insufficient.

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 brief (one sentence) but lacks structure. It omits crucial details like return format or parameter use. Brevity is not helpful when it sacrifices clarity.

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

Completeness2/5

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

Given no output schema and minimal description, the tool is incomplete for an agent. It does not explain what the compact paper card contains in terms of data structure, limiting the agent's ability to interpret results.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the sole parameter 'arxiv_id' (e.g., format, example, required format). Agent would need external knowledge to know it's an arXiv identifier.

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

Purpose5/5

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

The description clearly states it returns a compact paper card with specific components (scores, methods, claims, possible experiments). The verb 'return' and resource 'paper card' are explicit and unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings like get_experiment, search_arxiv, or ingest_paper. Context signals show 16 sibling tools with overlapping themes, but description offers no differentiation.

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

ingest_paperC

Ingest one arXiv paper: metadata -> chunks -> deterministic paper card -> DB.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNo
arxiv_idYes
download_pdfNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It describes the general process but omits details about side effects (e.g., duplicate handling), the meaning of 'deterministic paper card', and the impact of boolean parameters like 'force' and 'download_pdf'. This leaves agents with incomplete understanding.

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 a single concise sentence, which is efficient but lacks necessary detail on parameters and use cases. It front-loads the purpose but sacrifices completeness.

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

Completeness2/5

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

Given the tool has 3 parameters, no output schema, and no annotations, the description is insufficient. It does not cover return values, error handling, parameter effects, or relationship to other tools, making it inadequate for a complete understanding.

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

Parameters1/5

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

The input schema has 0% description coverage, and the tool description does not explain any of the three parameters (arxiv_id, force, download_pdf). This leaves agents without guidance on required format, optional behavior, or defaults, severely hindering correct invocation.

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

Purpose5/5

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

The description clearly states the verb 'Ingest' and the resource 'arXiv paper', and outlines the pipeline steps (metadata -> chunks -> deterministic paper card -> DB). It effectively distinguishes from sibling tools like search_arxiv and get_paper_card.

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 description implies usage for adding a new paper to the database, but does not explicitly state when to use this tool versus alternatives, nor does it provide any prerequisites or conditions for use. No guidance on when not to use.

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

list_experimentsC

List experiments with latest metric + validator verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are present, so the description should disclose read-only behavior or any side effects. It does not mention that the tool is read-only, nor does it describe pagination, ordering, or performance implications.

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 a single sentence with no wasted words. However, it is overly terse and omits important details about parameters and behavior, which reduces its effectiveness.

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

Completeness2/5

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

Given the simplicity of the tool (1 parameter, no output schema), the description should still clarify the output structure and parameter usage. It mentions 'latest metric + validator verdict' but does not explain the list format or how 'status' filters results. Comparison with sibling tools is lacking.

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

Parameters1/5

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

Schema description coverage is 0% – the 'status' parameter is not mentioned in the description at all. The parameter is optional with a default empty string, but its purpose and allowed values are unexplained.

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 clearly states the verb 'list' and the resource 'experiments', and specifies the included data (latest metric + validator verdict). This distinguishes it from single-experiment tools like 'get_experiment' but not from similar list tools like 'get_overview' or 'list_ideas'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'get_experiment_results' or 'get_overview'. No exclusions or context are provided.

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

list_ideasC

List research ideas, optionally filtered by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose whether the operation is read-only, how results are ordered, pagination behavior, or any side effects. For a list tool, this is a significant gap.

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 extremely concise (one sentence), which front-loads the action. However, it lacks structure such as sections or bullet points. It is under-specified, making it not earn its place in terms of informativeness.

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

Completeness2/5

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

Given the simplicity (1 param, no output schema, no annotations), the description is minimal and does not fully cover the tool's behavior. It does not address differences from sibling list tools or explain return format or limits.

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?

The only parameter 'status' has no schema description (0% coverage). The description adds that filtering is optional, but does not explain valid status values or default behavior. It provides minimal additional meaning beyond the parameter name.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'research ideas', with an optional filter by status. This distinguishes it from sibling tools like 'create_idea' and 'list_experiments'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., list_experiments, list_recent_papers). No mention of prerequisites or context.

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

list_recent_papersB

List recently-seen papers, optionally filtered by minimum relevance score.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
min_relevanceNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral aspects. It only mentions listing and filtering, but omits details like ordering, pagination, or whether it is read-only. The description adds minimal value beyond the tool name.

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?

The description is a single efficient sentence that front-loads the purpose. It is concise, though it could be slightly expanded without losing brevity.

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

Completeness2/5

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

Given the two parameters and no output schema or annotations, the description is incomplete. It does not explain return format, ordering, or the purpose of the 'days' parameter, leaving the agent without sufficient context.

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%, yet the description only explains the min_relevance parameter partially ('minimum relevance score'), and does not mention the 'days' parameter at all. The description barely adds meaning beyond the schema's default values.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'recently-seen papers', with an optional filter. It distinguishes from sibling tools like search_paper_memory and get_paper_card by focusing on recent papers in a list format.

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 description implies usage for retrieving recent papers with optional filtering, but lacks explicit guidance on when to use this tool versus other paper-related tools like search_paper_memory or get_paper_card. No exclusions or alternatives are mentioned.

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

run_experimentA

Run an experiment safely (small=autonomous; gpu/medium/long need approval). Timeout-bounded.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNosmall
approveNo
experiment_idYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions safety, autonomy thresholds, and timeout bounding. But it lacks details on what 'safely' entails, timeout behavior, or potential side effects, limiting full transparency.

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?

Two concise sentences front-load key information: purpose, safety, mode autonomy, and timeout. No redundant words, every sentence adds value.

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?

Given no output schema and 17 sibling tools, the description is minimal. It covers mode and approval but omits details like what 'run' means, how to monitor progress, or how results are accessed. Missing context for comprehensive agent decision-making.

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 coverage is 0%, so the description must compensate. It explains mode values ('small=autonomous; gpu/medium/long need approval'), adding semantics. However, it does not describe 'approve' or 'experiment_id' meaning, leaving gaps in understanding.

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

Purpose5/5

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

The description clearly states the tool's purpose: running an experiment safely, with mode-specific autonomy (small vs. gpu/medium/long). It distinguishes from sibling tools (e.g., create_experiment, get_experiment) by being about execution, not creation or retrieval.

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 provides context on when to use autonomously (small mode) vs. requiring approval (gpu/medium/long). However, it does not explicitly mention when not to use the tool or suggest alternatives, leaving some ambiguity for the AI agent.

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

search_arxivC

Search arXiv for quantum-computing papers by query, categories, keywords, and date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
to_dateNo
keywordsNo
from_dateNo
categoriesNo
max_resultsNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It only states the search action but omits important details like rate limits, pagination, error handling, or whether it returns paper metadata or full text. For a tool querying an external API, more transparency is needed.

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?

The description is a single sentence that is clear and to the point. It is appropriately concise for the tool's simplicity. However, it could benefit from a slight restructure to separate purpose and usage.

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

Completeness2/5

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

Given the tool has 6 parameters, no output schema, and no annotations, the description is insufficient. It fails to cover return format, behavior when no results, or how parameters interact. More detail on parameter usage and output would improve completeness.

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%, so the description must compensate. It lists 'query, categories, keywords, and date range' but does not explain format or constraints. For example, 'from_date' and 'to_date' are strings but no date format is specified; 'categories' and 'keywords' arrays lack guidance on valid values. The description adds minimal meaning beyond the parameter names.

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 clearly states the tool's action ('search') and resource ('arXiv for quantum-computing papers'). It mentions key filtering dimensions (query, categories, keywords, date range). However, it does not distinguish itself from the sibling tool 'search_paper_memory', which might also search for papers but likely in a different scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as 'search_paper_memory' for searching internal memory vs. external arXiv. There is no mention of prerequisites (e.g., API access) or when not to use it.

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

search_paper_memoryC

Search stored paper memory with the configured local retrieval backend.

ParametersJSON Schema
NameRequiredDescriptionDefault
kNo
queryYes

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It mentions a 'configured local retrieval backend' but provides no details on operation, permissions, rate limits, or result structure. For a search tool, critical behavioral aspects are omitted.

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 description is extremely short, but conciseness is not virtuous here—it under-specifies. It could be expanded to include critical details while remaining concise.

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

Completeness1/5

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

Given the lack of output schema, annotations, and parameter documentation, the description is severely incomplete. It does not explain what the tool returns, how results are ordered, or any edge cases.

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

Parameters1/5

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

The input schema has 0% parameter description coverage, and the description gives no additional meaning about 'query' or 'k'. The agent must infer from names alone, which is insufficient.

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

Purpose3/5

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

The description specifies a verb ('Search') and a resource ('stored paper memory'), but the resource is vague and does not differentiate from sibling tools like search_arxiv or list_recent_papers.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not specify that it searches local storage versus external sources, nor does it mention limitations or prerequisites.

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

validate_experimentC

Skeptically validate an experiment; verdict accepted|rejected|inconclusive.

ParametersJSON Schema
NameRequiredDescriptionDefault
experiment_idYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose side effects, authorization needs, or whether the tool mutates state. 'Skeptically validate' is vague.

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 a single sentence, which is concise. However, it lacks structure and important details, making it minimally adequate.

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

Completeness2/5

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

With one parameter, no output schema, and many sibling tools, the description fails to explain the validation process, verdicts, or expected output, leaving significant gaps.

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

Parameters1/5

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

Schema coverage is 0% for the only parameter 'experiment_id'. Description adds no information about the parameter beyond its existence in the schema.

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 uses a specific verb 'validate' and resource 'experiment', and mentions possible verdicts (accepted, rejected, inconclusive), distinguishing it from siblings like get_experiment or run_experiment.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like get_experiment_results or list_experiments. The word 'skeptically' implies a careful review but no clear context.

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

TDQS

B3.1/5.0
Disambiguation4/5

Most tools have distinct purposes, but get_experiment and get_experiment_results overlap in returning experiment data; an agent might confuse which one to use. Other tools are clearly separated.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (create_, get_, list_, etc.), making it predictable and easy to understand the action and target.

Tool Count5/5

With 17 tools, the set covers the primary research workflow (paper ingestion, idea creation, experiment lifecycle, reporting, budget) without being overwhelming or sparse.

Completeness4/5

The core workflow is well-covered, but missing update/delete operations for experiments, ideas, and papers could cause dead ends if agents need to modify or remove resources.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/soundwaverohit/quantum-research-hub'

If you have feedback or need assistance with the MCP directory API, please join our Discord server