SearchPipe
Server Details
Real-time web search for AI agents: ranked results, source URLs, and optional AI answers.
- Status
- Healthy
- Uptime
- 94.8% over 39 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- SearchPipe/searchpipe-mcp
- GitHub Stars
- 0
TDQS
Scored across 3 tools
The three tools target clearly distinct actions: checking credit balance, running a search, and verifying a claim. There is no plausible way for an agent to confuse them, and each description scopes its purpose tightly.
All tools follow a consistent `searchpipe_` prefix with an action-oriented suffix (account_balance, search, verify). The pattern is predictable and readable throughout.
Three tools is on the lean side but well-matched to a focused search pipeline API: pre-flight balance check, the core search, and claim verification. Each earns its place, though a few more operations could exist reasonably.
The core workflow (check credits, search, verify) is fully covered with clear parameter surfaces. Minor gaps exist like usage/history inspection or async/streaming (noted as REST-only), but these are workable around.
Available Tools
3 toolssearchpipe_account_balanceAInspect
Check the remaining credit balance for this API key — free to call, no credits charged and no usage logged.
Returns the same fields as the REST GET /v1/account/balance endpoint: balance
(total remaining credits, 2 decimal places), permanent (recharge/bonus credits that
never expire), expiring (subscription credits, valid 30 days), upcoming (renewal
credits already granted but not active until the next cycle), next_expiry
(soonest expiry among time-limited credits), free_tier_credits (free monthly
allowance size) and unlimited (admin/owner exemption flag).
Poll this before batch jobs to avoid hitting 402 insufficient-credits mid-run. Works even when the account email is not verified yet.
api_key: an API key starting with sp-. It may also be provided through the SEARCHPIPE_API_KEY
environment variable (the parameter takes precedence).
Returns a tool error on authentication failure (missing, invalid, or revoked key).
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| balance | Yes | |
| expiring | Yes | |
| upcoming | No | |
| permanent | Yes | |
| unlimited | No | |
| next_expiry | Yes | |
| free_tier_credits | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so well: it says the call is free, charges no credits, logs no usage, and returns a tool error on authentication failure. It also discloses the unverified-email edge case, which is valuable beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is well structured and front-loads the core purpose and zero-cost behavior. It is somewhat long because it enumerates return fields even though an output schema exists, but the field meanings add useful semantic context rather than pure repetition.
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 one-parameter balance-checking tool with an output schema, the description covers purpose, usage timing, authentication behavior, return-field semantics, and an important edge case. Nothing needed to invoke it 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?
Schema description coverage is 0%, so the description must compensate for the lone api_key parameter. It explains the expected `sp-` prefix, the SEARCHPIPE_API_KEY environment variable fallback, and that the explicit parameter takes precedence.
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 states a specific verb and resource: checking the remaining credit balance for the API key. It immediately distinguishes this from search/verify sibling tools by focusing on account balance rather than searching or verification.
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 gives clear usage context: poll before batch jobs to avoid 402 insufficient-credits errors, and notes it works even when the account email is not verified. It does not explicitly state when not to use it or name alternatives, but there are no obvious balance-checking alternatives among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchpipe_searchAInspect
Run an AI-powered web search for a query: multi-engine retrieval → page fetching → LLM reranking → optional AI answer.
Uses the same commercial pipeline and accepts the same parameters as the HTTP POST /search endpoint: authentication → rate limiting → input moderation → credit charge → search → output moderation + AI-generated marker → refund on failure → usage logging. Credits are charged per call.
search_depth: "basic" (default, 1 credit) / "advanced" (2 credits) / "fast" (0.5 credit — skips all
LLM steps: results keep engine order with engine-provided relevance scores, no answer is generated).
include_domains / exclude_domains: restrict or exclude domains ("example.com" matches the domain and
any subdomain; "*.example.com" matches subdomains only; "example.com/docs" also requires the URL path
to start with /docs; exclude wins over include).
time_range: recency window "day" / "week" / "month" / "year"; start_date / end_date: ISO YYYY-MM-DD
bounds (results without a known publish date are not filtered).
topic: "general" (default) or "news" (always adds a dedicated news channel to retrieval).
country: ISO 3166-1 alpha-2 region bias (e.g. "US"); language: upstream market language (e.g. "en",
"zh-CN"); combined into the upstream market locale.
safe_search: 0 off (default) / 1 moderate / 2 strict.
include_images: also run an image search and return an images array alongside results.
output_type: "search_results" (default) / "answer" (same as include_answer=true) / "structured"
(grounded JSON object per output_schema — requires output_schema; on failure output is null).
objective: optional one-line search intent from the calling agent; improves reranking only.
stream is REST-only and not available over MCP.
api_key: an API key starting with sp-. It may also be provided through the SEARCHPIPE_API_KEY
environment variable (the parameter takes precedence).
Returns Tavily-style structured results (query / answer / results[] / images[] / output).
Returns a tool error on authentication failure, insufficient credits, content violation, invalid
parameters (422), or retrieval failure.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| topic | No | general | |
| api_key | No | ||
| country | No | ||
| end_date | No | ||
| language | No | ||
| objective | No | ||
| start_date | No | ||
| time_range | No | ||
| max_results | No | ||
| output_type | No | ||
| safe_search | No | ||
| search_depth | No | basic | |
| output_schema | No | ||
| include_answer | No | ||
| include_images | No | ||
| exclude_domains | No | ||
| include_domains | No | ||
| include_raw_content | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| usage | No | Billing and cache info for this request |
| answer | No | LLM-generated answer (optional) |
| images | No | Image results (present when the request set include_images=true) |
| output | No | Structured JSON object conforming to output_schema (output_type='structured' only; null when conversion failed) |
| notices | No | How this response was produced (safe to show to the model) |
| results | Yes | |
| warnings | No | Parameter-level issues: a requested feature did not take effect (safe to show the developer; do not feed to the model) |
| request_id | No | Unique request identifier, also returned as the X-Request-Id response header |
| ai_generated | No | Whether the response contains LLM-generated content |
| answer_audit | No | Per-statement audit of the AI answer (advanced depth only) |
| response_time | No | Server processing time for this request, in seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden and largely succeeds: it discloses the authentication → rate limiting → moderation → credit charge → search → refund-on-failure pipeline, per-call credit costs including the 0.5-credit fast mode, and the specific error conditions that produce a tool error. It stops short of declaring idempotency/read-only semantics or result-size limits.
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 summary sentence is front-loaded and the rest is dense, scannable parameter documentation with no filler. It is long, justified by 19 parameters and zero schema descriptions, though a few pipeline details (usage logging, output moderation) could be trimmed.
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 19-parameter tool lacking annotations or schema descriptions, the description is nearly self-sufficient: it covers the pipeline, cost model, error modes, and return shape (query/answer/results/images/output). Only the handful of unmentioned parameters keep it from being fully complete.
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 description coverage is 0%, so the description must compensate, and it does: it explains search_depth credit tiers, include/exclude domain glob semantics with precedence, exact date formats, topic/country/language meaning, safe_search levels, output_type modes, objective's reranking effect, and the api_key/SEARCHPIPE_API_KEY precedence. A few parameters (max_results, include_raw_content) are left undocumented.
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 and resource ("Run an AI-powered web search for a query") and even spells out the internal pipeline (retrieval → fetching → reranking → optional answer). The purpose is unambiguous, but it never mentions the sibling tool searchpipe_verify, so it does not actively differentiate itself from alternatives.
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?
Offers rich intra-tool guidance (when to pick search_depth basic vs advanced vs fast, when output_type "answer"/"structured" applies, credit tradeoffs), which implies usage. However it never states when to use this tool rather than searchpipe_verify, or any conditions under which it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchpipe_verifyAInspect
Verify a factual claim against retrieved evidence: claim in, verdict out — a four-label judgment (supported / partial / unsupported / inconclusive), not generated text.
Every result ships with verifiable evidence — span-level quotes, claim verdicts, and source authority — not just links.
Verdict labels: supported = evidence text clearly supports the claim; partial = partly supported or weak evidence;
unsupported = reachable evidence does not support the claim (misattributed citation detected); inconclusive = the claim
could not be judged (fetch failure, paywall, or insufficient evidence) — the tool reports that honestly instead of guessing.
Verification fetches source pages and judges claim-evidence consistency, so it typically takes 5-15 seconds.
Uses the same commercial pipeline as the HTTP POST /verify endpoint: authentication → email verification → rate limiting → input moderation → per-request credit charge → verification → refund on failure → usage logging. Credits are charged per call; an inconclusive verdict is still a delivered result and is not refunded.
mode: evidence route — "paper" / "web" / "auto" (default; a DOI or arXiv signal decides). evidence_urls: up to 5
caller-supplied citations to verify. max_evidence: maximum evidence items to return (1-10, default 5).
api_key: an API key starting with sp-. It may also be provided through the SEARCHPIPE_API_KEY environment variable
(the parameter takes precedence).
Returns VerifyResponse (verdict / confidence / reason_code / evidences[] / timing).
Returns a tool error on authentication failure, insufficient credits, content violation, verification failure, or when the
verify endpoint is disabled ("Verify endpoint is not available").
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | auto | |
| claim | Yes | ||
| api_key | No | ||
| max_evidence | No | ||
| evidence_urls | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| timing | No | Per-stage wall time in seconds |
| verdict | Yes | |
| evidences | No | |
| confidence | Yes | |
| reason_code | Yes | |
| prompt_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does so: it discloses the auth → moderation → credit-charge → verification → refund pipeline, states that credits are charged per call and that inconclusive verdicts are not refunded, gives a concrete latency range, and enumerates the exact error conditions including the disabled-endpoint message.
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 core claim-in/verdict-out framing, then layered detail in short paragraphs that each add distinct information (verdict taxonomy, pipeline, parameters, errors). The 'Returns VerifyResponse (verdict / confidence / reason_code / evidences[] / timing)' line is largely redundant given an output schema exists, a minor waste in an otherwise tight structure.
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 5-parameter tool with an output schema, the description covers what the schema cannot: verdict semantics, cost/refund behavior, latency, error surface, and auth precedence. An agent has everything needed to decide, invoke, and interpret a call correctly.
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 0%, and the description fully compensates: mode's three values and the 'auto' default rule (DOI/arXiv signal), evidence_urls' 5-item cap, max_evidence's 1-10 range and default of 5, and api_key's `sp-` prefix plus env-var fallback and precedence order. Every parameter is given meaning the schema does not.
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?
Opens with a specific verb+resource+scope: 'Verify a factual claim against retrieved evidence: claim in, verdict out', and explicitly frames the output as a four-label judgment rather than generated text. It never names the sibling searchpipe_search, so the agent must infer the division of labor (verify vs. retrieve) from context alone.
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?
Usage is implied rather than stated: the verdict-label taxonomy and the 'inconclusive' explanation tell the agent what the tool will judge, and the 5-15 second latency note sets expectations. However, there is no explicit when-to-use versus searchpipe_search, no exclusions, and no guidance on when a claim should be verified instead of merely searched.
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
- Added
searchpipe_account_balance
1 tool update
- Changed
searchpipe_search2 fields changed- changed
Output schema / properties / results / items / properties / score / descriptionPrevious value: -"Relevance score 0-1: from the LLM reranker on basic/advanced; the upstream engine score on fast depth (0 when the source provides none)"New value: +"Relevance score: 0-1 from the LLM reranker on basic/advanced; raw, unnormalized upstream engine score on fast depth (0 when the source provides none; not comparable across engines)" - changed
Output schema / properties / usage / anyOfPrevious value: -[ - { - "description": "本次请求的计费与缓存信息(P0 响应信封,history/20261020-api-v1-endpoints.md)。", - "properties": { - "cached": { - "default": false, - "description": "True when the response was served from the result cache", - "title": "Cached", - "type": "boolean" - }, - "credits_charged": { - "default": 0, - "description": "Credits billed for this request (0 when served from cache, exempt, or refunded)", - "title": "Credits Charged", - "type": "number" - } - }, - "title": "UsageInfo", - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "description": "本次请求的计费与缓存信息(P0 响应信封,history/20261020-api-v1-endpoints.md)。", + "properties": { + "cached": { + "default": false, + "description": "True when the response was served from the result cache", + "title": "Cached", + "type": "boolean" + }, + "credits_charged": { + "default": 0, + "description": "Credits billed for this request. Cache hits are charged; 0 when exempt or refunded.", + "title": "Credits Charged", + "type": "number" + } + }, + "title": "UsageInfo", + "type": "object" + }, + { + "type": "null" + } +]
1 tool update
- Changed
searchpipe_search19 fields changed- added
Input schema / properties / countryAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / end_dateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / exclude_domainsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / include_domainsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / include_imagesAdded value: +{ + "default": false, + "type": "boolean" +} - added
Input schema / properties / languageAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / objectiveAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / output_schemaAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / output_typeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / safe_searchAdded value: +{ + "default": 0, + "type": "integer" +} - added
Input schema / properties / search_depthAdded value: +{ + "default": "basic", + "type": "string" +} - added
Input schema / properties / start_dateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / time_rangeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null +} - added
Input schema / properties / topicAdded value: +{ + "default": "general", + "type": "string" +} - added
Output schema / properties / imagesAdded value: +{ + "anyOf": [ + { + "items": { + "description": "图片检索结果(P1 控制面 T1):include_images=true 时随响应返回。", + "properties": { + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Short caption/context from the source page, when available", + "title": "Description" + }, + "url": { + "description": "Image URL", + "title": "Url", + "type": "string" + } + }, + "required": [ + "url" + ], + "title": "ImageResult", + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Image results (present when the request set include_images=true)", + "title": "Images" +} - added
Output schema / properties / noticesAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "How this response was produced (safe to show to the model)", + "title": "Notices" +} - added
Output schema / properties / outputAdded value: +{ + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Structured JSON object conforming to output_schema (output_type='structured' only; null when conversion failed)", + "title": "Output" +} - changed
Output schema / properties / results / items / properties / score / descriptionPrevious value: -"LLM relevance score, 0-1"New value: +"Relevance score 0-1: from the LLM reranker on basic/advanced; the upstream engine score on fast depth (0 when the source provides none)" - added
Output schema / properties / warningsAdded value: +{ + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Parameter-level issues: a requested feature did not take effect (safe to show the developer; do not feed to the model)", + "title": "Warnings" +}
1 tool update
- Changed
searchpipe_search5 fields changed- added
Output schema / properties / request_idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Unique request identifier, also returned as the X-Request-Id response header", + "title": "Request Id" +} - added
Output schema / properties / response_timeAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Server processing time for this request, in seconds", + "title": "Response Time" +} - added
Output schema / properties / results / items / properties / idAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Stable result identifier (first 16 hex chars of the SHA-256 of the URL)", + "title": "Id" +} - added
Output schema / properties / results / items / properties / published_dateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Publish date when the source provides one (ISO 8601 string), else null", + "title": "Published Date" +} - added
Output schema / properties / usageAdded value: +{ + "anyOf": [ + { + "description": "本次请求的计费与缓存信息(P0 响应信封,history/20261020-api-v1-endpoints.md)。", + "properties": { + "cached": { + "default": false, + "description": "True when the response was served from the result cache", + "title": "Cached", + "type": "boolean" + }, + "credits_charged": { + "default": 0, + "description": "Credits billed for this request (0 when served from cache, exempt, or refunded)", + "title": "Credits Charged", + "type": "number" + } + }, + "title": "UsageInfo", + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Billing and cache info for this request" +}
1 tool update
- Changed
searchpipe_search3 fields changed- added
Output schema / properties / results / items / properties / relevance_scoreAdded value: +{ + "anyOf": [ + { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Relevance Score" +} - added
Output schema / properties / results / items / properties / relevance_stageAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Relevance Stage" +} - added
Output schema / properties / results / items / properties / relevance_statusAdded value: +{ + "anyOf": [ + { + "enum": [ + "scored", + "missing", + "failed" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Relevance Status" +}
1 tool update
- Changed
searchpipe_search2 fields changed- added
Output schema / properties / answer_auditAdded value: +{ + "anyOf": [ + { + "description": "tier-2 已审计答案:answer 逐陈述审计报告(E 方向 E-2,2026-10-15)。\n\nadditive 契约:仅 search_depth=\"advanced\" 且 include_answer=true 且\nanswer_audit_enabled 开时产出。score = 系统判 supported 的陈述占比\n(分母=有引文被判定的陈述数;全部 uncited 时为 0.0)。", + "properties": { + "prompt_version": { + "description": "Audit judge prompt version", + "title": "Prompt Version", + "type": "string" + }, + "score": { + "description": "Fraction of judged statements that are supported, 0-1", + "title": "Score", + "type": "number" + }, + "statements": { + "items": { + "description": "单条陈述的审计结果(E 方向 tier-2,四标签契约与 /verify 同名同义)。", + "properties": { + "citations": { + "items": { + "description": "陈述级引用:该陈述所引结果及其支撑 span(E 方向 tier-2)。", + "properties": { + "quote": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Supporting span quoted from the cited page (None = no page text)", + "title": "Quote" + }, + "span_end": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Span End" + }, + "span_start": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Span Start" + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Title" + }, + "url": { + "title": "Url", + "type": "string" + } + }, + "required": [ + "url" + ], + "title": "StatementCitation", + "type": "object" + }, + "title": "Citations", + "type": "array" + }, + "confidence": { + "default": 0, + "description": "Judge confidence 0-1 (0 for uncited)", + "title": "Confidence", + "type": "number" + }, + "text": { + "description": "Answer statement (citation markers stripped)", + "title": "Text", + "type": "string" + }, + "verdict": { + "description": "supported/partial/unsupported/inconclusive (judged) or uncited (no [n] marker, not judged)", + "title": "Verdict", + "type": "string" + } + }, + "required": [ + "text", + "verdict" + ], + "title": "StatementAudit", + "type": "object" + }, + "title": "Statements", + "type": "array" + }, + "uncited_count": { + "description": "Statements without any [n] citation marker", + "title": "Uncited Count", + "type": "integer" + } + }, + "required": [ + "score", + "uncited_count", + "statements", + "prompt_version" + ], + "title": "AnswerAudit", + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Per-statement audit of the AI answer (advanced depth only)" +} - added
Output schema / properties / results / items / properties / evidenceAdded value: +{ + "anyOf": [ + { + "description": "tier-1 证据级结果(E 方向 E-1):每条 result 自带的逐字证据。\n\nquote/span 来自 locator.best_supporting_span(query 当 claim,对抓取正文\n确定性选句,span 为 raw_content 中的字符偏移);抓取失败退回 content\nsnippet 兜底(此时 span 相对 content 字段,0 起算)。纯本地计算,零出站。", + "properties": { + "fetch_status": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "HTTP status of the page fetch (None = not fetched/timeout)", + "title": "Fetch Status" + }, + "fetched_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Fetch completion time, ISO-8601 UTC", + "title": "Fetched At" + }, + "final_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Final URL after redirects", + "title": "Final Url" + }, + "quote": { + "description": "Verbatim supporting sentence from the page", + "title": "Quote", + "type": "string" + }, + "redirected": { + "default": false, + "description": "Whether the fetch followed redirects", + "title": "Redirected", + "type": "boolean" + }, + "source_tier": { + "default": "unknown", + "description": "Source authority tier: official/press/academic/preprint/community/unknown", + "title": "Source Tier", + "type": "string" + }, + "span_end": { + "description": "Quote end offset (exclusive)", + "title": "Span End", + "type": "integer" + }, + "span_start": { + "description": "Quote start offset (into raw_content, or content when snippet-fallback)", + "title": "Span Start", + "type": "integer" + } + }, + "required": [ + "quote", + "span_start", + "span_end" + ], + "title": "ResultEvidence", + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Verbatim evidence: supporting quote, span, source tier, fetch metadata" +}
2 tool updates
- Changed
searchpipe_search4 fields changed- added
Output schema / properties / results / items / properties / cited_by_countAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "被引数(直连学术路填充)", + "title": "Cited By Count" +} - added
Output schema / properties / results / items / properties / doiAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "规范化 DOI(直连学术路填充)", + "title": "Doi" +} - added
Output schema / properties / results / items / properties / source_routeAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "召回路由标记: general/science/general_rw/direct:<api>/fanout_web", + "title": "Source Route" +} - added
Output schema / properties / results / items / properties / yearAdded value: +{ + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "发表年份(直连学术路填充)", + "title": "Year" +}
- Added
searchpipe_verify
1 tool update
- Changed
searchpipe_search11 fields changed- added
Output schema / properties / ai_generated / titleAdded value: +"Ai Generated" - added
Output schema / properties / answer / titleAdded value: +"Answer" - added
Output schema / properties / query / titleAdded value: +"Query" - added
Output schema / properties / results / items / properties / content / titleAdded value: +"Content" - added
Output schema / properties / results / items / properties / raw_content / titleAdded value: +"Raw Content" - added
Output schema / properties / results / items / properties / score / titleAdded value: +"Score" - added
Output schema / properties / results / items / properties / title / titleAdded value: +"Title" - added
Output schema / properties / results / items / properties / url / titleAdded value: +"Url" - added
Output schema / properties / results / items / titleAdded value: +"SearchResult" - added
Output schema / properties / results / titleAdded value: +"Results" - added
Output schema / titleAdded value: +"SearchResponse"
2 tool updates
- Removed
ai_search_search - Added
searchpipe_search
1 tool update
- First observed
ai_search_search
Related MCP Connectors
The best web search for your AI Agent
Agent-native search engine with live web research optimized for AI agents.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Google search, news, maps, scholar, webpages, cited AI answers and deep research for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to perform live web searches with ranked results and extracted page passages, plus clean markdown extraction of any URL.MIT

AnySearchofficial
AlicenseNot gradedqualityCmaintenanceUnified real-time search engine skill for AI agents.2,052Apache 2.0- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform LLM-optimized web searches, retrieve recent news articles with full text, and extract clean readable content from URLs. It returns synthesized answers, ranked cited sources, and page text suitable for grounding RAG workflows.28 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides web search and content extraction for AI agents.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.