Search Fragments
Server Details
Search Fragments — two tools for the queries an agent can't place, both built to decline rather than guess. resolve_fragment takes a half-remembered, cross-source query ("a musician who became famous for stopping performing") and returns a grounded answer, ranked web sources to confirm by eye, or an explicit no-resolution. verify_claim takes a specific factual assertion and returns supported, partially_supported, insufficient_evidence, or unsupported, with cited evidence and a stated_limits field that is always present. There is no confidence score — insufficient_evidence fires freely, and unsupported requires a source that explicitly contradicts, never mere absence of confirmation. Every verdict is decide-by-eye: "supported" means current web sources confirm it, not that the claim is true. Calibrated against 18 known claims before release. Free, no signup. Streamable HTTP (MCP 2025-11-25). Read-only.
- Status
- Healthy
- Uptime
- 100.0% over 71 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Searchfragments/search-fragments-mcp
- GitHub Stars
- 0
TDQS
Scored across 3 tools
The three tools have clearly separate roles: resolve_fragment identifies half-remembered works, verify_claim checks a specific factual assertion, and submit_resolution_feedback reports the user's reaction to a resolution. The descriptions explicitly warn against using resolve_fragment for claim checking and against using verify_claim for identification, reducing misselection.
All names use consistent snake_case with a leading verb: resolve_fragment, submit_resolution_feedback, verify_claim. The pattern is predictable even though submit_resolution_feedback has a longer noun phrase.
Three tools are well-scoped for a focused search-and-verification server: one identifies, one collects feedback, and one verifies claims. Each tool earns its place without redundant surface area.
The core lifecycle is covered: resolution, post-resolution feedback, and separate factual verification. A minor gap is the lack of any way to retrieve or continue a prior resolution session beyond the immediate feedback loop, but agents can work around this.
Available Tools
3 toolsresolve_fragmentResolve FragmentAInspect
Pieces together the name of a film, TV or radio show, song, book, game, quote, person, place, event or research study from the fragments a user remembers: a scene, a line, a face, roughly when. Pass every fragment in the user's own words, even uncertain ones. It searches many sources and fits them together. A shortlist or an honest "can't place it" is still useful. Use it when your own search couldn't place it. Not for known titles, trivia, recommendations or checking claims (use verify_claim). When the user says whether this helped, report it with submit_resolution_feedback.
| Name | Required | Description | Default |
|---|---|---|---|
| fragment | Yes | The half-remembered or fragment-shaped query, in the user's own words. Must be at least 5 characters and describe the thing being recalled by premise, plot, relationship, or context. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pool | Yes | |
| leads | No | Only on no_resolution for a Search Fragments question: up to 3 unconfirmed leads, best first. Not verified answers. |
| outcome | Yes | |
| summary | Yes | |
| evidence | Yes | |
| candidate | Yes | |
| narrow_it | No | Only on no_resolution for a Search Fragments question: up to 3 details that would narrow the search. |
| territory | Yes | |
| reject_reason | Yes | |
| resolution_id | Yes | Stable ID for this stored resolution. |
| is_sf_question | Yes | |
| verification_state | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false) already establish the safety and open-world profile, so the bar is lower. The description still adds real value by setting outcome expectations: it searches many sources, may return only a shortlist, and an honest 'can't place it' is acceptable rather than a failure. It doesn't mention latency or any cost, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then usage, then escalation paths; six short sentences with little waste. The sentence about shortlists being useful is slightly soft but does set expectations, so only mildly padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the description covers purpose, input expectations, usage boundaries, alternative tools, and the feedback follow-up. Nothing an agent needs to call this correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by instructing the agent to pass fragments in the user's own words, including uncertain ones — a meaningful behavioral instruction about what content to supply that the schema's format constraints don't convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the name of a film/TV/radio show/song/book/game/quote/person/place/event/study) and the mechanism (assembling it from remembered fragments). An agent can immediately distinguish this from verify_claim and submit_resolution_feedback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit trigger ('Use it when your own search couldn't place it'), explicit exclusions ('Not for known titles, trivia, recommendations or checking claims'), and names the alternative tool for the excluded case (verify_claim). Also routes the feedback follow-up to submit_resolution_feedback.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_resolution_feedbackSubmit Resolution FeedbackAInspect
After the user reacts to a resolve_fragment result, call this with its resolution_id. accepted: it is what they meant. partial: it helped but is not quite it. rejected: it is not what they meant. If they recognised an item in the shortlist or leads, send picked_rank (1 = first item) or picked_url; if nothing fitted, send none_fitted: true. corrected_target and new_clue are optional and are stored as feedback only; they never change graph facts.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional free-text note. Max 1000 characters. No personal data. | |
| status | Yes | accepted: the result is what the user meant. partial: it helped but is not quite it. rejected: it is not what the user meant. | |
| new_clue | No | Optional. An extra detail the user remembered after seeing the result. Max 500 characters. | |
| picked_url | No | URL of the item the user recognised. | |
| none_fitted | No | True if the user looked and nothing fitted. | |
| picked_rank | No | Position of the shortlist or lead item the user recognised. | |
| resolution_id | Yes | The resolution_id returned by the resolve_fragment call this feedback is about. | |
| corrected_target | No | Optional. What the user was actually thinking of, if they know it. Max 300 characters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| recorded | Yes | |
| resolution_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, and the description adds genuinely new behavior: corrected_target and new_clue are 'stored as feedback only; they never change graph facts,' which tells the agent this is a safe, non-mutating-in-effect write. Rate limits, permissions, or what happens on an unknown resolution_id are not covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The when-to-call clause is front-loaded and every sentence maps to a decision the caller must make. It is dense but earns its length; minor duplication of the status definitions that also appear in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, a mutation annotation profile, and an output schema (so return values need no explanation), the description covers trigger, parameter selection, and side effects. Only edge cases such as invalid or stale resolution_id handling are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description goes further by explaining the choice logic among picked_rank ('1 = first item'), picked_url, and none_fitted, and by tying status values to observed user reactions. It adds meaning beyond the schema text rather than repeating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (submit feedback with the resolution_id from a resolve_fragment result) and ties it to the exact sibling that produces that ID, so it is distinguishable from resolve_fragment and verify_claim without reading a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the trigger condition precisely ('After the user reacts to a resolve_fragment result') and gives per-case guidance for status and for the shortlist/leads outcomes. It does not say when not to call or what to do if no prior resolution exists, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_claimVerify ClaimAIdempotentInspect
Checks whether current web sources support a specific factual assertion. Takes a claim as a natural-language statement; returns a verdict with cited evidence and stated limits.
Verdict set:
"supported" — multiple independent sources directly confirm the specific claimed detail
"partially_supported" — sources confirm the entity and domain; specific detail is pointed to but not directly stated
"insufficient_evidence" — sources don't address the specific claim; fires freely, including when the entity is well-known but the specific detail is undocumented
"unsupported" — a credible source explicitly contradicts the claim
All verdicts are DECIDE-BY-EYE. A "supported" verdict means current web sources confirm it — not that it is true. Evidence may be incomplete, biased, or outdated. The stated_limits field is always present and identifies what the evidence cannot confirm.
Good input shape (specific, checkable assertions):
"Werner Herzog dragged a full-size steamship over a hill during the filming of Fitzcarraldo"
"Glenn Gould stopped giving live concerts in 1964"
"The Backrooms photograph originated on 4chan"
Checks one specific factual statement. Not for identifying half-remembered works.
Not this shape:
"there's a documentary about a filmmaker dragging a boat over a mountain"
"a musician famous for stopping performing"
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | A specific factual assertion to check against current web sources. Should be a concrete, checkable statement — not a question or a half-remembered fragment. |
Output Schema
| Name | Required | Description |
|---|---|---|
| verdict | Yes | 'supported' = multiple independent sources directly confirm the specific claimed detail. 'partially_supported' = sources confirm entity + domain; detail pointed to but not directly stated. 'unsupported' = a credible source explicitly contradicts the claim. 'insufficient_evidence' = pool doesn't address the specific claim; fires freely. |
| evidence | Yes | Web sources retrieved. Always DECIDE-BY-EYE — human must verify before acting. |
| stated_limits | Yes | What the evidence cannot confirm, even when verdict is supported. Always present. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety flags, but the description adds the whole verdict taxonomy (supported/partially_supported/insufficient_evidence/unsupported) with firing conditions, the critical 'DECIDE-BY-EYE' framing that 'supported' means sources confirm rather than truth, and the guarantee that stated_limits is always present. That is rich behavioral context unavailable in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then a clearly labeled verdict set, then input-shape guidance. Slightly long, but each block (verdict definitions, decide-by-eye caveat) carries decision-relevant information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param tool with an output schema, the description covers everything an agent needs: invocation criteria, verdict interpretation, and the reliability caveat. Return-value details are deferred to the output schema, which exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single, fully documented parameter, so baseline is 3. The description adds genuine meaning beyond the schema by showing the required input shape (specific, checkable assertions vs. half-remembered fragments) and the 500-char-scale intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('checks whether current web sources support a specific factual assertion') and defines the output shape (verdict + cited evidence). It also explicitly carves out what it is NOT ('Not for identifying half-remembered works'), which separates it cleanly from the resolve_fragment sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use examples ('Werner Herzog dragged a full-size steamship...') and explicit non-examples ('a musician famous for stopping performing'), plus the rule that it checks one specific factual statement. An agent can decide between this and resolve_fragment without inference.
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 tool update
- Changed
submit_resolution_feedback3 fields changed- added
Input schema / properties / none_fittedAdded value: +{ + "description": "True if the user looked and nothing fitted.", + "type": "boolean" +} - added
Input schema / properties / picked_rankAdded value: +{ + "description": "Position of the shortlist or lead item the user recognised.", + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / picked_urlAdded value: +{ + "description": "URL of the item the user recognised.", + "type": "string" +}
1 tool update
- Changed
resolve_fragment2 fields changed- removed
Output schema / properties / sf_judgementRemoved value: -{ - "additionalProperties": false, - "properties": {}, - "required": [], - "type": "object" -} - changed
Output schema / requiredPrevious value: -[ - "outcome", - "resolution_id", - "candidate", - "summary", - "evidence", - "territory", - "verification_state", - "is_sf_question", - "pool", - "reject_reason", - "sf_judgement" -]New value: +[ + "outcome", + "resolution_id", + "candidate", + "summary", + "evidence", + "territory", + "verification_state", + "is_sf_question", + "pool", + "reject_reason" +]
1 tool update
- Changed
resolve_fragment3 fields changed- changed
Output schema / properties / candidate / oneOfPrevious value: -[ - { - "type": "null" - }, - { - "additionalProperties": false, - "properties": { - "confidence": { - "enum": [ - "high" - ], - "type": "string" - }, - "creator": { - "type": [ - "string", - "null" - ] - }, - "snippet": { - "anyOf": [ - { - "type": "null" - }, - { - "additionalProperties": false, - "properties": { - "text": { - "type": "string" - }, - "title": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "text", - "url", - "title" - ], - "type": "object" - } - ], - "description": "Optional verbatim excerpt from a fetched text source, for display. Null when no readable source text was retrieved. Not a model summary." - }, - "title": { - "type": "string" - } - }, - "required": [ - "title", - "creator", - "confidence" - ], - "type": "object" - } -]New value: +[ + { + "type": "null" + }, + { + "additionalProperties": false, + "properties": { + "confidence": { + "enum": [ + "high", + "possible" + ], + "type": "string" + }, + "creator": { + "type": [ + "string", + "null" + ] + }, + "snippet": { + "anyOf": [ + { + "type": "null" + }, + { + "additionalProperties": false, + "properties": { + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "text", + "url", + "title" + ], + "type": "object" + } + ], + "description": "Optional verbatim excerpt from a fetched text source, for display. Null when no readable source text was retrieved. Not a model summary." + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "creator", + "confidence" + ], + "type": "object" + } +] - added
Output schema / properties / leadsAdded value: +{ + "description": "Only on no_resolution for a Search Fragments question: up to 3 unconfirmed leads, best first. Not verified answers.", + "items": { + "additionalProperties": false, + "properties": { + "basis": { + "enum": [ + "reviewer_territory", + "model_guess", + "retrieved_page" + ], + "type": "string" + }, + "confidence": { + "enum": [ + "possible" + ], + "type": "string" + }, + "creator": { + "type": [ + "string", + "null" + ] + }, + "matched_clues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "enum": [ + "unconfirmed" + ], + "type": "string" + }, + "title": { + "type": "string" + }, + "unmatched_clues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "title", + "creator", + "confidence", + "status", + "basis", + "matched_clues", + "unmatched_clues", + "url" + ], + "type": "object" + }, + "maxItems": 3, + "type": "array" +} - added
Output schema / properties / narrow_itAdded value: +{ + "description": "Only on no_resolution for a Search Fragments question: up to 3 details that would narrow the search.", + "items": { + "type": "string" + }, + "maxItems": 3, + "type": "array" +}
1 tool update
- Changed
resolve_fragment1 field changed- changed
Output schema / properties / resolution_id / descriptionPrevious value: -"Stable ID for this resolution. Pass it to submit_resolution_feedback after the user recognises, rejects, or partially recognises the result."New value: +"Stable ID for this stored resolution."
2 tool updates
- Changed
resolve_fragment10 fields changed- removed
Output schema / properties / sf_judgement / properties / breeding_previewRemoved value: -{ - "type": "object" -} - removed
Output schema / properties / sf_judgement / properties / cache_reasonRemoved value: -{ - "type": "string" -} - removed
Output schema / properties / sf_judgement / properties / missing_positionRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / sf_judgement / properties / model_idRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / sf_judgement / properties / model_version_idRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / sf_judgement / properties / routeRemoved value: -{ - "items": { - "type": "string" - }, - "type": "array" -} - removed
Output schema / properties / sf_judgement / properties / shapeRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / sf_judgement / properties / structural_cache_hitRemoved value: -{ - "type": "boolean" -} - removed
Output schema / properties / sf_judgement / properties / structural_confidenceRemoved value: -{ - "type": [ - "number", - "null" - ] -} - removed
Output schema / properties / sf_judgement / properties / typed_ingredientsRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "certainty": { - "enum": [ - "LOW", - "MEDIUM" - ], - "type": "string" - }, - "families": { - "items": { - "type": "string" - }, - "type": "array" - }, - "value": { - "type": "string" - } - }, - "required": [ - "value", - "families", - "certainty" - ], - "type": "object" - }, - "type": "array" -}
- Changed
submit_resolution_feedback5 fields changed- added
Input schema / properties / corrected_target / descriptionAdded value: +"Optional. What the user was actually thinking of, if they know it. Max 300 characters." - added
Input schema / properties / new_clue / descriptionAdded value: +"Optional. An extra detail the user remembered after seeing the result. Max 500 characters." - added
Input schema / properties / note / descriptionAdded value: +"Optional free-text note. Max 1000 characters. No personal data." - added
Input schema / properties / resolution_id / descriptionAdded value: +"The resolution_id returned by the resolve_fragment call this feedback is about." - added
Input schema / properties / status / descriptionAdded value: +"accepted: the result is what the user meant. partial: it helped but is not quite it. rejected: it is not what the user meant."
1 tool update
- Changed
resolve_fragment3 fields changed- removed
Output schema / properties / evaluator_versionRemoved value: -{ - "enum": [ - "sf-evidence-v2" - ], - "type": "string" -} - changed
Output schema / properties / sf_judgement / requiredPrevious value: -[ - "structural_cache_hit", - "cache_reason" -]New value: +[] - changed
Output schema / requiredPrevious value: -[ - "outcome", - "resolution_id", - "candidate", - "summary", - "evidence", - "territory", - "verification_state", - "evaluator_version", - "is_sf_question", - "pool", - "reject_reason", - "sf_judgement" -]New value: +[ + "outcome", + "resolution_id", + "candidate", + "summary", + "evidence", + "territory", + "verification_state", + "is_sf_question", + "pool", + "reject_reason", + "sf_judgement" +]
1 tool update
- Changed
resolve_fragment2 fields changed- removed
Output schema / properties / route_assets_appliedRemoved value: -{ - "items": { - "type": "string" - }, - "type": "array" -} - changed
Output schema / requiredPrevious value: -[ - "outcome", - "resolution_id", - "candidate", - "summary", - "evidence", - "territory", - "verification_state", - "evaluator_version", - "is_sf_question", - "pool", - "reject_reason", - "route_assets_applied", - "sf_judgement" -]New value: +[ + "outcome", + "resolution_id", + "candidate", + "summary", + "evidence", + "territory", + "verification_state", + "evaluator_version", + "is_sf_question", + "pool", + "reject_reason", + "sf_judgement" +]
1 tool update
- Changed
resolve_fragment1 field changed- changed
Output schema / properties / sf_judgement / requiredPrevious value: -[ - "shape", - "missing_position", - "model_id", - "model_version_id", - "structural_confidence", - "typed_ingredients", - "route", - "structural_cache_hit", - "cache_reason", - "breeding_preview" -]New value: +[ + "structural_cache_hit", + "cache_reason" +]
1 tool update
- Changed
resolve_fragment2 fields changed- changed
Output schema / properties / candidate / oneOfPrevious value: -[ - { - "type": "null" - }, - { - "additionalProperties": false, - "properties": { - "confidence": { - "enum": [ - "high" - ], - "type": "string" - }, - "creator": { - "type": [ - "string", - "null" - ] - }, - "title": { - "type": "string" - } - }, - "required": [ - "title", - "creator", - "confidence" - ], - "type": "object" - } -]New value: +[ + { + "type": "null" + }, + { + "additionalProperties": false, + "properties": { + "confidence": { + "enum": [ + "high" + ], + "type": "string" + }, + "creator": { + "type": [ + "string", + "null" + ] + }, + "snippet": { + "anyOf": [ + { + "type": "null" + }, + { + "additionalProperties": false, + "properties": { + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "text", + "url", + "title" + ], + "type": "object" + } + ], + "description": "Optional verbatim excerpt from a fetched text source, for display. Null when no readable source text was retrieved. Not a model summary." + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "creator", + "confidence" + ], + "type": "object" + } +] - added
Output schema / properties / territory / items / properties / snippetAdded value: +{ + "anyOf": [ + { + "type": "null" + }, + { + "additionalProperties": false, + "properties": { + "text": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "text", + "url", + "title" + ], + "type": "object" + } + ], + "description": "Optional verbatim excerpt from a fetched text source for this lead. Null when no readable source text was retrieved. Not a model summary." +}
2 tool updates
- Changed
resolve_fragment2 fields changed- added
Output schema / properties / resolution_idAdded value: +{ + "description": "Stable ID for this resolution. Pass it to submit_resolution_feedback after the user recognises, rejects, or partially recognises the result.", + "type": [ + "number", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "outcome", - "candidate", - "summary", - "evidence", - "territory", - "verification_state", - "evaluator_version", - "is_sf_question", - "pool", - "reject_reason", - "route_assets_applied", - "sf_judgement" -]New value: +[ + "outcome", + "resolution_id", + "candidate", + "summary", + "evidence", + "territory", + "verification_state", + "evaluator_version", + "is_sf_question", + "pool", + "reject_reason", + "route_assets_applied", + "sf_judgement" +]
- Added
submit_resolution_feedback
1 tool update
- Changed
resolve_fragment19 fields changed- changed
Input schema / properties / fragment / descriptionPrevious value: -"The half-remembered or fragment-shaped query, in the user's own words. Should be at least 5 words and describe the thing being recalled by premise, plot, relationship, or context."New value: +"The half-remembered or fragment-shaped query, in the user's own words. Must be at least 5 characters and describe the thing being recalled by premise, plot, relationship, or context." - changed
Input schema / properties / fragment / minLengthPrevious value: -3New value: +5 - added
Output schema / additionalPropertiesAdded value: +false - removed
Output schema / properties / candidate / descriptionRemoved value: -"Top candidate when outcome=resolved; null otherwise. DECIDE-BY-EYE — human must confirm." - changed
Output schema / properties / candidate / oneOfPrevious value: -[ - { - "type": "null" - }, - { - "properties": { - "confidence": { - "description": "Legacy compatibility field; resolution requires the evidence verification state, not model confidence.", - "enum": [ - "high" - ], - "type": "string" - }, - "creator": { - "description": "Director, author, artist, or other attribution; null if not applicable.", - "type": [ - "string", - "null" - ] - }, - "title": { - "description": "The identified title, entity name, or answer.", - "type": "string" - } - }, - "required": [ - "title", - "creator", - "confidence" - ], - "type": "object" - } -]New value: +[ + { + "type": "null" + }, + { + "additionalProperties": false, + "properties": { + "confidence": { + "enum": [ + "high" + ], + "type": "string" + }, + "creator": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "creator", + "confidence" + ], + "type": "object" + } +] - added
Output schema / properties / evaluator_versionAdded value: +{ + "enum": [ + "sf-evidence-v2" + ], + "type": "string" +} - added
Output schema / properties / evidenceAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "quote": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "title", + "quote" + ], + "type": "object" + }, + "type": "array" +} - removed
Output schema / properties / is_sf_question / descriptionRemoved value: -"true if the fragment is a valid memory-recall query; false if it was rejected as a direct lookup or research prompt." - removed
Output schema / properties / outcome / descriptionRemoved value: -"'resolved' = candidate supported by retrieved evidence for the requested relationship. 'ranked_stalls' = web results returned but no confident semantic identification — pool for human review. 'no_resolution' = not an SF question, or pipeline produced an empty pool." - removed
Output schema / properties / pool / descriptionRemoved value: -"Ranked web results. Always DECIDE-BY-EYE — human must confirm before any graph write." - added
Output schema / properties / pool / items / additionalPropertiesAdded value: +false - added
Output schema / properties / pool / items / requiredAdded value: +[ + "title", + "url", + "domain" +] - removed
Output schema / properties / reject_reason / descriptionRemoved value: -"Why the fragment was rejected; non-null only when is_sf_question=false." - added
Output schema / properties / route_assets_appliedAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / sf_judgementAdded value: +{ + "additionalProperties": false, + "properties": { + "breeding_preview": { + "type": "object" + }, + "cache_reason": { + "type": "string" + }, + "missing_position": { + "type": [ + "string", + "null" + ] + }, + "model_id": { + "type": [ + "string", + "null" + ] + }, + "model_version_id": { + "type": [ + "string", + "null" + ] + }, + "route": { + "items": { + "type": "string" + }, + "type": "array" + }, + "shape": { + "type": [ + "string", + "null" + ] + }, + "structural_cache_hit": { + "type": "boolean" + }, + "structural_confidence": { + "type": [ + "number", + "null" + ] + }, + "typed_ingredients": { + "items": { + "additionalProperties": false, + "properties": { + "certainty": { + "enum": [ + "LOW", + "MEDIUM" + ], + "type": "string" + }, + "families": { + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "type": "string" + } + }, + "required": [ + "value", + "families", + "certainty" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "shape", + "missing_position", + "model_id", + "model_version_id", + "structural_confidence", + "typed_ingredients", + "route", + "structural_cache_hit", + "cache_reason", + "breeding_preview" + ], + "type": "object" +} - added
Output schema / properties / summaryAdded value: +{ + "type": "string" +} - added
Output schema / properties / territoryAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "evidence": { + "items": { + "additionalProperties": false, + "properties": { + "quote": { + "type": "string" + }, + "title": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "title", + "quote" + ], + "type": "object" + }, + "type": "array" + }, + "reason": { + "type": "string" + }, + "title": { + "type": "string" + }, + "unresolved": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "title", + "reason", + "evidence", + "unresolved" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / verification_stateAdded value: +{ + "enum": [ + "SUPPORTED_RELATION", + "PARTIAL_EVIDENCE", + "INSUFFICIENT_EVIDENCE", + "VERIFICATION_FAILED" + ], + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "outcome", - "is_sf_question", - "candidate", - "pool", - "reject_reason" -]New value: +[ + "outcome", + "candidate", + "summary", + "evidence", + "territory", + "verification_state", + "evaluator_version", + "is_sf_question", + "pool", + "reject_reason", + "route_assets_applied", + "sf_judgement" +]
1 tool update
- Changed
resolve_fragment2 fields changed- changed
Output schema / properties / candidate / oneOfPrevious value: -[ - { - "type": "null" - }, - { - "properties": { - "confidence": { - "description": "Semantic pass confidence level. Only high-confidence identifications are resolved; medium degrades to ranked_stalls.", - "enum": [ - "high" - ], - "type": "string" - }, - "creator": { - "description": "Director, author, artist, or other attribution; null if not applicable.", - "type": [ - "string", - "null" - ] - }, - "title": { - "description": "The identified title, entity name, or answer.", - "type": "string" - } - }, - "required": [ - "title", - "creator", - "confidence" - ], - "type": "object" - } -]New value: +[ + { + "type": "null" + }, + { + "properties": { + "confidence": { + "description": "Legacy compatibility field; resolution requires the evidence verification state, not model confidence.", + "enum": [ + "high" + ], + "type": "string" + }, + "creator": { + "description": "Director, author, artist, or other attribution; null if not applicable.", + "type": [ + "string", + "null" + ] + }, + "title": { + "description": "The identified title, entity name, or answer.", + "type": "string" + } + }, + "required": [ + "title", + "creator", + "confidence" + ], + "type": "object" + } +] - changed
Output schema / properties / outcome / descriptionPrevious value: -"'resolved' = strong candidate identified (semantic pass returned high confidence title). 'ranked_stalls' = web results returned but no confident semantic identification — pool for human review. 'no_resolution' = not an SF question, or pipeline produced an empty pool."New value: +"'resolved' = candidate supported by retrieved evidence for the requested relationship. 'ranked_stalls' = web results returned but no confident semantic identification — pool for human review. 'no_resolution' = not an SF question, or pipeline produced an empty pool."
Related MCP Connectors
Check whether a real-world fact can be verified before an agent acts on it. Free, no auth.
Public web tools for agents: product extraction, claim checks, webpage QA and ranked audits.
Cited web evidence and fact checking for AI agents. $0.01 per call, no API key.
One-stop claim verification for AI agents: verdicts with confidence, evidence, signed receipts.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceEnables agents to fact-check claims, conduct verified research, make typed decisions with calibrated probabilities, and scan token risks through a hosted server with no API key required.MIT- AlicenseAqualityAmaintenanceEvidence-backed web research for AI agents. Real-time search with cited claims, confidence scores, and compare mode showing raw LLM hallucination vs evidence-backed answers.520Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables agents and users to extract factual claims from text, URLs, files, or AI answers and judge each against live web sources with confidence, evidence, and citations. It also integrates with MCP-capable clients so claims can be checked before an answer is shown.288 npmApache 2.0
- AlicenseAqualityAmaintenanceEnables agents to verify claims against cited evidence, screen content for prompt injection and relevance before reading it, and rank candidates by meaning, all with calibrated probability verdicts.124,226 npm549MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.