SPXI-gnΩsis
Opens Wikipedia sentences against their cited sources; builds sourced knowledge objects into /non.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"gnosis": {
"url": "https://gnosis.spxi.dev/mcp"
}
}
}Remote endpoints
https://gnosis.spxi.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢find_entry(name, context)
Use first when a person, work, concept, institution or operator needs a sourced knowledge object: looks the name up in the Negative of the Negative (/non), free. Returns the entry (its page, data and status) when one exists; the candidates and what tells them apart when the name is ambiguous; or, when none exists, the request for a free construction quote to pass to get_quote. Does not check a sentence (use open_sentence) and charges nothing.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "the object's name as you have it, e.g. \"Sophistical Refutations\" or \"Attributization\""
},
"context": {
"type": "string",
"description": "optional: a URL, a description or the kind of object, to choose among candidates with the same name"
}
},
"required": [
"name"
]
}🟡open_sentence(text, url, mode)
Use when one sentence from an English Wikipedia page must be checked against the sources it cites before it is quoted or relied on. Send the sentence exactly as it stands and the page's URL. Free when the sentence has already been read at the same state; otherwise returns its price (typically 22¢ opened) and the paid HTTP route (x402) that reads it. A text that is not the page's sentence exactly is answered with the page's closest sentences, nothing charged. For a whole article use get_quote with the article instead.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "the sentence exactly as it stands on the page (footnote markers may be left in)"
},
"url": {
"type": "string",
"description": "the English Wikipedia page, by title URL or revision URL"
},
"mode": {
"type": "string",
"enum": [
"opening",
"preliminary",
"grounded"
],
"description": "opening (default): two separately generated readings; preliminary: one pass on the small model; grounded: with the archive's claims, where a commissioned row holds the sentence"
}
},
"required": [
"text",
"url"
]
}🟡get_quote(article, oldid, tier, object, commission, ...)
Use to price work before paying: a whole Wikipedia article (article: its link or title, or oldid), read sentence by sentence at a tier, or a commission on an object (object with kind entity or operator, name, and for an operator its strings; commission construct or open): construct gives an entity the encyclopedia holds an alternative to its article, and one it lacks its first account. Or random open (a random article's cited sentence, read at tier check or opening) or random construct (a random Wikipedia article as an alternative, or an object the archive names with no /non entry); the quote says what was picked. Free; returns a quote_id with each deliverable, its line and the maximum, or, for a commission, a quote_id whose price appears at order_status within minutes. Pay a quote over x402 at POST /v1/openings/{quote_id}, or have a person pay with card_checkout. For one sentence use open_sentence; to see whether an object already exists use find_entry first.
Input Schema
{
"type": "object",
"properties": {
"article": {
"type": "string",
"description": "an English Wikipedia article's link or title; its current revision is pinned"
},
"oldid": {
"type": "integer",
"description": "a Wikipedia revision id, in place of article"
},
"tier": {
"type": "string",
"enum": [
"check",
"opening",
"commission",
"portable"
],
"description": "check: two passes on the small model; opening (default): two separately generated readings; commission: opened, then the archive consulted and a public /non row composed; portable: the commission and its knowledge object as a package"
},
"object": {
"type": "object",
"description": "for a commission on an object: {kind: \"entity\" | \"operator\", name, description?, strings? (an operator's phrases), sources? (links)}"
},
"commission": {
"type": "string",
"enum": [
"open",
"construct"
],
"description": "construct: compose the object from the archive and its sources, an alternative where an account exists; open: read an AI answer seated in the Capture Registry for the name"
},
"random": {
"type": "string",
"enum": [
"open",
"construct"
],
"description": "let the service pick: open, a random Wikipedia article's cited sentence; construct, a random object (see pool). The quote carries the pick as random"
},
"pool": {
"type": "string",
"enum": [
"wikipedia",
"archive"
],
"description": "for random construct: a random Wikipedia article, constructed as an alternative from the sources it cites, or an object the archive names with no /non entry; omitted, chosen at random"
}
}
}🟢order_status(quote_id)
Use after get_quote or a payment, with the quote_id: returns the state (estimating, quoted, paid and running, delivered, refunded), the quote with its lines and expiry, the order's progress, its receipt and refund, and, once delivered, the result_id to pass to get_result. Charges nothing and starts nothing.
Input Schema
{
"type": "object",
"properties": {
"quote_id": {
"type": "string",
"description": "the quote_id from get_quote, e.g. Q-0123456789abcdef"
}
},
"required": [
"quote_id"
]
}🟡card_checkout(quote_id)
Use when a person, not the agent, will pay a quote by card: returns a Stripe Checkout link (url) for the quote's maximum, at least $0.50. The work runs when the payment completes; the charge follows the work delivered, never above the quote, the rest refunded, and an order that delivers nothing is refunded in full (a card order quoted under $0.50 keeps the $0.50 minimum). An agent paying itself uses x402 at POST /v1/openings/{quote_id} instead.
Input Schema
{
"type": "object",
"properties": {
"quote_id": {
"type": "string",
"description": "the quote_id from get_quote"
}
},
"required": [
"quote_id"
]
}🟢get_result(result_id, part)
Use once order_status names a result_id: returns the delivered work. part composition (default): the usable result, each sentence's reading or the knowledge object; evidence: the full record behind it (quoted spans, source hashes, both readings, breaches, model cost); publication: whether the /non row is composed, checked, landed and public. Free to read.
Input Schema
{
"type": "object",
"properties": {
"result_id": {
"type": "string",
"description": "the result_id order_status returns, e.g. R-d744378a9776dfdb"
},
"part": {
"type": "string",
"enum": [
"composition",
"evidence",
"publication"
],
"description": "which part of the result (default composition)"
}
},
"required": [
"result_id"
]
}Community
Evidence