search.nkp.pet API

Back. No authentication. 20 requests a minute per address; past that you get 429 with Retry-After. Nothing is stored unless you opt in with X-Contribute: 1 (or /mcp/contribute).

Endpoints

endpoint
POST /mcpMCP over streamable HTTP (JSON-RPC): initialize, tools/list, tools/call.
POST /mcp/contributeThe same, with this call's data kept for training.
POST /searchThe web_search tool as plain JSON: send its arguments as the body.
POST /contentsThe web_contents tool as plain JSON.
POST /answerThe web_answer tool as plain JSON.
POST /v1/extract, /v1/preview, /v1/summarizeThe single-page tools as plain JSON.
GET /healthzLiveness.

Example:

curl https://search.nkp.pet/search -H 'content-type: application/json' \
  -d '{"query":"what is the atproto firehose","numResults":3,"contents":{"highlights":true}}'

MCP tools

web_search

Search the web (SearXNG), rerank with a decision model, and optionally return text, highlights or grounded summaries. Exa-shaped input and output.

argumenttype
contentsobject
excludeDomainsarray
includeDomainsarray
numResultsinteger
querystring, required
typestring

web_contents

Read up to 20 known urls. Full text by default; request verbatim highlights picked by the decision model or a query-focused summary explicitly.

argumenttype
highlightsboolean or object
idsarray
livecrawlTimeoutinteger
maxAgeHoursinteger
summaryboolean or object
textboolean or object
urlsarray

web_answer

Search and return one grounded plain-prose answer plus sources, using the original evidence the decision model picked rather than summaries of summaries.

argumenttype
querystring, required
streamboolean
textboolean

web_extract

Single-url alias for web_contents with text enabled, without model calls. Returns the new requestId/results/statuses shape, not legacy markdown fields.

argumenttype
max_charsinteger
urlstring, required

web_preview

Single-url alias for web_contents with a query-focused, evidence-grounded summary. Returns the new requestId/results/statuses shape. Inspect per-url statuses.

argumenttype
include_markdownboolean
max_charsinteger
querystring, required
urlstring, required

web_summarize

Single-url alias for web_contents with an evidence-grounded summary. Optional query (or instructions as the fallback query) focuses the summary. Returns the new requestId/results/statuses shape.

argumenttype
include_markdownboolean
instructionsstring
max_charsinteger
querystring
urlstring, required