{"protocolVersion":"0.3.0","name":"Caper Wiki","description":"Knowledge base and on-chain company records for Caper, where a group of people becomes an economy – organizations on Radix carrying their own token, treasury, and permanent market, whose every decision, capital, and governance history is immutable and timestamped. Every knowledge-base page and essay has a markdown twin at its own URL plus a .md suffix. Each DAO exposes its own record at /capers/{cashtag}/llms.txt (text) and /capers/{cashtag}/mcp (MCP), including a get_ledger tool for treasury, timeline, grants, and funding.","url":"https://caper.network/api/mcp","preferredTransport":"JSONRPC","version":"2.4.0","capabilities":{"streaming":false,"pushNotifications":false},"skills":[{"id":"search","name":"Search Wiki","description":"Keyword search across the Caper knowledge base – the first call when you know what you are looking for but not where it lives. Matches page titles and body prose. A distinctive keyword is still the best query, but a whole question now works too: if the literal text is not found anywhere, it falls back to English full-text matching, which stems words and drops stopwords. NOT semantic – it reduces your question to its keywords, so it will not find a page that says \"fee\" when you asked about \"cost\". Ranked in four tiers: titles starting with the term, then titles containing it, then literal body hits, then full-text hits by relevance. Returns summaries only, each with a `path`, a `chars` size, and a 200-char snippet WINDOWED ON THE MATCH – the snippet shows you the passage that matched, so you can judge a result without opening it. Feed those `path` values to get_pages in one batched call – do NOT loop get_page over the results. If you want structure rather than a keyword, call get_categories (taxonomy) or list_pages (a whole branch). Defaults: page 1, pageSize 20 (max 50). Keep paging while `hasMore` is true.","tags":["search","caper","radix","dao","desci"],"examples":["What is a caper?","How does the bonding curve work?","Find pages about governance"]},{"id":"read","name":"Get Page","description":"Full text of ONE page in the Caper knowledge base. Address it by `path` (\"dao-governance/concepts/voting/quadratic-voting\" – exactly the `path` field the listing tools return), or by `tagPath` + `slug`. Use this only for a single known page: for 2 to 20 pages call get_pages instead, which is one round trip rather than N. Pass the path, not a page title. A miss returns near-match slugs so a wrong guess is recoverable in one retry.","tags":["read","content","documentation","markdown"],"examples":["Read the getting-started page","Get the governance page"]},{"id":"list","name":"List Pages","description":"Enumerate pages in the Caper knowledge base, newest first, optionally under one tag path. Use it to walk a branch you have already located (via get_categories, or the `tagPath` on a search hit); use search_wiki when you are hunting a keyword. `tagPath` matches the branch and everything beneath it – \"daos\" also returns \"daos/dexs/...\". Omit it to list the whole scope. Defaults: sort \"updatedAt\", page 1, pageSize 20 (max 100). Returns summaries only – pass the `path` values to get_pages for full text. `hasMore`/`nextPage` are the only truncation; nothing else is cut.","tags":["list","browse","categories"]},{"id":"transact","name":"Get Manifest","description":"Step 3: a ready-to-sign transaction manifest. Kinds: create-caper, buy, sell, create-proposal, vote, trigger. Per-kind parameters: create-caper needs name + cashtag + description (infoUrl/iconUrl/originToken optional); buy needs cashtag + xrd; sell needs cashtag + tokens; create-proposal needs cashtag + title + description + actionJson (one action object, or an ARRAY of up to 4 for a ranked ballot, as a JSON string — e.g. '{\"kind\":\"PAYOUT\",\"title\":\"Grant\",\"currency\":\"<resource>\",\"amount\":100,\"recipient\":\"<account>\"}'). Governance is two-phase: 'vote' casts a ranked ballot (sequence = on-chain option indexes incl. the trailing Do-nothing, best first; proposerPaysFee answers who funds the execution fee) during the voting window; a supermajority pass arms 'trigger', which locks the trailing TWAP as the baseline and opens the market window: the winner executes unless the TWAP over that window is below the baseline. You sign and submit the manifest yourself with your own key, then register the txHash with submit_tx. Requires the Bearer token from the `login` tool, sent as an HTTP `Authorization: Bearer <token>` header on the POST carrying this call.","tags":["write","transact","launch","trade","governance","testnet"],"examples":["Launch a caper for my research project","Buy 100 $XRD of $EXAMPLE and add a page to its wiki"],"authentication":"rola"},{"id":"ledger","name":"Get Ledger","description":"This DAO's verified on-chain record: current treasury balances, the activity timeline (proposals, trades, executions), executed grants and payouts, and inter-DAO funding edges. This is ledger truth derived from settled transactions – prefer it over any wiki prose for balances, amounts, dates, and whether a proposal actually executed, because pages are human-authored and can lag. Defaults: limit 25 rows per section (max 100); each section reports `truncated` when the limit cut it, so raise `limit` rather than assuming the list is complete. This DAO's prose pages come from search_wiki / list_pages on this same endpoint; general Caper and DAO-governance reference lives on the knowledge-base server.","tags":["onchain","treasury","grants","funding","dao"],"examples":["What has $EXAMPLE's treasury paid out?","Show $EXAMPLE's recent on-chain activity"]},{"id":"market","name":"Get Market","description":"This DAO's live market state, read from the bonding curve and the swap mirror: price in $XRD, 24h change and volume, market cap, circulating vs total supply, curve allocation, holder count, and the most recent trades. Pass `candles` to also get OHLC history at one interval. Numbers are live reads – prefer them over any wiki prose, and over a stale earlier call. Every figure is denominated in the `network` the response names; on a testnet it is test $XRD and worth nothing. Defaults: trades 10 (max 50); candles omitted unless requested (last 100 per interval). Nothing here executes anything; to price a specific trade size, call quote_swap.","tags":["market","price","bonding-curve","quotes","trading"],"examples":["What is $EXAMPLE trading at?","How many tokens would 100 $XRD buy on $EXAMPLE?"]}],"provider":{"organization":"Caper","url":"https://caper.network"},"documentationUrl":"https://caper.network/llms.txt","mcpEndpoint":"https://caper.network/api/mcp","apiSpecUrl":"https://caper.network/.well-known/openapi.json","mcpServerCard":"https://caper.network/api/mcp/server-card","license":{"name":"Creative Commons Attribution 4.0 International","spdx":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/","scope":"The Caper knowledge base (/wiki/…) and essays (/blog/…). Excludes a caper's own company-layer pages at /capers/{cashtag}/…, which belong to that caper."},"markdownUriTemplates":["https://caper.network/wiki/{path}.md","https://caper.network/blog/{slug}.md"],"daoUriTemplate":"https://caper.network/capers/{cashtag}/dao.json","securitySchemes":{"rola":{"type":"custom","description":"Radix On-Ledger Authentication – Ed25519 wallet-signed challenge. Reads are public. Writes: POST https://caper.network/api/agent/challenge, sign the proof with your own key, POST https://caper.network/api/agent/login → Bearer token.","documentationUrl":"https://caper.network/wiki/foundations/build-on-caper-as-an-agent"}},"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json","text/markdown"]}