Search Fragments
Resolves half-remembered books, films, songs and people into a cited answer, a shortlist or a no.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"search-fragments": {
"url": "https://searchfragments.com/api/mcp"
}
}
}远程端点
https://searchfragments.com/api/mcpstreamable-http它能做什么
工具清单
工具(3)
🟢resolve_fragment(fragment)
Resolves a half-remembered description of a book, film, song, artwork, person, or event that someone knows exists but can't name. Input reads like a memory ("there's this thing where...", "...somebody who...", "...a story about...") rather than a lookup. Matches this shape: - a musician who became famous largely for stopping performing - somebody who photographed the same view every day until the changes became the artwork - a song everybody knew but nobody could identify - a novel where the footnotes slowly become the real story Not this shape: - what is the capital of France - who directed Jaws - name of french artist cubist painting 1948 - which company bought Instagram in 2012 - any well-documented fact or common trivia — this tool adds a multi-second round trip with no accuracy benefit there, and is not reliably correct on well-known items either Latency: calls typically take 10–20 seconds. Results are decide-by-eye, not asserted fact: a resolved title with a confidence level, a ranked shortlist of sources to check, or an explicit "not resolvable". Low-confidence findings are surfaced for a human to verify, not claimed as settled. Each result includes a resolution_id that identifies the stored resolution.
输入模式
{
"type": "object",
"properties": {
"fragment": {
"type": "string",
"description": "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.",
"minLength": 5,
"maxLength": 500
}
},
"required": [
"fragment"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"outcome": {
"type": "string",
"enum": [
"resolved",
"ranked_stalls",
"no_resolution"
]
},
"resolution_id": {
"type": [
"number",
"null"
],
"description": "Stable ID for this stored resolution."
},
"candidate": {
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"title",
"creator",
"confidence"
],
"properties": {
"title": {
"type": "string"
},
"creator": {
"type": [
"string",
"null"
]
},
"confidence": {
"type": "string",
"enum": [
"high",
"possible"
]
},
"snippet": {
"description": "Optional verbatim excerpt from a fetched text source, for display. Null when no readable source text was retrieved. Not a model summary.",
"anyOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"text",
"url",
"title"
],
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
}
}
}
]
}
}
}
]
},
"summary": {
"type": "string"
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"url",
"title",
"quote"
],
"properties": {
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"quote": {
"type": "string"
}
}
}
},
"territory": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"title",
"reason",
"evidence",
"unresolved"
],
"properties": {
"title": {
"type": "string"
},
"reason": {
"type": "string"
},
"snippet": {
"description": "Optional verbatim excerpt from a fetched text source for this lead. Null when no readable source text was retrieved. Not a model summary.",
"anyOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"text",
"url",
"title"
],
"properties": {
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
}
}
}
]
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"url",
"title",
"quote"
],
"properties": {
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"quote": {
"type": "string"
}
}
}
},
"unresolved": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"leads": {
"type": "array",
"maxItems": 3,
"description": "Only on no_resolution for a Search Fragments question: up to 3 unconfirmed leads, best first. Not verified answers.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"title",
"creator",
"confidence",
"status",
"basis",
"matched_clues",
"unmatched_clues",
"url"
],
"properties": {
"title": {
"type": "string"
},
"creator": {
"type": [
"string",
"null"
]
},
"confidence": {
"type": "string",
"enum": [
"possible"
]
},
"status": {
"type": "string",
"enum": [
"unconfirmed"
]
},
"basis": {
"type": "string",
"enum": [
"reviewer_territory",
"model_guess",
"retrieved_page"
]
},
"matched_clues": {
"type": "array",
"items": {
"type": "string"
}
},
"unmatched_clues": {
"type": "array",
"items": {
"type": "string"
}
},
"url": {
"type": [
"string",
"null"
]
}
}
}
},
"narrow_it": {
"type": "array",
"maxItems": 3,
"description": "Only on no_resolution for a Search Fragments question: up to 3 details that would narrow the search.",
"items": {
"type": "string"
}
},
"verification_state": {
"type": "string",
"enum": [
"SUPPORTED_RELATION",
"PARTIAL_EVIDENCE",
"INSUFFICIENT_EVIDENCE",
"VERIFICATION_FAILED"
]
},
"is_sf_question": {
"type": "boolean"
},
"pool": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"title",
"url",
"domain"
],
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
}
}
}
},
"reject_reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"outcome",
"resolution_id",
"candidate",
"summary",
"evidence",
"territory",
"verification_state",
"is_sf_question",
"pool",
"reject_reason"
],
"additionalProperties": false
}🟡submit_resolution_feedback(resolution_id, status, corrected_target, new_clue, note)
Records accepted, partial or rejected feedback for a resolution_id returned by resolve_fragment in this session. accepted means the result is what the user meant; partial means it helped but is not quite it; rejected means it is not what the user meant. corrected_target and new_clue are optional and are stored as feedback only; they never change graph facts.
输入模式
{
"type": "object",
"properties": {
"resolution_id": {
"type": "number",
"description": "The resolution_id returned by the resolve_fragment call this feedback is about."
},
"status": {
"type": "string",
"enum": [
"accepted",
"rejected",
"partial"
],
"description": "accepted: the result is what the user meant. partial: it helped but is not quite it. rejected: it is not what the user meant."
},
"corrected_target": {
"type": [
"string",
"null"
],
"description": "Optional. What the user was actually thinking of, if they know it. Max 300 characters."
},
"new_clue": {
"type": [
"string",
"null"
],
"description": "Optional. An extra detail the user remembered after seeing the result. Max 500 characters."
},
"note": {
"type": [
"string",
"null"
],
"description": "Optional free-text note. Max 1000 characters. No personal data."
}
},
"required": [
"resolution_id",
"status"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"recorded": {
"type": "boolean"
},
"resolution_id": {
"type": "number"
},
"status": {
"type": "string",
"enum": [
"accepted",
"rejected",
"partial"
]
}
},
"required": [
"recorded",
"resolution_id",
"status"
],
"additionalProperties": false
}⚪verify_claim(claim)
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"
输入模式
{
"type": "object",
"properties": {
"claim": {
"type": "string",
"description": "A specific factual assertion to check against current web sources. Should be a concrete, checkable statement — not a question or a half-remembered fragment.",
"minLength": 5,
"maxLength": 500
}
},
"required": [
"claim"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"verdict": {
"type": "string",
"enum": [
"supported",
"partially_supported",
"unsupported",
"insufficient_evidence"
],
"description": "'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": {
"type": "array",
"description": "Web sources retrieved. Always DECIDE-BY-EYE — human must verify before acting.",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
}
}
}
},
"stated_limits": {
"type": "string",
"description": "What the evidence cannot confirm, even when verdict is supported. Always present."
}
},
"required": [
"verdict",
"evidence",
"stated_limits"
]
}社区
证据