# Search Fragments

> Pieces together films, shows, songs, books, quotes, places and studies from remembered fragments.

- name: com.searchfragments/search-fragments
- version: 0.2.5
- connection class: R0 (autonomous)
- trust: 100/100
- quality: 72/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.searchfragments%2Fsearch-fragments
- tools: https://api.protogrid.dev/v1/servers/com.searchfragments%2Fsearch-fragments/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "search-fragments": {
      "type": "http",
      "url": "https://searchfragments.com/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 100
- drivers: +repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% +updated-8d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 72/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,150 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 16 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 1,150 tokens to load them all
- tool set hash: 8ad181d7cd32ec830e1711c0190a69e1
- tools last changed: 2026-10-20T11:12:19.424Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.searchfragments/search-fragments.svg)](https://protogrid.dev/servers/com.searchfragments/search-fragments)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-20 `submit_resolution_feedback` changed (description, inputSchema)
  - before: 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.
  - after: 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.
- 2026-10-20 `resolve_fragment` changed (description)
  - before: 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).
  - after: 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.
- 2026-10-12 `resolve_fragment` changed (description) **meaning changed**
  - before: 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.
  - after: 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).
- 2026-10-04 `resolve_fragment` changed (outputSchema)
- 2026-10-03 `resolve_fragment` changed (outputSchema)
- 2026-10-01 `verify_claim` changed (description, annotations)
  - before: Call verify_claim when you have a specific factual assertion and want to know whether current web sources support it. 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" Not this shape — these need resolve_fragment instead: - "there's a documentary about a filmmaker dragging a boat over a mountain" - "a musician famous for stopping performing"
  - after: 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"
- 2026-10-01 `submit_resolution_feedback` changed (description, annotations)
  - before: Attach human/agent recognition feedback to a prior resolve_fragment result. Use the resolution_id returned by resolve_fragment. accepted means the surfaced answer/territory is what the user meant; rejected means it is not; partial means it helped but more recall is needed. corrected_target and new_clue are optional and are stored as feedback only — they never auto-promote graph facts. Call it once per result, from the same MCP session that made the resolve_fragment call. Do not include personal data.
  - after: 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.
- 2026-10-01 `resolve_fragment` changed (description, outputSchema, annotations)
  - before: Call resolve_fragment when a user describes something they can only half-remember — a book, film, song, artwork, person, or event they know exists but can't name — instead of asking a direct question. If the input reads like a memory ("there's this thing where...", "...somebody who...", "...a story about...") rather than a lookup, this is the right tool. 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 — answer directly or use normal search instead: - 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; do not treat slowness as failure. 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. After the user reacts to the result, call submit_resolution_feedback once with the resolution_id from this result and accepted (it is what they meant), partial (it helped but is not quite it) or rejected (it is not it). Use the same connection that made this call.
  - after: 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.
- 2026-10-01 `submit_resolution_feedback` changed (description)
  - before: Attach human/agent recognition feedback to a prior resolve_fragment result. Use the resolution_id returned by resolve_fragment. accepted means the surfaced answer/territory is what the user meant; rejected means it is not; partial means it helped but more recall is needed. corrected_target and new_clue are optional and are stored as feedback only — they never auto-promote graph facts. Call it once per result, from the same connection (same token, or same MCP session for anonymous access) that made the resolve_fragment call. Do not include personal data.
  - after: Attach human/agent recognition feedback to a prior resolve_fragment result. Use the resolution_id returned by resolve_fragment. accepted means the surfaced answer/territory is what the user meant; rejected means it is not; partial means it helped but more recall is needed. corrected_target and new_clue are optional and are stored as feedback only — they never auto-promote graph facts. Call it once per result, from the same MCP session that made the resolve_fragment call. Do not include personal data.
- 2026-10-01 `resolve_fragment` changed (description)
  - before: Call resolve_fragment when a user describes something they can only half-remember — a book, film, song, artwork, person, or event they know exists but can't name — instead of asking a direct question. If the input reads like a memory ("there's this thing where...", "...somebody who...", "...a story about...") rather than a lookup, this is the right tool. 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 — answer directly or use normal search instead: - 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; do not treat slowness as failure. Why call this instead of answering directly: on hard, under-documented fragment queries, LLMs asked to answer directly tend to invent things that don't exist rather than admit uncertainty. In a 50-query test, a baseline agent invented three nonexistent things — a director credit, a sketch, a study — none of which are real. Search Fragments returned none of those three invented things. 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. After the user reacts to the result, call submit_resolution_feedback once with the resolution_id from this result and accepted (it is what they meant), partial (it helped but is not quite it) or rejected (it is not it). Use the same connection that made this call.
  - after: Call resolve_fragment when a user describes something they can only half-remember — a book, film, song, artwork, person, or event they know exists but can't name — instead of asking a direct question. If the input reads like a memory ("there's this thing where...", "...somebody who...", "...a story about...") rather than a lookup, this is the right tool. 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 — answer directly or use normal search instead: - 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; do not treat slowness as failure. 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. After the user reacts to the result, call submit_resolution_feedback once with the resolution_id from this result and accepted (it is what they meant), partial (it helped but is not quite it) or rejected (it is not it). Use the same connection that made this call.

Full history: https://api.protogrid.dev/v1/servers/com.searchfragments%2Fsearch-fragments/changes

## Remotes

- https://searchfragments.com/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (3)

- `resolve_fragment`: 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.
- `submit_resolution_feedback`: 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.
- `verify_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"
