Getting started
MCP server & plugins
citable-mcp exposes every endpoint as a tool with its price in the description. The agent calls the tool; the server pays from a keypair on your machine and returns the JSON with the settlement signature attached.
Install#
Requires Node ≥ 20.18 (or Bun). The package is on npm as citable-mcp.
claude mcp add citable -- npx -y citable-mcp
codex mcp add citable -- npx -y citable-mcp
{
"mcpServers": {
"citable": {
"command": "npx",
"args": ["-y", "citable-mcp"],
"env": { "CITABLE_MAX_PRICE": "0.30" }
}
}
}Two ways to give the agent a wallet, and the server explains both to the agent on install. Sign in — for people who do not use crypto: the agent runs citable_connect, you open the link, sign in at citable.run/app with Google or email, add a few dollars, click Connect; the agent then pays from that wallet. Keypair — for people already on Solana: the server creates ~/.config/citable/agent.json when first needed, citable_prices shows the address, and you send it USDC on the Solana network (or point CITABLE_WALLET at a funded keypair). Fund your agent walks through both.
Claude Code plugin#
The plugin bundles the MCP server with nine skills — a free get-started guide, citability-audit, rank-tracking, ai-visibility-check, keyword-brief, keyword-clustering, competitor-citations, competitive-landscape and a free seo-coach that routes to the right one — so the agent knows the workflows, not just the tools.
/plugin marketplace add zaialamm/Citable /plugin install citable@citable
Configuration#
| Env | Default | Meaning |
|---|---|---|
CITABLE_WALLET | ~/.config/citable/agent.json | Solana keypair JSON path (or the JSON byte array itself) holding USDC on mainnet. Created when first needed if it does not exist |
CITABLE_MAX_PRICE | 0.30 | Refuse any single call priced above this many USD — nothing is signed |
| citable_connect | ~/.config/citable/para-session.json | Sign-in wallet: the session citable_connect stores. It wins over the default keypair, never over CITABLE_WALLET. Para's SDK installs to ~/.config/citable/para on first connect (about 200 MB, once) |
CITABLE_API | https://citable.run | Base URL; point it at http://localhost:3000 for a local Citable |
Spend cap
CITABLE_MAX_PRICE, and with nothing left to pay the SDK refuses. An over-priced call fails safely with a structured error.Tools#
One tool per endpoint, plus two free ones: citable_prices to call first, and citable_connect to set up a sign-in wallet. Every paid result carries _payment.transaction.
| Tool | Price | Returns |
|---|---|---|
| citable_prices | free | endpoints, prices, this wallet, network, spend cap — call first |
| citable_connect | free | sign-in wallet for people who do not use crypto: a link to sign in at citable.run, add a few dollars, connect |
| citable_keyword_suggest | $0.005 | The phrasings real people type: autocomplete expansions and questions for a seed |
| citable_keyword_research | $0.06 | One seed, the whole picture: keywords and questions from autocomplete and the paid index, with volume, CPC, difficulty and intent attached |
| citable_keyword_ideas | $0.05 | Keyword research with the numbers attached: every result contains your seed, and arrives with search volume, CPC, difficulty and intent |
| citable_keyword_metrics | $0.03 | Search volume, CPC, competition, difficulty and intent per keyword |
| citable_rank_check | $0.012 | Google organic position of a domain for a keyword, plus the top-10 list |
| citable_onpage_audit | $0.01 | Classic on-page SEO plus AI citability, scored 0–100 with a fix for every non-passing check |
| citable_ai_visibility | $0.05/engine | Which AI answer engines cite a domain for a prompt |
| citable_top_cited_pages | $0.22 | Which pages of a domain AI engines cite most, from an aggregated index of AI answers |
| citable_cited_prompts | $0.25 | The real questions AI engines already cite a domain for |
| citable_ai_mentions_trend | $0.18 | Monthly AI mentions and AI search volume for a domain, with month-over-month deltas |
| citable_ai_share_of_voice | $0.18 | Who AI cites most across 2–10 competing domains |
| citable_citability_report | $0.30 | On-page audit + AI visibility across all engines + top cited pages, in one call. $0.30 instead of $0.43 separately |
| citable_domain_overview | $0.03 | One domain's organic footprint |
| citable_domain_keywords | $0.04 | The keywords a domain actually ranks for |
| citable_domain_history | $0.03 | A domain's organic footprint month by month |
| citable_serp | $0.008 | The raw Google results page |
| citable_backlinks | $0.10 | Link profile in one call: totals, domain rank, broken links, and the top referring domains |
How a call works#
Server quotes the price
Amount, USDC mint, pay-to address and expiry in the PAYMENT-REQUIRED header. Reading it is free.
Client signs, Solana settles
An x402 client signs a USDC transfer for exactly that amount and retries with the payment header. ~400 ms. No SOL needed.
Same request, JSON back
Settlement signature in the PAYMENT-RESPONSE header. Any 4xx or 5xx instead means nothing was charged.
The keypair is read from disk and used only to sign these transfers. Nothing else leaves your machine.