Skip to main content
Glama
TIGERwu0118

YRB-HES Evidence MCP

by TIGERwu0118

YRB-HES Evidence MCP

简体中文

Acknowledgement

This project is deeply inspired by Zleap-AI/SAG. We sincerely thank the SAG contributors for the Event/Entity organization, graph-oriented retrieval, and evidence synthesis ideas that shaped this adapter.

YRB-HES Evidence MCP is an independent YRB3 adaptation. Please consult and respect the upstream SAG license and attribution requirements when reusing SAG materials.

Overview

YRB-HES Evidence MCP is a read-only Model Context Protocol (MCP) server for evidence retrieval in Yellow River Basin human–earth systems reviews. It exposes bounded access to the rag_sag.yrb3_v3 PostgreSQL schema and preserves source provenance for every returned claim.

The service connects document metadata, abstract screening, heading/subchunk context, SAG Event/Entity associations, verified edges, optional BGE-M3 vector recall, structured spatial/temporal evidence, and the geospatial tables copied into rag_sag.yrb3_v3. Geocoded canonical entities, hydro relations, source boundaries, spatial units, and audit rows retain their original table names; the former yrb3.public copy is an archive, not an active MCP source. Production pipelines remain responsible for Qwen extraction, database writes, and audit runs.

Related MCP server: DeepLaw

Scope and tools

Tool

Purpose

healthcheck

Verify database identity, schema, tables, and current counts

describe_data_foundation

Describe actual tables/columns and semantic data layers in the unified v3 foundation; defaults to a compact summary and accepts detail=full

find_canonical_fields

Map a user concept or alias to registered YRB-HES semantic fields

build_question_schema

Validate and structure a caller-defined five-layer contract for retrieval, evidence, analysis, response, and validation

get_document_overview

Inspect one document's processing coverage

search_evidence

Retrieve lexical/vector/Event/Entity/spatiotemporal evidence

compare_evidence

Build bounded cross-paper comparison rows

get_subchunk_context

Read local heading and source context

search_entity

Find canonical SAG entities

expand_entity

Expand entities to Events, evidence, edges, and geocode

get_spatiotemporal_evidence

Filter structured spatial/temporal evidence

search_geocode

Look up coordinates and verdicts for geocoded spatial entities (min_score filter, doc_refs provenance)

get_document_geocode

Return geocoded spatial entities linked to one document

papercheck_brief

Condensed verification brief for one entity: evidence quotes, abstract sentence, optional full-text hits

trace_source

Trace IDs back to Markdown content and hashes

search_evidence and compare_evidence accept compact=True to trim responses to identifiers, quotes and citations (~10x smaller for interactive use).

build_question_schema is question-agnostic and planning-only. It does not register, classify, or infer scientific question modules. The caller or Agent may supply any opaque question_id (for example D1Q1) together with the population, analysis unit, deduplication keys, measures, evidence policy, boundary policy, retrieval tools, and expected output claims. The builder validates and structures that contract without executing retrieval, modifying data, or exposing arbitrary SQL.

describe_data_foundation discovers the geospatial tables in the same rag_sag.yrb3_v3 schema as the literature and SAG tables. The response retains the geocode_sidecar key for client compatibility, but it is a compatibility projection rather than a second database connection. The default summary lists table and column names without expanding every database-column descriptor; request detail=full when full column metadata is needed. Geocode fields such as coordinates, score, verdict, in_yrb9, and in_yrb_hydro describe spatial normalization only and do not replace formal study-area evidence or perform scientific-question analysis.

The server is read-only: it performs no DDL, DML, UPSERT, deletion, model inference, or extraction. Use exact document_id, subchunk_id, Event/Entity IDs, evidence IDs, heading paths, and source hashes in downstream synthesis.

Install

git clone <repository-url> yrb_hes_mcp
cd yrb_hes_mcp
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .

The runtime requires Python 3.11+ and PostgreSQL access. The default connection targets dbname=rag_sag through the remote Unix socket. Set YRB3_MCP_DATABASE_URL only when a controlled alternative is required; the legacy YRB3_MCP_GEOCODE_DATABASE_URL is no longer used.

Run over SSH/stdio

cd /home/wst/projects/yrb_hes_mcp
PYTHONPATH=/home/wst/projects/yrb_hes_mcp \
  /home/wst/projects/yrb_hes_mcp/.venv/bin/python \
  -m mcp_server.server

Register the same SSH-stdio command in the Codex MCP configuration. Keep database credentials outside the repository.

Tests

python -m pytest tests/test_import.py
python tests/protocol_smoke.py
python tests/current_state_audit.py

A passing protocol smoke verifies transport and tool contracts. It does not certify full-corpus processing or scientific validity.

Evidence rules

Call healthcheck before retrieval. Use search_evidence for discovery, compare_evidence for cross-paper scaffolding, and trace_source before quoting. Keep publication year distinct from study-evidence year. Treat spatial labels as candidates until the formal research-area field or source wording confirms them. If the edge table is empty, report the available Event–Entity neighborhood without inventing edges. Always report coverage, warnings, and conflicts.

Limitations

Coverage depends on the current Qwen, Embedding, spatiotemporal, and Edge processing state in rag_sag.yrb3_v3. The MCP provides retrieval and provenance; the Agent and human reviewer remain responsible for scientific interpretation and final acceptance.

SAG acknowledgement

We sincerely thank Zleap-AI/SAG and its contributors. SAG's structured Event/Entity, graph, and retrieval-enhancement design provided important methodological foundations for this cross-paper evidence index. This project adds YRB3-specific database contracts, human–earth systems categories, spatiotemporal evidence, and Markdown source tracing.

License

MIT. See LICENSE.

Available Tools

9 tools
compare_evidenceA

Build bounded cross-paper comparison rows with claims, entities, spatiotemporal evidence and source locators.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum Subchunk hits used to build comparison rows
queryYesResearch question or comparison topic
year_toNoOptional publication year upper bound
languageNozh, en, or empty
year_fromNoOptional publication year lower bound
request_idNoOptional audit request ID
document_idsNoOptional exact document IDs
evidence_year_toNoOptional study-evidence year upper bound
evidence_year_fromNoOptional study-evidence year lower bound

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. 'Build bounded cross-paper comparison rows' hints at a limit but doesn't explain how the tool operates (e.g., it queries subchunks, how rows are aggregated, what 'bounded' means exactly, or any side effects). The description lacks detail on the process or output structure beyond high-level content.

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

Conciseness5/5

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

The description is a single, concise sentence that efficiently communicates the core purpose and key output elements without redundancy. Every word adds value.

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

Completeness3/5

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

While the schema provides parameter details and the output schema exists, the description lacks an overview of how the tool fits into a workflow. It doesn't explain what 'comparison rows' are, how they differ from sibling tool outputs, or when to invoke it. For a tool with 9 parameters and multiple siblings, this is a notable gap in usability guidance.

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 schema already documents all parameters. The description adds no parameter-specific meaning, which matches the baseline of 3. It does not clarify how parameters like 'limit' or 'document_ids' influence the comparison rows.

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 action ('Build') and resource ('bounded cross-paper comparison rows'), and specifies the content (claims, entities, spatiotemporal evidence, source locators). This distinguishes it from siblings like search_evidence or get_spatiotemporal_evidence, which focus on retrieving individual pieces rather than building comparison rows.

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 use case is implied by the phrase 'cross-paper comparison' but no explicit when-to-use or alternative suggestions are provided. The description doesn't mention when to prefer this over search_evidence or trace_source, leaving usage to be inferred from the tool name and purpose.

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

expand_entityC

Expand one canonical entity to linked Event, Subchunk, spatiotemporal evidence and verified edges.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
entity_idYesExact v3_sag_entities.entity_id
request_idNoOptional audit request ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether the operation is read-only, what side effects may occur, whether pagination is applied, or what happens if the entity_id is invalid. The mention of 'expand' and linked data hints at a graph traversal but lacks behavioral detail.

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

Conciseness5/5

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

The description is a single, concise sentence with no unnecessary words. It is front-loaded with the main action and outcome, making it easy to scan.

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

Completeness2/5

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

Given the tool has three parameters and an output schema, the description is minimal. It does not explain what 'verified edges' means, whether there are performance implications, or how the linked items are presented. The output schema may cover return structure, but the description lacks sufficient context for correct usage.

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

Parameters2/5

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

The description does not mention parameters at all. The schema already documents entity_id with 'Exact v3_sag_entities.entity_id' and limit constraints, but the description adds no meaning beyond what the schema provides. With schema coverage at 67%, the description could have helped clarify parameter usage but does not.

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 action ('expand') and the resource ('canonical entity'), and specifies the output types (Event, Subchunk, spatiotemporal evidence, verified edges). This distinguishes it from siblings like search_entity and get_subchunk_context, though it does not explicitly name an alternative tool.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies usage for a given entity_id but does not mention exclusions or recommend other tools for different scenarios.

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

get_document_overviewB

Return metadata, abstract screening, heading, Subchunk, SAG and spatiotemporal counts for one document.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNoOptional audit request ID
document_idYesExact v3 document_id

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not explicitly state that the operation is read-only, nor does it mention required permissions, potential errors, or rate limits. The word 'Return' implies a read but is not explicit about non-destructiveness.

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

Conciseness5/5

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

The description is a single sentence that front-loads the verb and resource, and it efficiently lists the output categories without any fluff. Every word is necessary and informative.

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 presence of an output schema covers return-value details, and the description lists the main content areas well. However, it lacks any usage context or guidance on when this overview tool is appropriate, which prevents a perfect score. Given the moderate complexity and available schema, it is still sufficiently complete for a read-only tool.

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?

The input schema already fully documents document_id as 'Exact v3 document_id' and request_id as an optional audit request ID. The description adds minimal extra parameter meaning—it only reinforces that the tool operates on a single document. With 100% schema coverage, a 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 uses 'Return' as a specific verb and identifies the resource ('one document'), then enumerates the exact content (metadata, abstract screening, heading, Subchunk, SAG, spatiotemporal counts). It clearly distinguishes this from sibling tools like get_subchunk_context, which focuses on a single subchunk rather than a document-level overview.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives like search_evidence or get_subchunk_context. The description simply states what it does, without any contextual advice, prerequisites, or exclusions.

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

get_spatiotemporal_evidenceB

Query structured spatial and temporal evidence with document, Subchunk and research-area filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
request_idNoOptional audit request ID
document_idNoOptional exact document_id
subchunk_idNoOptional exact subchunk_id
evidence_typeNospatial or temporal
is_research_areaNoOptional formal study-area gate
normalized_labelNoOptional label fragment

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden for disclosing behavioral traits. While 'Query' implies a read-only operation, the description does not explicitly state read-only behavior, pagination, return format, or any side effects. It only restates the purpose without adding behavioral context beyond the verb.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler words. It efficiently conveys the core purpose and filter types, earning its place without unnecessary detail.

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?

The tool has 7 parameters and no annotations, yet the description is minimal. It omits context about the evidence_type parameter, limit behavior, and how it relates to sibling tools. Although an output schema exists, the description is too thin to fully guide an agent for a tool of this complexity.

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 high (86%), so the baseline is 3. The description adds value by grouping key parameters into 'document, Subchunk and research-area filters', but it omits other parameters like evidence_type and limit, which are covered by the schema. Overall, the description provides a helpful summary but does not fully compensate for the one undocumented parameter.

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 function with a specific verb ('Query'), a specific resource ('structured spatial and temporal evidence'), and lists the key filter dimensions (document, Subchunk, research-area). This distinguishes it from sibling tools like search_evidence or compare_evidence by emphasizing the spatiotemporal scope and specific filter types.

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 the tool by naming the filters, but it does not explicitly state when to choose this tool over alternatives, nor does it provide exclusions or contrast with sibling tools. It is clear about the input filters but lacks any guidance on use cases or alternative selection.

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

get_subchunk_contextB

Return one Subchunk, its title path, adjacent context and linked Event/spatiotemporal evidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusNoReserved context radius
request_idNoOptional audit request ID
subchunk_idYesExact v3_text_chunks.subchunk_id

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full transparency burden but only lists output components. It does not disclose whether the operation is read-only, how 'adjacent context' is measured, any performance implications, or edge cases such as missing subchunk 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 a single, front-loaded sentence with a clear verb and no filler. Every word contributes to conveying the tool's core function.

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

Completeness3/5

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

The tool is a straightforward read operation with an output schema and fully described parameters, so the description is somewhat adequate. However, it lacks usage context, radius semantics, and any behavioral caveats, making it minimally complete rather than fully contextual.

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 a slight semantic hint by linking 'adjacent context' to the tool's output, but it does not clarify the radius parameter's behavior beyond the schema's vague 'Reserved context radius'.

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

Purpose4/5

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

The description clearly states the tool returns a single Subchunk with title path, adjacent context, and linked Event/spatiotemporal evidence, using a specific verb and resource. It does not explicitly differentiate from sibling tools like get_spatiotemporal_evidence, so it falls 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 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, nor any exclusions or prerequisites. The usage is only implied by the tool's name and description, with no explicit decision support.

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

healthcheckB

Check PostgreSQL, yrb3_v3 tables, read-only identity and current row counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idNoOptional audit request ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden for behavioral disclosure. It does not state whether the tool is read-only, what permissions are needed, or whether it has side effects. The phrase 'read-only identity' suggests a check for read-only status but does not explicitly confirm the tool itself is non-destructive.

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

Conciseness5/5

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

The description is a single sentence that front-loads the action ('Check') and enumerates the specific items checked. It contains no extraneous words and is efficiently structured for quick comprehension.

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

Completeness3/5

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

The description lists what is checked but omits context such as the purpose of the healthcheck, what 'read-only identity' entails, and when an agent should invoke it. An output schema exists, so return values are covered, but the description remains somewhat minimal for a diagnostic tool.

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?

The sole parameter, request_id, is fully described in the schema as an optional audit request ID. The description adds no extra meaning about this parameter, but with 100% schema description coverage, the baseline of 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?

The description begins with the specific verb 'Check' and names precise resources: 'PostgreSQL, yrb3_v3 tables, read-only identity and current row counts.' This clearly distinguishes it from the sibling evidence/search tools by indicating a health-monitoring purpose rather than data retrieval.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives or exclusions. The description only states what it checks, leaving usage entirely implied. There is no mention of conditions like 'run before other queries' or 'use for diagnostics.'

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

search_entityA

Search canonical SAG entities by name, alias key and optional entity type.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesEntity name or canonical key
limitNo
request_idNoOptional audit request ID
entity_typeNoOptional entity type

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the search action and criteria, but does not explicitly state that it is read-only, does not mention auth requirements, rate limits, or any side effects. For a search tool this is a notable omission, though 'search' implies a low-risk 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 a single, front-loaded sentence that identifies the verb, resource, and key criteria. Every word contributes value, and there is no unnecessary repetition or padding.

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

Completeness3/5

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

Given the existence of an output schema, return values are covered, and the description states the core purpose and main parameters. However, it lacks usage guidance and behavioral caveats, and does not mention any limitations on search scope or result handling, making it only minimally complete for a tool with no annotations and multiple siblings.

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 75%, and the tool description adds a small amount of meaning by introducing 'alias key' as a searchable variant of name and confirming entity_type is optional. However, the 'limit' parameter has no schema description and the tool description does not compensate for that gap, leaving its semantics to be inferred from the title.

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 the specific verb 'Search' with a specific resource ('canonical SAG entities') and search criteria ('by name, alias key and optional entity type'). It clearly distinguishes this from sibling tools like search_evidence, which search evidence, and expand_entity, which expands related entities.

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: use when looking up entities by name or alias. However, it does not explicitly compare to alternatives or state when not to use this tool. There is no mention of search_evidence or other sibling tools, so guidance on alternatives is absent.

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

search_evidenceB

Search YRB3 evidence with exact if_yrbhg gate, lexical Subchunk recall, Event expansion and spatiotemporal attachment.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum Subchunk hits
queryYesResearch question or terms
year_toNoOptional publication year upper bound
languageNozh, en, or empty
year_fromNoOptional publication year lower bound
request_idNoOptional audit request ID
document_idsNoOptional exact document IDs
evidence_year_toNoOptional study-evidence year upper bound; overlaps temporal value_start/value_end
evidence_year_fromNoOptional study-evidence year lower bound; overlaps temporal value_start/value_end

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of disclosing behavior. It mentions internal mechanisms like 'exact if_yrbhg gate' and 'lexical Subchunk recall', which suggest filtering and retrieval behavior, but it does not explicitly state safety (read-only), limitations, or side effects. Some behavioral context is added but not enough for full transparency.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the primary action ('Search YRB3 evidence') followed by qualifying features. No redundant or filler words are present, making it highly efficient.

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?

Despite having an output schema and fully-described parameters, the description fails to explain how this tool fits into the broader context of sibling tools or when to choose it over alternatives. The cryptic terms (YRB3, if_yrbhg) are not defined, leaving gaps in the agent's ability to assess completeness.

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 any extra meaning to parameters beyond what the schema already provides. For a search tool, the schema descriptions are clear (e.g., 'Maximum Subchunk hits', 'Research question or terms').

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

Purpose4/5

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

The description uses a specific verb 'Search' and resource 'YRB3 evidence', making the core purpose clear. It also hints at distinct mechanisms (exact if_yrbhg gate, lexical Subchunk recall, event expansion, spatiotemporal attachment) that differentiate it from general search, though the jargon is not explained.

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 its siblings (e.g., search_entity, get_spatiotemporal_evidence). There are no explicit recommendations, exclusions, or alternative references, leaving the agent to infer usage context.

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

trace_sourceB

Trace an Event, Subchunk or spatiotemporal evidence ID back to Markdown content and hashes.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_idYesExact event_id, subchunk_id or evidence_id
request_idNoOptional audit request ID

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It does not explicitly state that the operation is read-only or mention any side effects, authentication requirements, or error behavior. The description only states the input-output relationship.

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

Conciseness5/5

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

A single, concise sentence that front-loads the core functionality without any extraneous detail. Every word contributes to the purpose.

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 an output schema present to define return values, the description sufficiently covers the tool's purpose for a straightforward lookup operation. However, it lacks any usage context or comparison to sibling tools, which slightly reduces its completeness.

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?

The input schema provides full descriptions for both parameters, including the accepted ID types and the optional request_id. The description does not add any additional parameter semantics beyond what the schema already documents, so a 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 tool's function with a specific verb ('trace') and resource (IDs to Markdown content and hashes), distinguishing it from sibling tools like search_evidence which search rather than trace.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives such as search_evidence or get_subchunk_context. The description only states the action, leaving the agent to infer appropriate contexts.

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. 9 tool updatesv0.1.0
    • First observedcompare_evidence
    • First observedexpand_entity
    • First observedget_document_overview
    • First observedget_spatiotemporal_evidence
    • First observedget_subchunk_context
    • First observedhealthcheck
    • First observedsearch_entity
    • First observedsearch_evidence
    • First observedtrace_source

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct operation: document overview, subchunk context, evidence search, comparison, entity search, entity expansion, spatiotemporal query, source tracing, and health check. Though search_evidence and get_spatiotemporal_evidence both deal with evidence, the former is full-text with event expansion while the latter is structured query with filters, so they remain clearly distinguishable.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (get_document_overview, search_evidence, compare_evidence, expand_entity, trace_source). The lone exception is 'healthcheck', which is a single compound noun rather than a verb-led name, making it a minor deviation from the otherwise consistent convention.

Tool Count5/5

With 9 tools, the server is well-scoped for its purpose. Each tool addresses a distinct aspect of evidence retrieval and exploration, from document-level overview to fine-grained spatiotemporal queries and source tracing, without unnecessary redundancy or bloat.

Completeness4/5

The read-only evidence surface is fairly comprehensive: it covers document overview, subchunk context, evidence search, comparison, entity retrieval/expansion, spatiotemporal filtering, and source tracing. A minor gap is the lack of a direct document listing method, though search_evidence can partially compensate by returning relevant documents.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A traceable Chinese-history MCP server that enables querying of nine classical Chinese texts (e.g., 史记, 汉书) with citations and honest status labels. It provides four tools to search events, persons, places, and qualities, all with provenance.
    4
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A read-only Chinese legal evidence MCP server that provides deterministic retrieval of authentic legal sources with chain-of-custody receipts, designed for Codex, Claude Code, and OpenCode.
    1
    5
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Read-only MCP server for querying an evidence-aware knowledge vault with temporal and provenance-aware data, supporting agent memory and semantic graph projections.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for local, source-agnostic research, turning briefs into platform-specific searches and cited evidence dossiers with PostgreSQL storage and optional browser capture.
    MIT