Skip to main content
Glama

Server Details

Open scientific and engineering knowledge for AI agents: search, evidence, document publishing.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
OpenArx-AI/openarx-core
GitHub Stars
8
Server Listing
OpenArx

TDQS

A3.6/5.0

Scored across 39 tools

Disambiguation4/5

The set has several deliberate near-neighbors — search vs search_keyword vs search_semantic, explore_topic vs methodist_explore_topic, find_related vs find_related_claims, and the methodist_find/search/search_semantic/traverse cluster — but descriptions consistently and emphatically draw the boundaries (papers vs claims, exact vs paraphrase, read vs traversal). An agent can tell them apart, though the density of lookalike tools means occasional misselection is plausible.

Naming Consistency4/5

Nearly all names are snake_case verb_noun (find_*, get_*, search_*, create_*, publish_*), and the methodist_ prefix forms a deliberate namespace for the second domain. Minor deviations (noun-only methodist_hypothesis, methodist_unworked, bare paginate) keep it from a perfect score.

Tool Count2/5

At 39 tools this is a heavy surface, well past the 25+ threshold, with two large sub-platforms (corpus search/publishing and the methodist graph) each carrying many sibling tools. Many operations are needed, but the count is high enough to burden selection and context.

Completeness4/5

The surface covers the full lifecycle: search (keyword/semantic/hybrid), retrieval, chunk/status/review inspection, upload, draft, publish, and new-version operations, plus graph search, traversal, and hypothesis/claims views. Gaps are minor — e.g. no draft listing and no retract/delete (immutability is by design).

Available Tools

39 tools
compare_papersAInspect

Generate side-by-side comparison of 2-5 papers. Returns structured grid: shared entities (intersection), per-paper unique entities, contentType breakdown, top keyConcepts. Built on LLM-extracted entities + chunk classifications. Use for systematic literature review, surveying competing approaches, identifying research gaps between methods.

ParametersJSON Schema
NameRequiredDescriptionDefault
detailNo'minimal' = entity intersection sizes only. 'standard' = full per-doc breakdowns. 'full' = + benchmark/code/dataset cross-comparisonstandard
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
dimensionsNoWhich comparison dimensions to compute
documentIdsYesDocuments to compare (UUIDs). Minimum 2, maximum 5.

TDQS

A4/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 mentions that the output is 'built on LLM-extracted entities + chunk classifications', giving insight into the method. However, it does not disclose any side effects, limitations, or performance characteristics (e.g., processing time, costs). The description is adequate but not thorough.

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 two sentences: the first states the action and output, the second provides usage context. No superfluous information; every sentence earns its place.

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?

The tool has 4 parameters (1 required) and no output schema. The description explains the output structure reasonably. It could mention prerequisites (e.g., documents must exist) or error scenarios, but overall it covers the key aspects for an AI agent to decide to use it.

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 100%, so the baseline is 3. The description does not add extra meaning to the parameters beyond what the schema provides. The output description is in the tool description, not parameter-specific. Hence, minimal additional value.

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 uses specific verbs ('Generate side-by-side comparison'), identifies the resource ('2-5 papers'), and describes the output ('structured grid: shared entities...'). It clearly distinguishes from sibling tools, many of which are search or retrieval tools, and there is no other comparison tool in the sibling list.

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 explicitly says 'Use for systematic literature review, surveying competing approaches, identifying research gaps' indicating appropriate contexts. While it does not provide explicit alternatives or when-not-to-use, the context is clear and the use cases are well-stated.

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

create_draftAInspect

Create an editable draft in the OpenArx Portal instead of publishing immediately. Returns a draft_id and an edit_url the user can open to review/edit before publishing. Drafts are file-only: first call create_upload_url, PUT your ZIP/PDF, then pass the returned file_id as content_ref. No content review runs and nothing is indexed — this is Portal workflow state, not corpus knowledge (drafts do not appear in get_my_documents). Optionally bind the draft to an existing document's version chain with previous_document_id, or preview with dry_run. The response always echoes a would_save block so you can confirm the server understood your inputs (which metadata keys were recognized, the resolved file details, and the version binding) before anything is published. The returned edit_url lets a person open and edit the draft in Portal before publishing. An agent cannot change a draft's CONTENT: there is no tool for that, so if the content needs to change, create a new draft. Metadata is different — title, authors, license and the rest can be supplied or corrected at publish time through publish_draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesDraft title
formatYesContent format
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
dry_runNoSet true to validate inputs without creating the draft: runs the full validation pipeline (schema, previous_document_id ownership, content_ref magic-bytes), writes nothing to the Portal, does NOT consume the content_ref (a later real call with the same content_ref still succeeds), and returns the would_save echo with draft_id and edit_url null. Always free.
metadataNoOptional metadata block — same field set as submit_document (authors, abstract, license, funding, coi_statement, data_availability, related_identifiers, embargo_until, hubs, code_links, dataset_links, benchmark_links, doi, arxiv_id, source_url, arxiv_categories, …). Unrecognized keys are dropped; would_save.metadata echoes exactly the fields the server recognized — a key missing from that echo was a typo or unsupported.
content_refNofile_id from create_upload_url + PUT. The uploaded ZIP/PDF becomes the draft content (required — drafts are file-only).
previous_document_idNoOptional. Core document ID of the version this draft revises. When set it must exist AND be owned by you; the draft is then bound to that document's concept (version chain). Omit for a standalone draft.

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries full burden, and it excels: it discloses that drafts are not indexed, do not appear in get_my_documents, that dry_run does not consume content_ref, that the response echoes a would_save block, and that agents cannot edit draft content. These are non-obvious behavioral traits beyond the schema.

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 long but well-structured, with front-loaded purpose, then workflow, then caveats. Minor redundancy (edit_url mentioned twice) and a dense block of caveats warrant a 4 rather than 5, but every sentence adds useful information for a complex tool.

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

Completeness5/5

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

Given the complexity (7 params, nested objects, no output schema), the description covers prerequisites, return values, side effects, limitations, and edge cases (dry_run, unrecognized metadata, version binding). It is fully complete for an agent to invoke the tool correctly and interpret results.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial meaning: content_ref is required because drafts are file-only, metadata keys are dropped unless recognized and echoed, previous_document_id binds to a version chain, and dry_run validates without side effects. It clarifies run_id usage and ownership requirements, going well beyond schema descriptions.

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 opens with a specific verb and resource: 'Create an editable draft in the OpenArx Portal instead of publishing immediately.' It clearly distinguishes from siblings like publish_draft and submit_document by emphasizing the draft workflow and returning draft_id/edit_url.

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 workflow guidance is given: 'first call create_upload_url, PUT your ZIP/PDF, then pass the returned file_id as content_ref.' It also states when not to use (drafts are file-only, no content editing) and points to publish_draft for metadata correction. This fully supports tool selection and invocation.

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

create_new_versionAInspect

Submit a new version of an existing document. The earlier version is not replaced: it keeps its own identifier, so an existing citation of it still resolves to the exact text it referred to. The previous version's chunks will be marked as not-latest. Omit categories, keywords, or language to inherit each independently from the previous version; pass a value to override. Content is file-only: provide a base64-encoded ZIP archive (content_archive_base64) OR a content_ref from an out-of-band upload — exactly one. A ZIP may hold a single PDF, markdown + figures, or multifile LaTeX. Inline text is no longer accepted. For content above ~10 KB, prefer create_upload_url → PUT the file to the returned URL → pass the returned file_id as content_ref (avoids base64 token bloat). content_archive_base64 and content_ref are mutually exclusive — provide exactly one. Limits: title ≤5,000 chars; abstract ≤50,000 chars; archive ≤50 MB; keywords ≤50 items × ≤100 chars each. Set dry_run=true to validate without committing: no document is created, nothing is queued, no credits are charged; the response shows what would be saved and the estimated cost.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiNoDOI of the work.
hubsNoPortal hub / topic slugs to associate.
titleYesUpdated title
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
authorsYesAuthor list
dry_runNoValidate only — no document created, no file written, no queue entry, 0 credits. Response: {dry_run:true, validation:"ok", estimated_cost, would_save}.
fundingNoFunding sources, e.g. [{ funder_name, award_number? }].
licenseNoLicensecc-by-4.0
abstractYesUpdated abstract
arxiv_idNoarXiv identifier, if cross-posted.
keywordsNoOverride. Omit to inherit from previous version.
languageNoOverride (ISO 639-1). Omit to inherit from previous version.
main_fileNoFilename within the archive to treat as primary content. If exactly one .pdf / .tex / .md file exists at the archive root, auto-inferred when omitted. Otherwise required. For a content_ref ZIP this selects the entry; ignored for a content_ref single file.
categoriesNoOverride. Omit to inherit from previous version. List of subject categories. arXiv format recommended: `{domain}.{subcategory}` where domain is lowercase (with optional hyphens) and subcategory is two uppercase letters. Examples: "cs.CL" (Computation and Language), "math.PR" (Probability), "cond-mat.str-el" (Strongly Correlated Electrons), "physics.gen-ph" (General Physics). Other formats accepted but may render inconsistently in search facets.
code_linksNoSource-code repositories, e.g. [{ url }].
source_urlNoCanonical source URL.
content_refNofile_id from a successful create_upload_url + PUT upload flow. The uploaded ZIP / PDF / LaTeX / Markdown becomes the document content. Mutually exclusive with content_archive_base64.
coi_statementNoConflict-of-interest statement.
dataset_linksNoDatasets, e.g. [{ name, url? }].
embargo_untilNoISO-8601 timestamp; the document is embargoed until then.
content_formatYesContent format
benchmark_linksNoBenchmark-result references.
arxiv_categoriesNoarXiv subject categories.
data_availabilityNoData-availability statement or status.
related_identifiersNoRelated identifiers, e.g. [{ identifier_type, identifier_value, relation? }].
previous_document_idYesCore document ID of the previous version
data_availability_urlNoURL to the dataset / data-availability record.
content_archive_base64NoBase64-encoded ZIP archive (PK\x03\x04). Must contain main_file plus any attachments. Mutually exclusive with content_ref. Prefer content_ref (create_upload_url) above ~10 KB.

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: the new version does not replace the old, previous chunks become 'not-latest', dry run shows validation without committing, and effects of omitted parameters (inherit from previous version). Limits and format requirements are also detailed.

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 fairly long but front-loaded with the most critical information. Every sentence adds necessary detail, though some reorganization could make it even more scannable. No redundancy.

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

Completeness5/5

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

Given the tool has 28 parameters, no output schema, and no annotations, the description is remarkably complete. It covers all key aspects: behavior, constraints, content handling, inheritance, dry run, and limits. The agent can confidently use this tool based on the description alone.

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

Parameters5/5

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

Despite 100% schema coverage, the description adds significant value beyond the schema: explains mutual exclusivity of content parameters, inheritance for categories/keywords/language, dry run specifics, file format expectations for ZIP contents, and preference for content_ref over base64 for large files.

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 'Submit a new version of an existing document' and distinguishes it from similar operations by noting that the earlier version is not replaced and keeps its own identifier. This differentiates it from sibling tools like submit_document (new document) or publish_draft.

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?

The description provides explicit guidance on when to use this tool, including content upload alternatives (content_ref preferred above ~10 KB), dry run for validation, and inheritance behavior for omitted fields. It also clarifies mutual exclusivity of content_archive_base64 and content_ref, and that inline text is no longer accepted.

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

create_upload_urlAInspect

Request a short-lived presigned PUT URL for uploading publishing content. Use when content exceeds practical inline-parameter limits (~10 KB). After uploading the file to the returned URL with an HTTP PUT, pass the file_id as content_ref to submit_document or create_new_version. The URL expires in 10 minutes and accepts a single file up to 50 MB.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
expected_size_bytesNoHint for the upload size (≤50 MB is enforced on upload regardless).
expected_content_typeNoOptional hint for what you intend to upload. A magic-byte check runs on PUT; if set to application/zip or application/pdf the bytes must match that signature.

TDQS

A4.9/5.0
Behavior5/5

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

Discloses URL expiration (10 min), size limit (50 MB), single file, magic-byte check, and run_id attribution rules. No annotations provided, so description fully covers behavioral traits.

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?

Four concise sentences, front-loaded with purpose, no redundancy. Every sentence adds value.

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

Completeness5/5

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

Complete for the tool's purpose: describes input, constraints, and follow-up actions. No output schema, but the description compensates by explaining next steps.

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 covers parameters fully (100% coverage). Description adds helpful usage guidance for run_id and expected_content_type, enhancing understanding beyond schema.

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 requests a presigned PUT URL for uploading publishing content, distinguishing from siblings like submit_document and create_new_version by specifying the post-upload workflow.

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?

Explicitly says when to use (content >~10 KB) and what to do after (upload to URL, then pass file_id to other tools). Provides clear context.

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

explore_topicAInspect

Map the conceptual landscape around a topic ACROSS THE PAPER CORPUS. Searches papers and their chunks, not the layer-2 claim graph — for published CLAIMS on a topic use methodist_explore_topic. Instead of returning a ranked list of papers, returns N distinct conceptual clusters with representative chunks. Built on keyConcept LLM-extracted markers diversification. Use for "what approaches exist to X" queries — answers with thematic map rather than ranked list. Better than search when you want breadth over depth. Temporal bias note: for topics with dense recent literature (e.g. current LLM research), the default ordering favors recent papers because vector similarity finds them first; specify dateTo for historical exploration of mature topics, or dateFrom+dateTo to slice a specific era. Diversification cap (maxClustersPerPaper) limits how many clusters can have the same source paper as representative chunk — protects against single-paper dominance.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateToNoFilter: published on or before (ISO date)
detailNo
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
conceptYesTopic or research question to explore (e.g. "in-context learning", "retrieval augmented generation")
dateFromNoFilter: published on or after (ISO date)
categoriesNoarXiv category filter
vectorModelNogemini
clusterCountNoNumber of distinct conceptual approaches to return
maxClustersPerPaperNoDiversification cap: maximum clusters that may use the same source paper as representative chunk. Lower = more paper diversity across clusters; higher = allow dominant papers to be representative in more clusters. Default 2.

TDQS

A4.8/5.0
Behavior5/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 goes well beyond the schema by disclosing the layer-2 claim graph exclusion, the cluster-with-representative-chunks output shape, the LLM-extracted keyConcept diversification mechanism, the temporal ordering bias toward recent papers, and the single-paper dominance protection via maxClustersPerPaper. This is strong behavioral transparency.

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 front-loaded with the core purpose and each section adds distinct value. It is slightly repetitive in contrasting 'ranked list' with 'conceptual clusters' twice, and the keyConcept sentence is a bit dense, but overall it is compact for the amount of behavioral and usage context it provides.

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

Completeness5/5

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

For a complex discovery tool with 9 parameters and no output schema, the description covers the important non-schema aspects: scope, output type, use cases, alternatives, temporal bias, and diversification behavior. An agent has enough context to decide when to invoke it and to set date/maxClustersPerPaper meaningfully without needing additional explanation.

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 already high at 78%, so the baseline is 3. The description adds genuine value beyond the schema by explaining how to use dateTo/dateFrom for temporal slicing and how maxClustersPerPaper affects cluster diversity and paper dominance. Other parameters like concept, clusterCount, categories, and vectorModel are adequately covered by schema descriptions, though the prose does not add extra nuance for 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 uses a specific verb ('Map'), names the resource ('the paper corpus'), and clearly contrasts itself with sibling tools: it searches papers and chunks, not the claim graph, and returns conceptual clusters rather than a ranked list. This distinguishes it from methodist_explore_topic and search without needing to inspect sibling schemas.

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?

The description explicitly says when to use the tool ('what approaches exist to X' queries, breadth over depth) and when not to (for published claims, use methodist_explore_topic). It also gives concrete temporal guidance: specify dateTo for historical exploration and dateFrom+dateTo to slice a specific era, which is actionable routing and usage advice.

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

find_benchmark_resultsAInspect

Query structured benchmark scores from research papers. Returns leaderboard-style results: task, dataset, metric, score, method, paper, year. Backed by LLM-extracted benchmark records, filtered to performance metrics only (accuracy / F1 / BLEU / ROUGE / mAP / top-1 / top-5 / pass@k / etc.) — model-size, FLOPs, dataset cardinality and similar are excluded. Best for ML benchmark / leaderboard papers; may return empty for theoretical / survey papers without numerical results. Filter by task, dataset, metric. Use for SOTA tracking, SOTA-trajectory analysis, comparing methods on common benchmarks. At least one of task / dataset / metric is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNoTask name like "question answering", "image classification" (case-insensitive partial match). REQUIRED if dataset and metric are not provided.
topKNoTop-K results by score
detailNostandard
metricNoMetric name like "F1", "accuracy", "BLEU". REQUIRED if task and dataset are not provided.
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
datasetNoDataset name like "SQuAD", "ImageNet", "GLUE". REQUIRED if task and metric are not provided.
minYearNoYear >= (e.g. 2023 to filter out older results)
minScoreNoMinimum benchmark score (filter for SOTA leaderboard view)
categoriesNoarXiv category filter

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that results are LLM-extracted, filtered to performance metrics, and that certain non-performance attributes like model-size are excluded. It also notes possible empty results for non-numerical papers. Does not mention authentication or rate limits, but these are not critical for this read-only tool.

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 informative and well-structured, front-loading the main purpose and then providing details. A few sentences could be tightened, but overall it earns its length.

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

Completeness5/5

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

Given the tool has 9 parameters and no output schema, the description does an excellent job explaining what the tool returns, when it works, and required filtering conditions. It covers scope, limitations, and use cases comprehensively.

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 89%, so baseline is 3. The description adds context about the output format and filtering logic, which helps interpret parameters, but does not add substantial new meaning per parameter beyond the schema's own descriptions.

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 queries structured benchmark scores from research papers, specifies the return fields (task, dataset, metric, score, method, paper, year), and distinguishes itself from general paper search by focusing on performance metrics. This is specific and distinct from sibling tools like search_keyword.

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?

Explicitly states it is 'Best for ML benchmark / leaderboard papers' and may return empty for theoretical/survey papers. Provides clear use cases: SOTA tracking, trajectory analysis, comparing methods. Also specifies the requirement that at least one of task/dataset/metric must be provided.

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

find_by_idAInspect

Find a paper by any external identifier: OpenArx ID (oarx-…), DOI, arXiv ID, Semantic Scholar Corpus ID, DBLP ID. arXiv-style DOIs (10.48550/arXiv.) are auto-resolved to the underlying arxiv_id even if the doi field is not stored. An identifier resolves to one specific version of a document, not to a mutable current state, so a reference cannot silently come to mean different text.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiNoDOI (e.g. 10.1234/...). arXiv-style DOIs (10.48550/arXiv.1706.03762) are auto-resolved to arXiv lookup; non-arXiv DOIs require the doi to be present in externalIds.
s2_idNoSemantic Scholar Corpus ID
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
dblp_idNoDBLP key like "conf/iclr/HuSWALWWC22" or "journals/corr/abs-1706-03762"
oarx_idNoOpenArx ID (e.g. oarx-f629d9b6a1c2e3d4). Legacy 8-hex ids (oarx-f629d9b6) are also accepted and resolved by prefix.
arxiv_idNoarXiv ID (e.g. 1706.03762)

TDQS

A4.5/5.0
Behavior5/5

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

No annotations provided, so the description carries full burden. It discloses important behaviors: auto-resolution of arXiv-style DOIs, that identifiers resolve to specific versions (not mutable state), and run_id attribution requirements. This goes well beyond the schema.

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?

Three sentences, all meaningful and front-loaded. No wasted words. Each sentence adds essential information.

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?

No output schema exists, so the description should ideally indicate what the tool returns. It does not mention the response format or content, leaving a gap in completeness despite good behavioral detail.

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 100%, so baseline is 3. The description adds value beyond schema by explaining auto-resolution for arXiv DOIs and the run_id attribution purpose, which are not in the schema descriptions.

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 finds a paper by external identifiers, listing specific ID types (OpenArx, DOI, arXiv, etc.). This distinguishes it from sibling tools that perform search or retrieval by other means.

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 implies usage when an exact identifier is available, but does not explicitly exclude using it for keyword search or recommend alternatives. The context from sibling tools helps, but more explicit guidance would be better.

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

find_codeAInspect

Find papers with associated code repositories, datasets, or benchmark results. Filter by ML task, dataset, framework, or GitHub stars. Returns top items per paper (not full lists by default — use detail=full for everything).

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNoTask name to match against benchmark_results (e.g. "question answering")
limitNo
queryNoOptional semantic query — papers about this topic with code
dateToNoFilter: published on or before (ISO date)
detailNo'minimal' = counts + first item each. 'standard' = top-3 per type. 'full' = all arrays.standard
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
datasetNoDataset name (e.g. "SQuAD", "ImageNet") — matches dataset_links.name + benchmark_results.dataset
dateFromNoFilter: published on or after (ISO date)
minStarsNoMinimum GitHub stars on at least one code_link
frameworkNo"PyTorch" / "TensorFlow" / "JAX" / etc. — matches code_links.language
categoriesNoFilter by arXiv categories (e.g. cs.AI, cs.LG)

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 full burden. It discloses that by default only top items per paper are returned, and detail=full is needed for complete lists. The run_id parameter description adds context about attribution. However, it does not mention authentication, rate limits, or that it is a read-only operation.

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 two sentences: first covers purpose and filters, second clarifies default output behavior. It is front-loaded with key information and contains no unnecessary words.

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 11 parameters and no output schema, the description explains the default output (top items per paper) and the detail parameter, which is sufficient. It could elaborate on the structure of return values, but the behavior is clear for a search 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?

Schema coverage is high (91%), so baseline is 3. The description adds value by explaining the detail parameter's effect ('top items per paper') and providing a detailed, context-rich explanation for run_id beyond the schema description. Other parameters are already well-described in the schema.

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 finds papers with associated code, datasets, or benchmark results, and lists specific filters (ML task, dataset, framework, stars). It distinguishes itself from siblings like find_benchmark_results by focusing on code/dataset links.

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 when to use (when needing papers with code), but does not explicitly mention alternatives or when not to use it. No comparative guidance against sibling tools like search or find_benchmark_results is provided.

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

find_evidenceAInspect

Fact-check or substantiate a claim against the corpus. Given a textual claim, retrieves and CLASSIFIES evidence into supporting / contradicting / neutral groups. Uses HyDE (hypothetical document expansion) — server generates plausible supporting/contradicting text, embeds, retrieves, then ranks by relation to original claim. Returns chunks with selfContained flag (safe-to-cite indicator). Use for fact-verification, controversy mapping, 'is this claim known?' queries. Modes: 'fast' (symmetric-by-construction grouping — returns grouped evidence but NO supporting/contradicting counts, because they would be symmetric by construction) / 'deep' (independent NLI classification; one LLM call per chunk, median 52 s measured). IMPORTANT: in 'fast' mode the supporting/contradicting counts are approximately balanced BY CONSTRUCTION and do NOT reflect actual literature distribution. Use 'deep' when measuring controversy balance, literature distribution, or any claim of the form 'the field is split N:M on this'.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo'fast' (~3s): retrieval uses symmetric HyDE pools — top-20 chunks against the supporting-hypothetical plus top-20 against the contradicting-hypothetical, then each chunk is assigned to the bucket whose HyDE-vector it scored higher against. Because the retrieval pool is symmetric and the classification mirrors the retrieval direction, supporting/contradicting counts come out approximately balanced regardless of the actual distribution of evidence in the corpus (a topic that is 90% supported in the literature will still show a ~1:1 split here). Use fast mode for 'is there evidence on either side?', not for 'how is the field actually split?'. May also misclassify chunks that mention the topic but logically point the other way (e.g. a paper explaining 'BN is bad in transformers' may land in the contradicting bucket for an 'LN > BN' claim). 'deep': adds an independent per-chunk LLM NLI classification on top of the union pool, so counts reflect actual semantic distribution and can be arbitrarily asymmetric. ★ COST IS LINEAR IN POOL SIZE — one LLM call PER CHUNK, up to ~60 per invocation. Measured over 35 real calls: median 52 s end-to-end (the '~10s' this description used to claim was never the general case). That is money as well as time. Use 'deep' whenever classification accuracy or distribution shape matters — including controversy mapping and any analysis that interprets the supporting/contradicting ratio as a signal about the field.fast
claimYesStatement to fact-check or substantiate
limitNoMax results PER group (supporting/contradicting/neutral)
detailNo
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
categoriesNo
selfContainedOnlyNoIf true, only return chunks marked as understandable without prior context (safer to cite)

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden — and it excels. It discloses the HyDE mechanism, the critical 'symmetric-by-construction' flaw in fast mode (counts are 'approximately balanced BY CONSTRUCTION and do NOT reflect actual literature distribution'), misclassification risks with a concrete example, and hard cost/latency data ('one LLM call PER CHUNK, up to ~60 per invocation,' 'median 52 s end-to-end'). This is unusually candid about failure modes and resource implications.

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 dense but every sentence earns its place: purpose, method, classification output, use cases, then the two modes with the critical caveat flagged by 'IMPORTANT.' It is front-loaded with the core purpose before any mechanism detail, and the fast/deep contrast is structured so the caveat is unmissable. For a tool with this behavioral complexity, the length is justified rather than padded.

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?

For a complex 7-parameter tool with no output schema and no annotations, the description covers a remarkable amount: core semantics, HyDE mechanism, mode selection, the statistical caveat, cost/latency, and the selfContained return indicator. The main gaps are the two undocumented parameters (detail, categories) and the absence of a return-structure description beyond 'returns chunks with selfContained flag,' which a full output schema would have covered. These are meaningful but minor against the strong coverage.

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 71%, above the low threshold, so the schema carries most of the parameter documentation burden. The description adds useful context for selfContainedOnly by explaining the selfContained flag as a 'safe-to-cite indicator' and enriches claim semantics. However, two parameters (detail and categories) are entirely undocumented in both schema and description, and the description adds no meaning for limit or run_id beyond what the schema already provides.

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 opens with a specific verb+resource pair ('Fact-check or substantiate a claim against the corpus') and immediately adds the distinguishing behavior: 'retrieves and CLASSIFIES evidence into supporting / contradicting / neutral groups.' This clearly separates it from sibling retrieval tools like search, find_related, and methodist_find, which do not classify evidence into stance groups.

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 explicit when-to-use context: 'Use for fact-verification, controversy mapping, 'is this claim known?' queries,' plus mode-level routing ('Use 'deep' when measuring controversy balance, literature distribution...' and 'Use fast mode for 'is there evidence on either side?', not for 'how is the field actually split?''). It stops short of naming sibling alternatives and stating when NOT to use this tool versus them, so exclusions are only implied rather than explicit.

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

find_methodologyAInspect

Find methodology approaches for a specific research task. Returns structured method-level results (not raw chunks): method name, key idea, dataset used, performance metric. Filters by task domain, dataset, metric. Built on LLM-classified contentType=methodology chunks combined with benchmark results JOIN. Use this instead of search when you want HOW researchers approach a problem rather than 10 papers about it. Note: surfaces any chunk classified as methodology, including ones where the task is mentioned only as a toy example. Filter by category (e.g. cs.CV for image tasks) to narrow scope. This searches EXISTING papers for methods others have published (literature search) — it is NOT a guide for conducting your own research: for a step-by-step scientific method tailored to your own research question, start with the methodist door.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesResearch task: "relation extraction", "question answering", "image classification"
limitNoMax results to return
dateToNoFilter: published on or before (ISO date)
detailNo'standard'/'full' invoke an extra LLM extraction step to surface method_name + key_idea (~1.5s overhead). 'minimal' skips it.
metricNoEvaluation metric: "F1", "accuracy", "BLEU"
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
datasetNoSpecific dataset name: "SQuAD", "ImageNet", "GLUE"
dateFromNoFilter: published on or after (ISO date)
frameworkNoML framework filter: "PyTorch", "TensorFlow"
categoriesNoFilter by arXiv categories (e.g. cs.AI, cs.LG)

TDQS

A4.5/5.0
Behavior5/5

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

Annotations are absent, so the description carries full burden. It discloses non-obvious behavior: results are structured method-level aggregates built from LLM-classified methodology chunks joined with benchmark results, and it honestly warns that toy-example mentions can surface. This helps an agent anticipate precision issues before invoking the tool.

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 front-loaded with the core purpose and each sentence carries useful information about output, data source, caveats, or sibling routing. It is slightly verbose due to restating filter concepts and a long final exclusion, but it remains efficient and well-organized.

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?

For a tool with 10 parameters and no output schema, the description covers return fields, data provenance, a precision caveat, and the relationships to key siblings. Detailed parameter behavior is left to the schema, which is acceptable, but a concrete return example or pagination note would make it fully complete.

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 100% and each parameter already has rich detail (examples, defaults, enum semantics including the ~1.5s overhead for detail). The description only summarizes filters at a high level and does not add meaning beyond the schema, so the baseline 3 is appropriate.

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?

States a specific verb and resource ('Find methodology approaches for a specific research task') and describes the structured output: method name, key idea, dataset, performance metric. It additionally distinguishes itself from generic `search` and from the `methodist` door, so an agent can place it precisely among 35 siblings.

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?

Explicitly provides selection criteria: 'Use this instead of `search` when you want HOW researchers approach a problem rather than 10 papers about it.' It also names the exclusion case, directing users to `methodist` for step-by-step research guidance, and advises category filtering to narrow scope.

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

get_chunksAInspect

Retrieve specific chunks from a known document with filters: by content type, section, or entity mention. Use after search or find_methodology returned a relevant paper and you want more chunks from it without re-running search. Direct PG fetch — no vector search latency.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax chunks to return. Default 100. No upper bound — use offset to read a document larger than one context in successive passes.
detailNo'minimal' = section + summary only. 'standard' = + content. 'full' = + entities/selfContained/totalChunks
offsetNoSkip the first N chunks of the ordered set. Ordering is total, so pages neither skip nor repeat.
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
sectionNoSection name or path prefix (e.g. "Methods" or "3.")
entitiesNoSoft filter by entity (case-insensitive ANY match). Chunks mentioning a listed entity return first; chunks with NO entities recorded (legacy, ~23% of corpus) are included after as 'unknown' tier rather than dropped; only chunks that have entities none of which match are excluded.
searchIdNosearchId from a prior search / search_keyword / search_semantic response. Required when chunkOrder=importance.
chunkOrderNo'position' (default): document order. 'importance': search relevance order — requires searchId from a prior search response; falls back to position with a note when searchId is missing or expired.position
documentIdYesDocument UUID (from a prior search result)
contentTypeNoSoft filter chunks by type (methodology / results / theoretical / experimental / survey / background / other). Matched chunks return first; legacy chunks with NULL contentType are included as 'unknown' tier (sorted after matches) — they are not silently dropped. Chunks with an explicit different contentType are excluded. Response includes strictMatchedChunks + unknownChunksIncluded counts.

TDQS

A4.2/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. It discloses a concrete execution trait ('Direct PG fetch — no vector search latency') and implies a read-only safety profile via 'Retrieve' and 'fetch'. It does not explicitly state non-destructiveness or describe the response shape, but the schema's parameter notes thoroughly document filter fallback and tier-ordering behavior.

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?

Three short sentences, each earning its place: purpose, usage context, and a behavioral/performance note. Purpose is front-loaded, and nothing repeats schema content or pads the definition.

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?

For a 10-parameter tool with a rich, 100%-covered schema, the description covers the selection and invocation essentials: what it does, when to use it, and which filter parameters matter. The only gap is that no output schema exists and the description doesn't summarize the response shape, though schema parameter notes do reference response counts (strictMatchedChunks + unknownChunksIncluded).

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 100%, so baseline is 3. The description adds only a high-level filter taxonomy (content type, section, entity mention) that maps to contentType/section/entities. All deeper semantics — soft-filter tiers, unknown-chunk inclusion, chunkOrder fallback, run_id attribution — are already fully documented in the schema, so no compensation is needed.

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?

States a specific verb+resource: 'Retrieve specific chunks from a known document' with explicit filter dimensions (content type, section, entity mention). The phrase 'known document' and the post-search framing clearly distinguish it from sibling search/find tools that discover documents rather than retrieve parts of an already-identified one.

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?

Explicitly names the triggering context — use after `search` or `find_methodology` returned a relevant paper, when you want more chunks 'without re-running search' — which routes agents away from the obvious alternative. It stops short of listing exclusions or naming other alternatives like get_document (whole-document retrieval) or paginate, so a full when-not-to-use boundary is missing.

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

get_documentAInspect

Retrieve full paper details by ID. Default returns metadata only (title, authors, abstract, license, codeLinks counts) — use includeChunks=true to fetch chunk content. For specific sections or content types, use chunkContentTypes/section filters or call get_chunks instead. For long papers, prefer filtered chunk retrieval over full chunks dump. AVAILABILITY is two INDEPENDENT axes: indexingTier (none|abstract_only|full|reindexing) = whether the full text is indexed and readable via get_chunks — 'reindexing' means the document is being re-processed right now and its currently indexed chunks are STALE: do not quote them as the body and do not treat the document as abstract_only either, its state is not yet known (chunkCount shows how many); sourceAccessibility (served_by_us|external_link_only|unavailable) = how to obtain the raw source file, with sourceUrl returned whenever known. To read content: if indexingTier='full' use get_chunks; else if sourceAccessibility!='unavailable' fetch sourceUrl yourself; only 'unavailable' means no full text. canServeFile is DEPRECATED — it gates raw-PDF delivery ONLY and is NOT a content-availability signal; use indexingTier + sourceAccessibility. An identifier resolves to one specific version of a document, not to a mutable current state, so a reference cannot silently come to mean different text.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoDocument UUID
detailNo
offsetNoSkip the first N chunks of the ordered set. For reading a document larger than one context in successive passes. Ordering is total, so pages neither skip nor repeat.
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
arxivIdNoarXiv ID (e.g. 1706.03762)
searchIdNosearchId from a prior search / search_keyword / search_semantic response. Required when chunkOrder=importance.
chunkLimitNoMax chunks returned when includeChunks=true (or filter is set). Default 100. No upper bound — a document is readable in full; use offset to page through one too large for your context.
chunkOrderNo'position' (default): document order. 'importance': search relevance order — requires searchId from a prior search response; falls back to position with a note when searchId is missing or expired.position
chunkEntitiesNoSoft filter chunks by entity (case-insensitive ANY match). Implies includeChunks=true. Chunks mentioning a listed entity return first; chunks with NO entities recorded are kept (about a quarter of the corpus predates entity extraction, and dropping them would hide real matches); only chunks that HAVE entities, none of them matching, are dropped.
includeChunksNoDEFAULT FALSE — metadata only. Set true for chunk content. Combine with chunkContentTypes/chunkLimit for filtered retrieval. (search v2 changed default; pre-2026-05 v1 always returned chunks.)
chunkContentTypesNoSoft filter chunks by type. Implies includeChunks=true. Matched chunks return first; legacy chunks with NULL contentType are also included as 'unknown' tier (sorted after matches) — they are not silently dropped. Chunks with an explicit different contentType are excluded. Response includes strictMatchedChunks + unknownChunksIncluded counts.

TDQS

A4.7/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 burden and does so unusually well: it discloses the stale-chunk hazard during 'reindexing', clarifies that canServeFile is DEPRECATED and not an availability signal, and defines two independent availability axes. It also states the immutable-version semantics of an identifier, which is non-obvious behavioral context.

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 the default-vs-includeChunks distinction are front-loaded, and the dense detail is largely earned by the tool's complexity. It is still a very long single block with heavy ALL-CAPS emphasis, and parts of the availability-axis explanation are closer to response documentation than invocation guidance.

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 output schema, the description compensates by enumerating the default metadata fields and the availability fields an agent must interpret. The remaining gap is the unexplained 'detail' enum and no guidance on pagination limits beyond the offset/chunkLimit hints.

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 already 91%, so the baseline is 3, but the description adds real value on top: it explains why includeChunks defaults false, when to prefer filtered retrieval, and how the availability axes gate content access. The notable miss is the 'detail' enum (minimal|standard|full), which has no description in either the schema or the description.

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?

Opens with a specific verb+resource ('Retrieve full paper details by ID') and immediately scopes the default behavior ('metadata only') and the escape hatch ('includeChunks=true'). It explicitly names the sibling get_chunks as the alternative for section-level content, so the agent can differentiate without opening either schema.

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?

Gives explicit when/when-not routing: metadata by default, includeChunks for content, chunkContentTypes/section filters for targeted retrieval, get_chunks for section-level reads, and 'prefer filtered chunk retrieval over full chunks dump' for long papers. It also states the decision rule for reading content ('if indexingTier=full use get_chunks; else fetch sourceUrl').

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

get_document_statusAInspect

Check the processing status of a submitted document.

Status reference: downloaded — accepted, queued for indexing parsing — extracting text from latex/markdown/PDF translating — auto-translating to English (non-en originals only) chunking — splitting content into semantic chunks enriching — extracting code/dataset/benchmark links embedding — generating vector embeddings (Gemini + SPECTER2) ready — fully indexed, searchable failed — pipeline error (retryable) download_failed — source fetch failed (retryable; rare for Portal submissions) duplicate — detected as duplicate of an existing document rejected — quality/spam gate rejection (terminal, non-retryable) listed — registry-only entry (not user-submitted, only visible to operators)

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
document_idYesCore document ID (UUID)

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 adequately discloses behavioral details: it lists all possible status values and explains their meanings, including retryable vs terminal states. It also clarifies the optional run_id parameter's attribution behavior.

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 succinct: a single sentence stating the purpose followed by a well-formatted status reference list. Every line adds value, and the key information is front-loaded.

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?

Despite lacking an output schema, the description sufficiently explains the expected return (a status string) by enumerating all possible values. It could mention that the response likely contains additional fields (e.g., timestamps), but the status list is thorough enough for the tool's core function.

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 100% (both parameters have descriptions). The tool description adds no additional meaning beyond the schema for document_id, but the run_id description in the schema is already detailed. Baseline 3 is appropriate.

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: 'Check the processing status of a submitted document.' It lists all possible statuses with detailed explanations, and the function is distinct from sibling tools like get_document or search 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 explicit guidance is provided on when to use this tool versus alternatives (e.g., get_document for full document info). The description does not mention when not to use it or suggest alternatives.

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

get_my_document_reviewAInspect

Read the content-review report for one of your own documents. Returns spam verdict, novelty, grounding, similar documents. Basic-tier documents return a condensed summary; upgrade to full for detailed aspects.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
documentIdYesCore document UUID (same id returned by submit_document.core_document_id)

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description must cover behavioral traits. It discloses return fields and tier differences but does not mention permissions, rate limits, or side effects. Partial 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 succinct sentences: first covers purpose and return values, second adds tier nuance. No waste, front-loaded with essential info.

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?

No output schema, but description explains return values (spam verdict, novelty, etc.) and tier behavior. With 2 params and simple return, it is adequately complete. Lacks only behavioral details like read-only confirmation.

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 100%, baseline 3. Description adds value: documentId is linked to submit_document.core_document_id, run_id has detailed attribution context. Provides meaning beyond the schema.

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 'Read the content-review report for one of your own documents' – a specific verb and resource. Distinguishes from siblings like get_document, get_document_status, and get_my_documents, which serve different purposes.

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?

Implies ownership ('for one of your own documents') and mentions tier-dependent behavior, but no explicit when-to-use, when-not-to-use, or alternatives. Lacks guidance relative to other tools.

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

get_my_documentsAInspect

List documents you have submitted through OpenArx Portal.

Status reference: downloaded — accepted, queued for indexing parsing — extracting text from latex/markdown/PDF translating — auto-translating to English (non-en originals only) chunking — splitting content into semantic chunks enriching — extracting code/dataset/benchmark links embedding — generating vector embeddings (Gemini + SPECTER2) ready — fully indexed, searchable failed — pipeline error (retryable) download_failed — source fetch failed (retryable; rare for Portal submissions) duplicate — detected as duplicate of an existing document rejected — quality/spam gate rejection (terminal, non-retryable) listed — registry-only entry (not user-submitted, only visible to operators)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
statusNoFilter by status; see Status reference in tool descriptionall

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 partially covers behavior by scoping to user's own submissions and detailing statuses. However, it omits information about pagination, default ordering, rate limits, and the fact that it only returns documents from the authenticated user. This leaves gaps in 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 purpose is front-loaded in the first sentence, but the lengthy status table makes the description verbose. While the table is useful, a more concise format could improve readability without losing 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's low complexity (no output schema, simple parameters), the description covers the primary function and explains the status filter. However, it lacks guidance on when to use it over siblings and does not mention output formatting or pagination behavior, leaving the agent underinformed.

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 100%, but the description adds significant value by providing a detailed status reference for the status parameter. The descriptions for limit and run_id are already adequate in the schema, so the overall added value is above average.

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 ('List'), the resource ('documents'), and the scope ('you have submitted through OpenArx Portal'). This directly distinguishes it from sibling tools like search or get_document.

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 provides a detailed status reference that aids in using the status filter, but it does not explicitly explain when to use this tool versus alternatives like get_document_status or search. Context such as comparison with sibling tools is missing.

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

get_system_statsAInspect

Get live OpenArx platform statistics: documents indexed, pipeline status, coverage range, user counts, governance activity. Free (0 credits).

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.

TDQS

A3.6/5.0
Behavior3/5

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

Without annotations, the description carries full burden. It mentions 'live' statistics and '0 credits', giving some behavioral insight. However, it lacks details on side effects, rate limits, or response format. This is adequate but not comprehensive.

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 extremely concise: a single sentence plus a tagline. It front-loads the purpose and provides compact yet sufficient detail. No wasted words.

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?

The description covers the tool's purpose and key statistics. For a simple, read-only stats tool with no output schema, it is fairly complete. Minor gaps: no mention of return structure or error conditions, but these are not critical given the tool's simplicity.

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 100% with a detailed explanation of the 'run_id' parameter. The tool description adds no additional parameter meaning beyond listing general statistics. Baseline score of 3 is appropriate.

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 'Get' and resource 'live OpenArx platform statistics', listing specific examples (documents indexed, pipeline status, etc.). It effectively distinguishes itself from sibling tools, which are primarily for search, document management, and methodology, with no other statistics-focused 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?

The description provides no guidance on when to use this tool versus alternatives, when not to use it, or any prerequisites. The only extra note is 'Free (0 credits)', which implies cost but does not constitute usage guidelines.

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

methodistAInspect

START HERE with your research question. This is your step-by-step scientific METHOD guide: it works out what kind of research you're doing, hands you the concrete method one stage at a time, reviews each stage you submit (approves it or returns it for fixes), and controls what gets published. It DIRECTS your research process — it never does the work for you. (This guides HOW you conduct the work. It is NOT the tool for finding methods described in existing papers — for that, use the literature-search tools.)

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoThe active run (omit to start a new run — routes to diagnose)
payloadYesMode fields the routed sub-procedure reads: diagnose → {intent, focus?, parent_run_id?}; checkpoint → {submission{records[],track_note?}, stage, claimed_usage?} (submission_hash is SERVER-derived — do NOT send it); ask → {question, focus?}. Send this as a JSON object; a JSON string of the same object is also accepted, but a string that is not a JSON object is rejected.

TDQS

A4.6/5.0
Behavior5/5

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

Describes the process: works out research type, hands methods stage by stage, reviews submissions, controls publishing, and emphasizes it never does the work. No annotations provided, but description compensates fully.

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 'START HERE' and efficiently structured, but slightly wordy. Every sentence adds value, though could be trimmed.

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

Completeness5/5

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

Given the tool's complexity and lack of output schema, the description covers purpose, usage, behavior, and alternatives comprehensively.

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 100%, so baseline 3. The description adds no additional meaning beyond the schema's parameter descriptions.

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's a step-by-step scientific method guide for conducting research, distinguishing it from literature-search tools. The verb 'DIRECTS' and resource 'research process' are specific.

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?

Explicitly says 'START HERE with your research question' and instructs not to use for finding methods in existing papers, referencing literature-search tools as alternatives.

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

methodist_escalateBInspect

Escalate above the methodist (PM/human). The mentee has a standing right to escalate over the methodist's head (inv-5). Returns a ticket; the resolution arrives via the next checkpoint or get_my_development.

ParametersJSON Schema
NameRequiredDescriptionDefault
classNoEscalation class (open set): dispute | unfair-return | tier | other
detailNo
run_idNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that escalation returns a ticket and that resolution is received later, but it does not mention whether the operation is destructive, authorization needs, or side effects. The term 'standing right' and 'inv-5' add some context but are vague.

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, front-loaded with the main action. It could be more structured but is not overly 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?

Given no annotations, no output schema, and only partial parameter documentation, the description is incomplete. It does not cover prerequisites, return format specifics, error handling, or detailed behavioral 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 coverage is only 33% (only class has a description). The tool description does not explain any of the three parameters (class, detail, run_id) beyond what the schema provides. It fails to compensate for the low coverage.

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 purpose: escalating above the methodist (PM/human). It mentions the right to escalate and the output being a ticket with resolution via checkpoint or get_my_development. However, it does not explicitly distinguish it from other methodist tools, though the name itself is distinctive.

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 when needing to escalate over the methodist, but lacks explicit guidance on when to use this tool versus alternatives or when not to use it. There is no comparison with sibling tools.

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

methodist_explore_topicAInspect

Explore a topic ACROSS PUBLISHED CLAIMS in the layer-2 knowledge graph (keyword match on claim text). Searches CLAIMS, not papers — for the conceptual landscape of the PAPER corpus use explore_topic, which clusters chunks of documents instead. Scientific-only; a lightweight entry into the graph — pair with methodist_find to walk relations from a hit.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
topicYes
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.

TDQS

A3.9/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 full burden. It reveals that it does keyword match on claim text, searches claims not papers, and is scientific-only. However, it does not disclose behavioral traits like result format, pagination, or rate limits. The description adds some context but is not rich.

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 sentences, front-loaded with key purpose, no wasted words. Every sentence earns its place.

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?

No output schema is provided, so the description should explain what the agent receives. It mentions pairing with methodist_find but does not describe the return shape. For a graph exploration tool, this is a gap, but the description is adequate for deciding to use it.

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 33% (only run_id has a description). The description compensates for run_id with detailed attribution context, but does not add semantics for 'topic' or 'limit' beyond their types and constraints in the schema. Baseline 3 is appropriate as the description adds partial value.

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 explores a topic across published claims in the layer-2 knowledge graph using keyword match, and distinguishes from the sibling 'explore_topic' which operates on papers. The verb 'explore' and resource 'claims' are specific.

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 explicit context: when to use this tool (scientific-only, lightweight entry into the graph) and an alternative ('for the conceptual landscape of the PAPER corpus use explore_topic'). It also mentions pairing with methodist_find. However, it does not explicitly state 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.

methodist_findAInspect

Find scientific records related to a claim by its relations: the relations touching it + the connected records on the other endpoints. Scientific-only; process nodes never appear. Relations default to the epistemic §7 set (support/extend/qualify/refute/background/shared_evidence/same_as); pass relation_class="engineering" (or "all") to include the engineering dependency graph (ENG_* depends_on/satisfies).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax CONNECTED records to return — the claims, which are 99.96% of this response by measurement; `relations` keeps its own cap. ★ DEFAULT 20, chosen by measurement: 98.9% of documents carry 20 claims or fewer and so arrive complete in one call. It is a default, NOT a ceiling — ask for more and you get more. Every answer carries total / returned / complete (and nextOffset when there is more), so a defaulted read is never mistaken for an exhausted one.
detailNoHow much of each connected record to return. Levels DROP WHOLE FIELDS and never cut a string: 'minimal' = identity + supersede state, no claim text; 'standard' = + the claim itself, whole, without evidence; 'full' (default) = everything. Measured ~145 / ~658 / ~1281 characters per record.
offsetNoSkip the first N connected records. Use nextOffset from the previous answer.
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
from_idYes
subtypeNonarrow to one relation subtype, e.g. support / extend / depends_on / satisfies
directionNo'out' = relations where from_id is the source; 'in' = from_id is the target. This filters the READ; it is not the `direction` field stored on a relation record, which is a different thing that happens to share the name — never copy in/out into a record you submit.
latest_onlyNodrop superseded records — return only current chain-heads (default off)
relation_classNorelation class scope — default epistemic (§7); engineering = ENG_* dependency edges; all = both
collapse_same_asNocollapse same_as-equivalent connected claims to one canonical (earliest), carrying same_as_members (default off)

TDQS

A4/5.0
Behavior4/5

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

Without annotations, the description carries the transparency burden and does meaningful work: it discloses that results are scientific-only, that process nodes never appear, and that relations default to the epistemic §7 set with an explicit engineering/all option. It doesn't cover response shape or auth, but for a find-style read tool the main behavioral scoping is present.

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 dense sentences, no filler; the primary operation and key constraint are front-loaded. Every sentence adds semantic value.

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 10 parameters and no output schema, the description plus the rich parameter schema covers the invocation essentials: target identity, relation classes, and default/optional scoping. The main omission is explicit routing against overlapping siblings, but the behavior is specified well enough to call correctly.

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 high (~90%), so the baseline is 3; the description adds modest value by identifying `from_id` as a claim and enumerating the default epistemic relation set, which the schema's `relation_class` description only summarizes. It does not need to restate the already-detailed parameter docs.

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 phrase 'Find scientific records related to a claim by its relations' is a specific verb+resource statement, and it adds scope details ('relations touching it + connected records', 'process nodes never appear'). It does not explicitly name sibling alternatives such as find_related or methodist_traverse, so it stops short of a 5.

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 clear use context: call when you need scientific records connected to a claim through relations, and it states the epistemic default and how to opt into engineering edges. It does not spell out when-not-to-use or point to sibling tools, but the context is not merely implied.

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

methodist_getAInspect

Fetch a scientific record by id (claim/relation/activity/metric/bundle). Process records (run/intent/decision/journal) are never exposed — the exposure boundary (§12.4/§12.5). Process-referencing fields are stripped.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries full burden; it discloses that process records are never exposed and process-referencing fields are stripped, adding important behavioral context.

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 sentences, front-loaded with purpose, each sentence adds value; no extraneous text.

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?

Covers what is fetched and excluded; could mention error handling or response shape, but adequate for a simple fetch tool with no output schema.

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 coverage is 50% (id undocumented, run_id well-described); the description adds no additional parameter meaning beyond the schema, failing to compensate for the lack of id 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 tool fetches a scientific record by id, specifies the record types (claim/relation/activity/metric/bundle), and explicitly excludes process records, distinguishing it from siblings.

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?

Implied usage (fetch by id), but no explicit comparison with sibling tools like methodist_find or methodist_search; no when-not-to-use guidance.

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

methodist_get_current_doseBInspect

Return the run's current dose, stage and status (where am I). Deterministic — no model call.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYes

TDQS

B3.2/5.0
Behavior3/5

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

States 'Deterministic — no model call' which indicates no mutation and predictable behavior. However, no annotations are provided, so description carries full burden; lacks details on side effects, permissions, or error conditions.

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 sentences with no wasted words. Action verb and result summary are front-loaded.

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 purpose and predictability but fails to explain the parameter or provide usage context.

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?

Single parameter run_id is not described in schema (0% coverage) and the description does not explain what run_id represents, any constraints, or expected format.

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 the run's current dose, stage, and status, with a helpful parenthetical 'where am I'. Distinct from siblings like 'methodist_find' or 'methodist_get' by focusing on current state.

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 vs alternatives like 'methodist_get' or 'methodist_traverse'. Does not mention prerequisites or exclusions.

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

methodist_get_my_developmentBInspect

The mentee's own development view: autonomy by context, passed units, tier, and pending corrections (the flat competence map the methodist keeps).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only describes the output data, not whether the tool is read-only, requires authorization, or has side effects. The read-only nature is implied but not explicit.

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?

Single sentence with no wasted words. Some phrasing is dense but still clear. Front-loading is good (purpose first).

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 parameterless tool, the description gives a reasonable overview of the output. However, lacking output schema leaves uncertainty about the data structure. Adequate but not complete.

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?

No parameters exist, so schema description coverage is 100%. The description adds meaning by explaining the tool's output, which goes beyond the empty 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?

Description clearly states it provides the mentee's development view with specific components (autonomy, passed units, tier, corrections). It distinguishes itself from sibling tools by focusing on 'my development', but does not explicitly differentiate from other methodist 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. The description does not mention prerequisites, context, or exclusions. Given many sibling methodist tools, this is a significant gap.

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

methodist_hypotheses_for_questionBInspect

Which hypotheses address an open question, and where each one stands (untouched / supported / refuted / contested). State is DERIVED from the support and refute relations — it is never stored, because a claim's status is inside its identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
question_idYes

TDQS

B3.2/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, and it does disclose one genuinely useful behavioral fact: state is DERIVED from support/refute relations and never stored. Beyond that it says nothing about read-only semantics, permissions, or result size/pagination, leaving notable gaps for a tool with zero annotation coverage.

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?

Two compact sentences, front-loaded with the outcome and then the derivation rule. The closing clause ('a claim's status is inside its identity') is more philosophy than operational guidance, but it is short and does explain why state is derived.

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 two-parameter read tool with no output schema and no annotations, the description does explain the return values and their semantics, which is helpful. It still omits question_id format, pagination, and any permission/auth notes, so it is adequate rather than complete.

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 50%: run_id is richly documented in the schema itself, while question_id has only a minLength. The description adds marginal meaning by implying question_id must reference an 'open question,' but it does not clarify format or the run-attribution requirement beyond what the schema already provides.

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 resource (hypotheses addressing a question) and the return payload (each hypothesis's state from a fixed four-value set). It is clear what the tool produces, but it never names or contrasts itself against sibling tools like methodist_hypothesis or methodist_find, so an agent must infer the boundary.

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 phrase 'open question' hints at the triggering context, but there is no explicit when-to-use, when-not, or named alternative among the many methodist_* siblings. The agent is left to infer that this is the lookup for hypotheses tied to a specific question_id.

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

methodist_hypothesisBInspect

One hypothesis in full: the falsifier it declared in advance, the questions it addresses, and every relation that supported or refuted it, with who attested each.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
hypothesis_idYes

TDQS

B3/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It usefully discloses the returned content (falsifier, questions, relations, attestation provenance), which matters because there is no output schema, but it never states the operation is read-only, nor does it cover permissions 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.

Conciseness4/5

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

A single front-loaded sentence that names the resource first and then the returned components. It is dense but every clause conveys content; no filler.

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 read-by-id tool with no annotations and no output schema, the description covers the return shape well enough to substitute for a missing output schema. However, it omits the read-only nature, the meaning of hypothesis_id, and any usage context, leaving gaps for a 2-parameter lookup.

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 50%: run_id is richly documented in the schema, but hypothesis_id has no description anywhere. The description's 'One hypothesis' only weakly implies that hypothesis_id selects the record, so it does not compensate for the undocumented parameter.

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 identifies a specific resource (one hypothesis) and its scope ('in full'), enumerating the fields it returns (falsifier, questions, relations, attestations). It distinguishes itself implicitly from the plural sibling methodist_hypotheses_for_question via 'One hypothesis', though no explicit verb like 'fetch' or 'retrieve' is used.

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?

There is no explicit when-to-use or when-not-to-use guidance, and no sibling is named as an alternative. The context of fetching a single hypothesis by id is only implied.

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

methodist_moves_by_yieldCInspect

Which generating moves produce hypotheses that survive. A move whose hypotheses were all refuted appears with its count — the methodology claims these moves generate hypotheses and marks that claim unverified, so this read must not flatter it.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.

TDQS

C2.9/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 does disclose a genuine behavioral trait: a move whose hypotheses were all refuted is still included with its count, and it warns the read 'must not flatter' the methodology's unverified claim. That is useful semantic context, but the description never states that this is a read-only operation, says nothing about permissions, pagination, ordering, or return format.

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?

Only two sentences and the core purpose is front-loaded. The second sentence is dense and jargon-laden ('marks that claim unverified', 'must not flatter it'), which slightly hinders parsing, but nothing is wasted.

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?

There is no output schema, so the description should explain return values; it hints that moves appear 'with their count' but omits ordering, available fields, and result shape. For a read/analysis tool with one optional param and no annotations, this is adequate but leaves clear 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 100% and the single run_id parameter is thoroughly documented in the schema (optional, attribution semantics, ownership rejection). The description adds nothing about parameters, so the baseline 3 applies.

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 opening fragment 'Which generating moves produce hypotheses that survive' conveys the analytical question the tool answers, which is more specific than a tautology. However, it lacks an explicit verb or resource ('this tool returns/ranks moves by...') and does not differentiate itself from methodist-adjacent siblings like methodist_hypotheses_for_question or methodist_hypothesis. The purpose is inferable but vague in framing.

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?

There is no statement of when to call this tool, no prerequisites, and no named alternatives among the many methodist_* siblings. The agent is left to infer usage entirely from the output-semantics sentence.

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

methodist_report_needBInspect

Report a blocking need (e.g. missing access/resource); pauses the run and records the need.

ParametersJSON Schema
NameRequiredDescriptionDefault
needYes
run_idYes

TDQS

B3.3/5.0
Behavior3/5

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

Discloses key behavior: pauses the run and records the need. But no annotations exist, and description omits side effects, reversibility, or post-pause state.

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?

One sentence of 15 words, front-loaded with verb and resource, 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?

Adequate for a simple two-param tool, but missing context on how pausing works, how to resume, and what the recorded need entails. No output schema, so return value is undefined.

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?

0% schema description coverage, yet description only hints at 'need' parameter (e.g., missing access/resource) and fails to explain 'run_id'. Does not sufficiently compensate for schema gaps.

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?

Description clearly states verb 'Report' and resource 'blocking need', with an example. It differentiates from siblings by specifying 'pauses the run', but could be more precise about what constitutes a blocking need.

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?

Implies usage for blocking issues, but no explicit when-to-use or alternatives among siblings. No guidance on prerequisites or 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.

methodist_search_semanticAInspect

Semantic (embedding) search over methodist-published claims — the nearest claims to a natural-language query. scope="scientific" (default) searches the §7 claim space (engineering edges excluded from the projection). scope="engineering" is reuse-discovery: it searches the engineering-projected vector, scoped to engineering-connected claims — find past engineering approaches similar to a requirement (a text-similar non-engineering claim never leaks in). Returns claim ids + similarity scores + a text snippet.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
scopeNoscientific (default, §7 claim space) or engineering (reuse-discovery over engineering approaches)
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
latest_onlyNoreturn only current (non-superseded) claims (default off)
claim_statusNooptional filter on the exact claim_status value
claim_status_setNooptional filter by KIND of statement instead of by exact value: sourced (what a source asserts) | derived (your own inference) | action (your own decision or commitment) | open (a question or a gap). Expands to that set's values, so you never enumerate them by hand. Ignored if claim_status is also given — the exact value is more specific.
collapse_same_asNocollapse same_as-equivalent hits to ONE representative — the BEST-MATCHING member (a ranked face, NOT the §7.6 identity-canonical). Returns same_as_members[] + same_as_canonical_id (the earliest, i.e. the identity-canonical). Default off.

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It transparently explains the search mechanics (nearest claims, projection exclusions, no leakage for engineering), the output format (claim ids + similarity scores + snippet), and the run_id attribution behavior (must be the agent's own run, rejected otherwise). It also clarifies how claim_status_set expands and that collapse_same_as returns a best-matching face rather than the canonical ID. No contradictions with annotations (none present).

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 moderately long but tightly packed with necessary information. It opens with the core purpose, then explains scopes, then the return, then parameter-specific notes. Every sentence adds value; there is no fluff. It is slightly dense, but for a tool with eight parameters and two distinct modes, the length is justified. Not as short as the ideal but efficient.

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 no output schema, the description covers the essential return content and the key behavioral details (scope handling, run_id constraints, collapse semantics). It does not explicitly mention pagination or limit behavior, but the limit parameter is documented in the schema and its effect (max 50) is straightforward. The description is sufficient for an agent to invoke the tool correctly in most scenarios, though a sentence on default ordering or pagination would make it fully complete.

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 schema description coverage is 75%, so the baseline is 3. The description adds meaningful context beyond the schema for several parameters: it explains scope semantics, run_id attribution and rejection rules, claim_status_set expansion and precedence over claim_status, and collapse_same_as behavior (best-matching face vs canonical). It does not elaborate on limit, query, latest_only, or claim_status, but these are relatively self-explanatory and the schema already documents them. The added value raises it to 4.

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 states a specific verb and resource: 'Semantic (embedding) search over methodist-published claims — the nearest claims to a natural-language query.' It distinguishes the two scopes (scientific and engineering) and what each returns, making it clear what the tool does and how it differs from generic search. It also names the return content (claim ids, similarity scores, text snippet), further sharpening the purpose.

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 provides explicit context for when to use each scope: scientific (default) for the §7 claim space and engineering for reuse-discovery of engineering approaches. However, it does not explicitly compare this tool to sibling tools like search_semantic or methodist_search, nor state when not to use it. The guidance is clear for scope selection but lacks alternative-based exclusion criteria.

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

methodist_traverseAInspect

Multi-hop traversal from a claim over typed relation edges of ONE class. Default walks the epistemic §7 edges transitively (support/extend/qualify/refute/background/shared_evidence/same_as); relation_class="engineering" walks the dependency graph (depends_on/satisfies). ★ Those are the values a record carries; the graph stores them as ENG_DEPENDS_ON/ENG_SATISFIES edges, which you never write. This sentence used to name the epistemic set by its RECORD values and the engineering set by its EDGE LABELS, so a reader applying the visible pattern produced ENG_depends_on — a third thing, rejected by the validator (which accepts exactly depends_on and satisfies). direction="out" = forward (dependencies / cited); "in" = reverse (impact set — who depends on this). ★ This direction is the TRAVERSAL direction of the read and has NOTHING to do with the direction FIELD on a relation record — different thing, same name. Do not copy in/out into a record. For engineering it also returns cycle_detected (start claim in a dependency cycle). Class label-spaces are disjoint — a §7 walk never crosses into engineering edges and vice versa. ★ A0-3b: every reached node carries is_superseded. The walk goes THROUGH superseded claims deliberately — a superseded claim is a real historical link, and refusing to traverse it would silently drop CURRENT claims lying behind it. There is no latest_only here on purpose: filter the stamped result yourself if you want only current heads.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
from_idYes
subtypeNonarrow to one edge subtype, e.g. depends_on / satisfies / support
max_hopsNotransitive depth, default 3, max 6
directionNo'out' = forward (dependencies); 'in' = reverse (impact set). TRAVERSAL direction of this read — NOT the `direction` field of a relation record, which is a different thing with the same name.
relation_classNoedge class to traverse — default epistemic (§7)

TDQS

A4.2/5.0
Behavior5/5

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

The description is highly transparent about behavioral nuances: it clarifies traversal direction is not the record field, notes class label-spaces are disjoint, states every reached node carries is_superseded, and explains that superseded nodes are traversed intentionally. It also warns against writing and describes cycle_detected for engineering.

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 overly verbose and contains redundant or confusing meta-commentary, such as repeated warnings about label values and the awkward phrase 'This sentence used to name...'. Core information could be conveyed in half the length without losing meaning.

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 absence of an output schema, the description does a good job explaining key output aspects like is_superseded and cycle_detected. However, it does not mention the default direction, nor describe result pagination or the full output shape, leaving some gaps for a complete caller.

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

Parameters5/5

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

The schema covers most parameters with descriptions, and the description adds meaningful context for from_id, relation_class, direction, and max_hops. It also clarifies the meaning of 'direction' in this read context and gives concrete enum examples.

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 performs multi-hop traversal from a claim over typed relation edges of one class. It distinguishes the two relation classes (epistemic and engineering) and the direction semantics, making the tool's purpose unambiguous even without explicit sibling comparisons.

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 provides some usage guidance, such as how to select relation_class, direction semantics, and that superseded claims are deliberately traversed. However, it does not explicitly say when to prefer this tool over sibling traversal/search tools, and it omits the default direction value.

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

methodist_unworkedBInspect

Where no work has been done: open questions nobody has addressed, hypotheses nobody has tested, and hypotheses tested exactly once. Returns totals alongside, so an empty result can be told from an empty corpus.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden, and it does add one genuine behavioral fact beyond the schema: totals are returned alongside results so an empty result can be distinguished from an empty corpus. However, it omits other useful traits such as read-only confirmation, ordering, and how the limit interacts with pagination.

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?

Two tightly written sentences that are front-loaded with the definition of scope and end with the practically relevant empty-vs-empty-corpus note. No filler; only slight compression loss from the list-like first clause.

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?

There is no output schema, and the description only partially covers the return shape (it mentions totals but not result structure). For a query tool with no annotations and an undocumented limit parameter, it is adequate but leaves ordering, result fields, and pagination behavior unaddressed.

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 50%: run_id is richly documented inside the schema (attribution, validation, principal ownership), while limit has no description anywhere. The description adds nothing about parameters, so it does not compensate for the undocumented limit parameter.

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 precisely defines the resource scope it returns: open questions nobody has addressed, untested hypotheses, and hypotheses tested exactly once. That is specific and lets an agent understand the concept quickly, though the retrieval verb is only implied by the name and it never names a sibling to distinguish itself from.

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?

There is no explicit when-to-use or when-not-to-use guidance and no reference to alternatives among the many methodist_* siblings. The intent (find gaps to work on) is inferable, but nothing tells the agent what condition should select this tool over methodist_get_current_dose, methodist_find, or methodist_hypotheses_for_question.

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

paginateAInspect

Continue from a previous search without re-running the full pipeline. Pass the searchId returned in any search response and an offset to fetch more results from the cached candidate pool. Cached for ~30 minutes — for older searches re-run the original tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetYesSkip first N results (e.g. 10 to get next page after limit=10 first call)
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
searchIdYessearchId from a previous search / search_keyword / search_semantic response

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided. Description discloses cache duration and non-re-run nature, but lacks details on side effects, rate limits, or auth requirements. Adequate but not rich.

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-loaded with purpose, no unnecessary words. Efficiently communicates key information.

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?

Covers purpose and cache constraint. Missing response structure hints and error cases, but sufficient for a simple pagination tool with well-described schema.

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 has high coverage (75%+), describing all parameters. Description adds context for searchId and offset but no significant new meaning beyond schema. Baseline 3.

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 the tool continues a previous search without re-running, using searchId and offset. Distinguishes from sibling search tools which initiate new searches.

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?

Explicitly says when to use (after a search, to get more cached results) and when not (cache expired over ~30 min, re-run original tool). Provides clear alternative.

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

publish_draftAInspect

Publish one of YOUR OWN Portal drafts (a draft you created with create_draft) to OpenArx. Pass its draft_id and any publish-time metadata (coi_statement, license, title, authors, …) — supplied here because create_draft stays lightweight. Publishing is the billable event (the draft itself was free). You may only publish drafts on your own account that you created as an agent — someone else's draft, a human-staged draft, or a non-existent draft is rejected. Returns the publication result (indexing status + core_document_id / oarx_id), or a clear error (draft_ownership_denied / unknown_draft / stale_parent).

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
draft_idYesThe draft_id returned by create_draft — a draft on your own account that you created as an agent.
metadataNoOptional publish-time metadata — same field set as submit_document (coi_statement, license, title, authors, abstract, funding, data_availability, related_identifiers, embargo_until, doi, arxiv_id, source_url, arxiv_categories, …). Supply COI/license/title here at publish. Unrecognized keys are dropped.

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description discloses critical behaviors: only own agent-created drafts can be published, publishing is the billable event, returns indexing status and IDs, and lists specific error types. It also mentions unrecognized metadata keys are dropped. It could mention if the action is irreversible, but overall is transparent.

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 roughly 5 sentences and front-loads the main purpose. It is concise but could be slightly more compact; still, every sentence adds essential information.

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

Completeness5/5

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

Given the complexity (3 params, nested metadata, no output schema), the description explains the return format (indexing status + IDs), error cases, and relationship to create_draft. It also covers metadata handling and run_id provenance. This is complete for an agent to use the tool correctly.

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

Parameters5/5

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

Although schema description coverage is 100%, the description adds significant value: draft_id must be from own account and create_draft; metadata keys like COI/license/title are required at publish; run_id attribution and provenance check are explained. This goes well beyond the schema descriptions.

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 'publish' and the resource 'one of YOUR OWN Portal drafts', distinguishing it from siblings like create_draft (which creates drafts) and submit_document (which submits full documents). It specifies the scope and the source of drafts.

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 explicitly states when to use: when you have a draft created with create_draft. It also states what is rejected (someone else's draft, human-staged, non-existent). However, it does not provide explicit alternatives or when not to use, though the context implies it's the only way to publish drafts.

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

search_keywordAInspect

Pure keyword (BM25) search — fastest option, optimal for exact-term lookups: paper titles, author names, method names (e.g. "LoRA", "RLHF"), arXiv IDs. Does NOT use semantic vectors. Use this when you know the specific term you're looking for. For paraphrased or conceptual queries, prefer "search_semantic" or "search".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return
matchNoHow the words are combined. DEFAULT 'all_words' — EVERY word must appear in the chunk, which is why long queries often return nothing. ⚠️ MEASURED 2026-09-11 over archived all_words traffic: 6-10 word queries CAME BACK empty 78% of the time on this door — a figure about that traffic under that mode, which this parameter exists to change. Adding more words makes the default stricter, not broader. ⚠️ Matching happens INSIDE ONE CHUNK, so that figure depends on the CURRENT chunking policy as much as on the mode — re-measure if you need a current one rather than relying on this. stricter, not broader. Use 'any_words' to find chunks matching ANY of them, and 'phrase' for the words adjacent and in order. ⚠️ Writing `or` in the query text does NOT ask for any_words — it is dropped as a stop word; name the mode instead.
queryYesSearch query — exact terms work best (method names, IDs, titles). NOTE: BM25 ranks by chunk-level term frequency; for canonical paper lookup by exact name (e.g. "LoRA" → original LoRA paper), prefer find_by_id by arxivId or title-search. This tool may surface papers that mention the term frequently but are not the canonical source.
dateToNoFilter: published on or before (ISO date)
detailNo'minimal' = id+title+snippet+score. 'standard' = adds metadata + chunkContext. 'full' = adds entities/selfContained/scores/licenses map
facetsNoIf true, return facets block: count breakdown by contentType + top entities mentioned
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
dateFromNoFilter: published on or after (ISO date)
entitiesNoSoft filter by entity (method names like "BERT", datasets like "SQuAD", metrics like "BLEU"), case-insensitive. Matching chunks rank first; chunks with no entities recorded (legacy gap) fall to the bottom rather than being dropped; chunks with non-matching entities are excluded.
categoriesNoFilter by arXiv categories (e.g. cs.AI, cs.LG)
contentTypeNoFilter chunks by type. Use [methodology] for HOW researchers approach a problem; [results] for OUTCOMES; [survey, background] for context
diversifyByNo'document' (default): max N chunks per paper. 'keyConcept': diversify by main idea (good for landscape view). 'contentType': mix methodology/results/etc.document
maxPerDocumentNoMax chunks per single key (only when diversifyBy=document)

TDQS

A4.1/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 and it does disclose real mechanism: BM25 term matching, no semantic vectors, and a speed positioning ("fastest option"). However it says nothing about return shape, pagination, result limits, or the attribution requirements that the schema's run_id parameter implies, leaving notable behavioral gaps for a 13-parameter tool.

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 mechanism and the routing decision, with no padding. Slight redundancy between "optimal for exact-term lookups" and "when you know the specific term you're looking for" costs it the top mark.

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?

For a high-complexity tool the description correctly focuses on the routing decision, which is the part the schema cannot express, and the 100%-covered schema handles the 13 parameters. No output schema exists, but the detail parameter documents return shape, so the omission of return-value prose is acceptable.

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 100% and the schema itself carries unusually rich parameter guidance (match-mode semantics, query caveats pointing to find_by_id, detail levels, run_id attribution rules). The description adds nothing parameter-specific beyond restating that exact terms work best, so the baseline 3 applies.

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?

States a specific verb and mechanism ("Pure keyword (BM25) search") plus the resource it operates over, and explicitly contrasts itself with search_semantic and search. An agent can distinguish it from every sibling 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 Guidelines5/5

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

Gives explicit when-to-use ("when you know the specific term you're looking for") with concrete examples (paper titles, author names, method names, arXiv IDs), an explicit when-not ("Does NOT use semantic vectors"), and names the alternative tools to prefer for conceptual queries.

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

search_semanticAInspect

Pure semantic (vector) search — best for paraphrased queries, concept exploration, "papers arguing X" type questions. Uses dense vector similarity via Gemini or SPECTER2 embeddings. Skips BM25 fusion which can introduce term-matching noise. For exact terms use "search_keyword". For mixed queries use "search".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return
queryYesSearch query — concepts, paraphrased ideas, "papers arguing X"
dateToNoFilter: published on or before (ISO date)
detailNo'minimal' = id+title+snippet+score. 'standard' = adds metadata + chunkContext. 'full' = adds entities/selfContained/scores/licenses map
facetsNoIf true, return facets block: count breakdown by contentType + top entities mentioned
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
dateFromNoFilter: published on or after (ISO date)
entitiesNoSoft filter by entity (method names like "BERT", datasets like "SQuAD", metrics like "BLEU"), case-insensitive. Matching chunks rank first; chunks with no entities recorded (legacy gap) fall to the bottom rather than being dropped; chunks with non-matching entities are excluded.
strategyNo'fast' (~1s) skips reranker; 'rerank' (~10s) applies cross-encoder for higher relevancefast
categoriesNoFilter by arXiv categories (e.g. cs.AI, cs.LG)
contentTypeNoFilter chunks by type. Use [methodology] for HOW researchers approach a problem; [results] for OUTCOMES; [survey, background] for context
diversifyByNo'document' (default): max N chunks per paper. 'keyConcept': diversify by main idea. 'contentType': mix methodology/results/etc.document
vectorModelNo'gemini' for general semantic queries (default); 'specter2' for scientific paper similarity. ★ COVERAGE DIFFERS: the specter2 space does not cover the whole corpus — 77,782 chunks carry no vector in it and are therefore INVISIBLE to a specter2 search, not merely ranked lower. An empty result there means 'not indexed in this space', which is indistinguishable from 'nothing similar exists'. Use gemini when completeness matters; use specter2 to re-rank or corroborate.gemini
maxPerDocumentNoMax chunks per single key (only when diversifyBy=document)

TDQS

A4.5/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 burden of behavioral disclosure. It discloses the retrieval mechanism (dense vector similarity), the embedding models used, and a deliberate behavioral choice — skipping BM25 fusion to avoid term-matching noise. This is substantive behavioral context beyond a generic 'semantic search' label, though it does not cover ranking behavior or empty-result semantics (the specter2 invisibility caveat lives only in the vectorModel parameter schema).

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?

Three sentences with no waste: the core purpose is front-loaded, the mechanism follows, and the final sentence routes to alternatives. Every sentence earns its place, and there is no repetition of schema content or filler.

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

Completeness5/5

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

For a 14-parameter tool with an exceptionally rich schema (every parameter documented, enums explained, the SPECTER2 coverage caveat detailed), the description fully covers the selection and routing job: what the tool is, how it works, when to prefer it, and which sibling to use instead. Return-value behavior is already documented via the 'detail' parameter, so the absent output schema is not a real gap.

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 100%, so the baseline is 3. The description adds mild semantic framing for the query parameter (paraphrased ideas, 'papers arguing X') that mirrors — but does not exceed — the schema's own query description. All 14 parameters, including enums, defaults, and bounds, are already fully documented in the input schema.

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 states a precise verb+resource+mechanism: pure semantic (vector) search over the corpus using dense embeddings via Gemini or SPECTER2. It also names the siblings it is not ('search_keyword' for exact terms, 'search' for mixed), so an agent can differentiate it from both sibling search tools 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 Guidelines5/5

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

Provides explicit when-to-use guidance ('best for paraphrased queries, concept exploration, papers arguing X') and explicit when-not-to with named alternatives: 'For exact terms use search_keyword. For mixed queries use search.' It additionally explains the reasoning (skips BM25 fusion to avoid term-matching noise), letting the agent reason about the tradeoff rather than just memorize a rule.

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

submit_documentAInspect

Submit a document for indexing on OpenArx. Supports LaTeX, Markdown, and PDF formats. Returns a core_document_id for status tracking. Published documents are immutable. To correct or update one later, publish a new version rather than editing in place. Content is file-only: provide a base64-encoded ZIP archive (content_archive_base64) OR a content_ref from an out-of-band upload — exactly one. A ZIP may hold a single PDF, markdown + figures, or multifile LaTeX. Inline text is no longer accepted. For content above ~10 KB, prefer create_upload_url → PUT the file to the returned URL → pass the returned file_id as content_ref (avoids base64 token bloat). content_archive_base64 and content_ref are mutually exclusive — provide exactly one. Limits: title ≤5,000 chars; abstract ≤50,000 chars; archive ≤50 MB; keywords ≤50 items × ≤100 chars each. Set dry_run=true to validate without committing: no document is created, nothing is queued, no credits are charged; the response shows what would be saved and the estimated cost.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiNoDOI of the work.
hubsNoPortal hub / topic slugs to associate.
titleYesDocument title
run_idNoOptional. The active methodist run_id (as returned by the methodist diagnose / get_current_dose door). Pass it whenever you call this tool while working inside a run, so the call is attributed to that run for the §8 usage crosscheck — attribution is run-anchored, so it stays correct even if your access token refreshes mid-run. Must be YOUR run: a run_id owned by a different principal, or a non-existent run_id, is rejected.
authorsYesAuthor list
dry_runNoValidate only — no document created, no file written, no queue entry, 0 credits. Response: {dry_run:true, validation:"ok", estimated_cost, would_save}.
fundingNoFunding sources, e.g. [{ funder_name, award_number? }].
licenseNoLicense (e.g. cc-by-4.0)cc-by-4.0
abstractYesDocument abstract
arxiv_idNoarXiv identifier, if cross-posted.
keywordsNoKeywords
languageNoDocument language (ISO 639-1)en
main_fileNoFilename within the archive to treat as primary content. If exactly one .pdf / .tex / .md file exists at the archive root, auto-inferred when omitted. Otherwise required. For a content_ref ZIP this selects the entry; ignored for a content_ref single file.
categoriesNoList of subject categories. arXiv format recommended: `{domain}.{subcategory}` where domain is lowercase (with optional hyphens) and subcategory is two uppercase letters. Examples: "cs.CL" (Computation and Language), "math.PR" (Probability), "cond-mat.str-el" (Strongly Correlated Electrons), "physics.gen-ph" (General Physics). Other formats accepted but may render inconsistently in search facets.
code_linksNoSource-code repositories, e.g. [{ url }].
source_urlNoCanonical source URL.
content_refNofile_id from a successful create_upload_url + PUT upload flow. The uploaded ZIP / PDF / LaTeX / Markdown becomes the document content. Mutually exclusive with content_archive_base64.
coi_statementNoConflict-of-interest statement.
dataset_linksNoDatasets, e.g. [{ name, url? }].
embargo_untilNoISO-8601 timestamp; the document is embargoed until then.
content_formatYesContent format
benchmark_linksNoBenchmark-result references.
arxiv_categoriesNoarXiv subject categories.
data_availabilityNoData-availability statement or status.
related_identifiersNoRelated identifiers, e.g. [{ identifier_type, identifier_value, relation? }].
data_availability_urlNoURL to the dataset / data-availability record.
content_archive_base64NoBase64-encoded ZIP archive (PK\x03\x04). Must contain main_file plus any attachments. Mutually exclusive with content_ref. Prefer content_ref (create_upload_url) above ~10 KB.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses key behaviors: immutability of published documents, file-only content (no inline text), mutual exclusivity of content sources, limits, dry_run behavior (no charges, no commit), and the response structure. It covers all important traits for safe and effective use.

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 well-structured, starting with the main purpose and then detailing content options, limits, and dry_run. It is front-loaded and avoids redundancy, though it could be slightly more concise given its length. Overall, it efficiently conveys necessary information without waste.

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

Completeness5/5

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

Given the tool's 27 parameters, no output schema, and 4 required fields, the description is highly complete. It covers the main output (core_document_id), validation behavior, interactions with create_upload_url, and all constraints. An agent has sufficient information to use the tool correctly without external references.

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

Parameters5/5

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

Despite 100% schema coverage, the description adds significant value beyond the schema: it explains the purpose of each parameter, the mutual exclusivity of content_archive_base64 and content_ref, preferences for content upload method, detailed limits, and the dry_run response format. This greatly aids correct parameter selection and usage.

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 'Submit a document for indexing on OpenArx,' which is a specific verb and resource. It distinguishes from sibling tools like create_upload_url by noting when to use the latter for large content. The supported formats and returned core_document_id are mentioned, making the purpose unambiguous.

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 provides clear guidance on when to use create_upload_url for large files, when to set dry_run for validation, and how to handle updates via new versions. However, it does not explicitly contrast with all siblings (e.g., create_draft, publish_draft), leaving some selection context implicit.

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. 6 tool updates
    • Changedget_document1 field changed
      • addedInput schema / properties / chunkEntities
        Added value: +{
        +  "description": "Soft filter chunks by entity (case-insensitive ANY match). Implies includeChunks=true. Chunks mentioning a listed entity return first; chunks with NO entities recorded are kept (about a quarter of the corpus predates entity extraction, and dropping them would hide real matches); only chunks that HAVE entities, none of them matching, are dropped.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Addedmethodist_hypotheses_for_question
    • Addedmethodist_hypothesis
    • Addedmethodist_moves_by_yield
    • Addedmethodist_unworked
    • Changedsearch_keyword1 field changed
      • addedInput schema / properties / match
        Added value: +{
        +  "description": "How the words are combined. DEFAULT 'all_words' — EVERY word must appear in the chunk, which is why long queries often return nothing. ⚠️ MEASURED 2026-09-11 over archived all_words traffic: 6-10 word queries CAME BACK empty 78% of the time on this door — a figure about that traffic under that mode, which this parameter exists to change. Adding more words makes the default stricter, not broader. ⚠️ Matching happens INSIDE ONE CHUNK, so that figure depends on the CURRENT chunking policy as much as on the mode — re-measure if you need a current one rather than relying on this. stricter, not broader. Use 'any_words' to find chunks matching ANY of them, and 'phrase' for the words adjacent and in order. ⚠️ Writing `or` in the query text does NOT ask for any_words — it is dropped as a stop word; name the mode instead.",
        +  "enum": [
        +    "all_words",
        +    "any_words",
        +    "phrase"
        +  ],
        +  "type": "string"
        +}
  2. 1 tool update
    • Changedmethodist_search_semantic2 fields changed
      • changedInput schema / properties / claim_status / description
        Previous value: -"optional filter on the claim_status payload field"New value: +"optional filter on the exact claim_status value"
      • addedInput schema / properties / claim_status_set
        Added value: +{
        +  "description": "optional filter by KIND of statement instead of by exact value: sourced (what a source asserts) | derived (your own inference) | action (your own decision or commitment) | open (a question or a gap). Expands to that set's values, so you never enumerate them by hand. Ignored if claim_status is also given — the exact value is more specific.",
        +  "enum": [
        +    "sourced",
        +    "derived",
        +    "action",
        +    "open"
        +  ],
        +  "type": "string"
        +}
  3. 1 tool update
    • Changedmethodist_find1 field changed
      • changedInput schema / properties / limit / description
        Previous value: -"Max CONNECTED records to return — the claims, which are 99.96% of this response by measurement; `relations` keeps its own cap. Omit for all of them. The answer always carries total / returned / complete, so a windowed read is never mistaken for an exhausted one."New value: +"Max CONNECTED records to return — the claims, which are 99.96% of this response by measurement; `relations` keeps its own cap. ★ DEFAULT 20, chosen by measurement: 98.9% of documents carry 20 claims or fewer and so arrive complete in one call. It is a default, NOT a ceiling — ask for more and you get more. Every answer carries total / returned / complete (and nextOffset when there is more), so a defaulted read is never mistaken for an exhausted one."
  4. 2 tool updates
    • Changedmethodist_find3 fields changed
      • addedInput schema / properties / detail
        Added value: +{
        +  "description": "How much of each connected record to return. Levels DROP WHOLE FIELDS and never cut a string: 'minimal' = identity + supersede state, no claim text; 'standard' = + the claim itself, whole, without evidence; 'full' (default) = everything. Measured ~145 / ~658 / ~1281 characters per record.",
        +  "enum": [
        +    "minimal",
        +    "standard",
        +    "full"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Max CONNECTED records to return — the claims, which are 99.96% of this response by measurement; `relations` keeps its own cap. Omit for all of them. The answer always carries total / returned / complete, so a windowed read is never mistaken for an exhausted one.",
        +  "exclusiveMinimum": 0,
        +  "type": "integer"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Skip the first N connected records. Use nextOffset from the previous answer.",
        +  "minimum": 0,
        +  "type": "integer"
        +}
    • Changedmethodist_search1 field changed
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "claim",
        -  "relation",
        -  "activity",
        -  "metric",
        -  "bundle"
        -]New value: +[
        +  "claim",
        +  "relation",
        +  "activity",
        +  "metric",
        +  "bundle",
        +  "document"
        +]
  5. 1 tool update
    • Changedfind_related_claims2 fields changed
      • changedInput schema / properties / exclude_same_as / description
        Previous value: -"drop members of the ANCHOR's own same_as cluster — they are the same claim (default TRUE)"New value: +"drop members of the ANCHOR's own same_as cluster — they are the same claim (default TRUE). The response reports how many were dropped in excluded.same_as_members."
      • changedInput schema / properties / latest_only / description
        Previous value: -"exclude superseded claims (default TRUE)"New value: +"exclude superseded claims (DEFAULT OFF since A0-3b, aligned with methodist_find / _search / _search_semantic). Every returned claim carries is_superseded, so filtering here is optional: you can always drop stamped records, but you cannot recover records a door hid from you."
  6. 1 tool update
    • Changedfind_evidence1 field changed
      • changedInput schema / properties / mode / description
        Previous value: -"'fast' (~3s): retrieval uses symmetric HyDE pools — top-20 chunks against the supporting-hypothetical plus top-20 against the contradicting-hypothetical, then each chunk is assigned to the bucket whose HyDE-vector it scored higher against. Because the retrieval pool is symmetric and the classification mirrors the retrieval direction, supporting/contradicting counts come out approximately balanced regardless of the actual distribution of evidence in the corpus (a topic that is 90% supported in the literature will still show a ~1:1 split here). Use fast mode for 'is there evidence on either side?', not for 'how is the field actually split?'. May also misclassify chunks that mention the topic but logically point the other way (e.g. a paper explaining 'BN is bad in transformers' may land in the contradicting bucket for an 'LN > BN' claim). 'deep' (~10s): adds an independent per-chunk LLM NLI classification on top of the union pool, so counts reflect actual semantic distribution and can be arbitrarily asymmetric. Use 'deep' whenever classification accuracy or distribution shape matters — including controversy mapping and any analysis that interprets the supporting/contradicting ratio as a signal about the field."New value: +"'fast' (~3s): retrieval uses symmetric HyDE pools — top-20 chunks against the supporting-hypothetical plus top-20 against the contradicting-hypothetical, then each chunk is assigned to the bucket whose HyDE-vector it scored higher against. Because the retrieval pool is symmetric and the classification mirrors the retrieval direction, supporting/contradicting counts come out approximately balanced regardless of the actual distribution of evidence in the corpus (a topic that is 90% supported in the literature will still show a ~1:1 split here). Use fast mode for 'is there evidence on either side?', not for 'how is the field actually split?'. May also misclassify chunks that mention the topic but logically point the other way (e.g. a paper explaining 'BN is bad in transformers' may land in the contradicting bucket for an 'LN > BN' claim). 'deep': adds an independent per-chunk LLM NLI classification on top of the union pool, so counts reflect actual semantic distribution and can be arbitrarily asymmetric. ★ COST IS LINEAR IN POOL SIZE — one LLM call PER CHUNK, up to ~60 per invocation. Measured over 35 real calls: median 52 s end-to-end (the '~10s' this description used to claim was never the general case). That is money as well as time. Use 'deep' whenever classification accuracy or distribution shape matters — including controversy mapping and any analysis that interprets the supporting/contradicting ratio as a signal about the field."
  7. 8 tool updates
    • Changedexplore_topic1 field changed
      • removedInput schema / properties / detail / default
        Removed value: -"full"
    • Changedfind_evidence1 field changed
      • removedInput schema / properties / detail / default
        Removed value: -"full"
    • Changedfind_methodology1 field changed
      • removedInput schema / properties / detail / default
        Removed value: -"full"
    • Changedget_chunks5 fields changed
      • removedInput schema / properties / detail / default
        Removed value: -"full"
      • removedInput schema / properties / limit / default
        Removed value: -20
      • addedInput schema / properties / limit / description
        Added value: +"Max chunks to return. Default 100. No upper bound — use offset to read a document larger than one context in successive passes."
      • removedInput schema / properties / limit / maximum
        Removed value: -100
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Skip the first N chunks of the ordered set. Ordering is total, so pages neither skip nor repeat.",
        +  "minimum": 0,
        +  "type": "integer"
        +}
    • Changedget_document5 fields changed
      • removedInput schema / properties / chunkLimit / default
        Removed value: -20
      • changedInput schema / properties / chunkLimit / description
        Previous value: -"Max chunks returned when includeChunks=true (or filter is set)"New value: +"Max chunks returned when includeChunks=true (or filter is set). Default 100. No upper bound — a document is readable in full; use offset to page through one too large for your context."
      • removedInput schema / properties / chunkLimit / maximum
        Removed value: -200
      • removedInput schema / properties / detail / default
        Removed value: -"full"
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Skip the first N chunks of the ordered set. For reading a document larger than one context in successive passes. Ordering is total, so pages neither skip nor repeat.",
        +  "minimum": 0,
        +  "type": "integer"
        +}
    • Changedsearch1 field changed
      • removedInput schema / properties / detail / default
        Removed value: -"full"
    • Changedsearch_keyword1 field changed
      • removedInput schema / properties / detail / default
        Removed value: -"full"
    • Changedsearch_semantic1 field changed
      • removedInput schema / properties / detail / default
        Removed value: -"full"
  8. 8 tool updates
    • Changedexplore_topic1 field changed
      • changedInput schema / properties / detail / default
        Previous value: -"standard"New value: +"full"
    • Changedfind_evidence1 field changed
      • changedInput schema / properties / detail / default
        Previous value: -"standard"New value: +"full"
    • Changedfind_methodology1 field changed
      • changedInput schema / properties / detail / default
        Previous value: -"standard"New value: +"full"
    • Changedget_chunks1 field changed
      • changedInput schema / properties / detail / default
        Previous value: -"standard"New value: +"full"
    • Changedget_document1 field changed
      • changedInput schema / properties / detail / default
        Previous value: -"standard"New value: +"full"
    • Changedsearch1 field changed
      • changedInput schema / properties / detail / default
        Previous value: -"standard"New value: +"full"
    • Changedsearch_keyword1 field changed
      • changedInput schema / properties / detail / default
        Previous value: -"standard"New value: +"full"
    • Changedsearch_semantic1 field changed
      • changedInput schema / properties / detail / default
        Previous value: -"standard"New value: +"full"
  9. 2 tool updates
    • Changedsearch1 field changed
      • changedInput schema / properties / vectorModel / description
        Previous value: -"'gemini' for general semantic queries (default); 'specter2' for scientific paper similarity"New value: +"'gemini' for general semantic queries (default); 'specter2' for scientific paper similarity. ★ COVERAGE DIFFERS: the specter2 space does not cover the whole corpus — 77,782 chunks carry no vector in it and are therefore INVISIBLE to a specter2 search, not merely ranked lower. An empty result there means 'not indexed in this space', which is indistinguishable from 'nothing similar exists'. Use gemini when completeness matters; use specter2 to re-rank or corroborate."
    • Changedsearch_semantic1 field changed
      • changedInput schema / properties / vectorModel / description
        Previous value: -"'gemini' for general semantic queries (default); 'specter2' for scientific paper similarity"New value: +"'gemini' for general semantic queries (default); 'specter2' for scientific paper similarity. ★ COVERAGE DIFFERS: the specter2 space does not cover the whole corpus — 77,782 chunks carry no vector in it and are therefore INVISIBLE to a specter2 search, not merely ranked lower. An empty result there means 'not indexed in this space', which is indistinguishable from 'nothing similar exists'. Use gemini when completeness matters; use specter2 to re-rank or corroborate."
  10. 35 tool updates
    • First observedcompare_papers
    • First observedcreate_draft
    • First observedcreate_new_version
    • First observedcreate_upload_url
    • First observedexplore_topic
    • First observedfind_benchmark_results
    • First observedfind_by_id
    • First observedfind_code
    • First observedfind_evidence
    • First observedfind_methodology
    • First observedfind_related
    • First observedfind_related_claims
    • First observedget_chunks
    • First observedget_document
    • First observedget_document_status
    • First observedget_my_document_review
    • First observedget_my_documents
    • First observedget_system_stats
    • First observedmethodist
    • First observedmethodist_escalate
    • First observedmethodist_explore_topic
    • First observedmethodist_find
    • First observedmethodist_get
    • First observedmethodist_get_current_dose
    • First observedmethodist_get_my_development
    • First observedmethodist_report_need
    • First observedmethodist_search
    • First observedmethodist_search_semantic
    • First observedmethodist_traverse
    • First observedpaginate
    • First observedpublish_draft
    • First observedsearch
    • First observedsearch_keyword
    • First observedsearch_semantic
    • First observedsubmit_document

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.