(discover-outcome res)Classify a server/discover reply (§2.2a): :2026, :fallback or :failed.
Classify a `server/discover` reply (§2.2a): `:2026`, `:fallback` or `:failed`.
(download-skill! rpc uri dir)Fetch a skill into dir/<name>/ (skills/get + resources/read per file), checking every file's sha256 digest and containment BEFORE writing anything.
Fetch a skill into dir/<name>/ (skills/get + resources/read per file), checking every file's sha256 digest and containment BEFORE writing anything.
(encode-header v)SPEC §2.3 — a header value as-is, or =?base64?<std-base64>?= when it has
leading/trailing whitespace, a character outside 0x20–0x7E, or itself looks
like the sentinel.
SPEC §2.3 — a header value as-is, or `=?base64?<std-base64>?=` when it has leading/trailing whitespace, a character outside 0x20–0x7E, or itself looks like the sentinel.
(envelope)SPEC §2.3 — the _meta every 2026 request carries.
SPEC §2.3 — the `_meta` every 2026 request carries.
(fetch-skill rpc uri)One remote skill: skills/get + its resources' metadata, every resource URI contained in the skill. Returns {:name :uri :files [{:uri :rel :digest}]}.
One remote skill: skills/get + its resources' metadata, every resource URI
contained in the skill. Returns {:name :uri :files [{:uri :rel :digest}]}.(hits-json hits)SPEC §2.8 pin — compact JSON array, each hit's keys in the order name,
description, inputSchema, server. koine sorts object keys, so the hit object
is assembled here; inputSchema itself is koine-encoded (sorted keys).
SPEC §2.8 pin — compact JSON array, each hit's keys in the order name, description, inputSchema, server. koine sorts object keys, so the hit object is assembled here; `inputSchema` itself is koine-encoded (sorted keys).
(http-rpc! {:keys [url headers auth http]} method params timeout-ms)One 2026 request over HTTP. Never throws. Returns {:ok msg} or a failure: transport | http-status | malformed-body | rpc-error | auth (with :message) | auth-pending (with :request, a §10 authorization Request).
§2.6: the request is re-sent ONLY after a pre-dispatch rejection — a 401, or
a 403 insufficient_scope, carrying WWW-Authenticate — at most 3 times. A
lost connection, a timeout, a 5xx or an unreadable reply is returned as an
error and never retried: the server may already have executed it.
One 2026 request over HTTP. Never throws. Returns {:ok msg} or a failure:
transport | http-status | malformed-body | rpc-error | auth (with :message)
| auth-pending (with :request, a §10 authorization Request).
§2.6: the request is re-sent ONLY after a pre-dispatch rejection — a 401, or
a 403 `insufficient_scope`, carrying WWW-Authenticate — at most 3 times. A
lost connection, a timeout, a 5xx or an unreadable reply is returned as an
error and never retried: the server may already have executed it.(http-transport {:keys [url headers]} auth-engine)The 2026 remote leg, in toolnexus.mcp's transport shape.
The 2026 remote leg, in `toolnexus.mcp`'s transport shape.
(parse-body content-type body)The JSON-RPC response in a reply body: plain JSON, or the LAST SSE data:
frame carrying a result or error. nil when there is none.
The JSON-RPC response in a reply body: plain JSON, or the LAST SSE `data:` frame carrying a result or error. nil when there is none.
(parse-skill-uri uri)skill://<name>/<path> -> [name rel], percent-decoded ONCE; throws on any
leftover %, \, NUL, : or an empty / . / .. segment.
skill://<name>/<path> -> [name rel], percent-decoded ONCE; throws on any leftover `%`, `\`, NUL, `:` or an empty / `.` / `..` segment.
(remote-skill-defs rpc)SPEC §2.7 — every skill the server lists, as §3 S1 skill DEFS, so remote
skills join the SAME skill tool inventory as local ones. The body is the
SKILL.md text through the same frontmatter reader a local SKILL.md goes
through, so it is byte-identical to the local copy. A skill that fails
containment or its digest is skipped; it never fails the server.
SPEC §2.7 — every skill the server lists, as §3 S1 skill DEFS, so remote skills join the SAME `skill` tool inventory as local ones. The body is the SKILL.md text through the same frontmatter reader a local SKILL.md goes through, so it is byte-identical to the local copy. A skill that fails containment or its digest is skipped; it never fails the server.
(search defs query limit about)Rank defs ({:name :description :inputSchema}) against query — BM25 over
the name (weight ×2) and description; top limit hits as
{name description inputSchema server}.
Rank `defs` ({:name :description :inputSchema}) against `query` — BM25 over
the name (weight ×2) and description; top `limit` hits as
{name description inputSchema server}.(server-info result)serverInfo from the discover result, else from its _meta (GitHub's shape).
serverInfo from the discover result, else from its `_meta` (GitHub's shape).
(stdio-wrap transport)A frozen-path stdio transport speaking 2026: every request carries the
envelope. stdio has no headers, so only -32022 can apply there (§2.3).
A frozen-path stdio transport speaking 2026: every request carries the envelope. stdio has no headers, so only `-32022` can apply there (§2.3).
(tokens s)Lowercase words, split on non-alphanumerics and lower->Upper boundaries.
Lowercase words, split on non-alphanumerics and lower->Upper boundaries.
(with-envelope params)params with the §2.3 _meta merged in (a caller's own _meta keys survive).
params with the §2.3 `_meta` merged in (a caller's own `_meta` keys survive).
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |