{
  "markdown": "# JarvisClaw MCP Server\n\n<!-- mcp-name: io.github.api-jarvisclaw/jarvisclaw -->\n\n**283 AI models and 2,720 pay-per-call APIs through one MCP server.** Settles in USDC on\nBase or Solana over [x402](https://x402.org) — no account, no API key, no subscription.\n\nThree ways to reach a service:\n\n- **Models** — 283 of them (GPT-5, Claude Opus 5, Gemini 3, DeepSeek) behind one\n  OpenAI-compatible `chat` tool, or `auto` to let the router pick.\n- **API marketplace** — 2,720 individually priced endpoints across 40 categories\n  (search, blockchain, code, DNS, image, document, OCR, email, geo, TTS…), of which 411\n  are curated. Search it, read the price, then call it.\n- **AIP intents** — 13 intent types. Say what you need (`web_search`,\n  `image_generation`, `translation`…) and AIP resolves it to a provider, so the caller\n  never has to know the URL layout.\n\nCounts move as the catalogue changes; `list_models`, `search_apis` and\n`aip_list_intents` are the live answer.\n\n## Quick start\n\n### Local wallet signing (recommended for x402)\n\nRun this package. It presents itself to your client as a normal stdio MCP server,\nforwards every request to the gateway, and when a call needs paying it signs the x402\npayment **on your machine** and retries. Your private key is never transmitted — only\nthe signed payment payload is.\n\n```bash\nJARVISCLAW_WALLET_KEY=0xyourkey npx jarvisclaw-mcp\n```\n\nClaude Desktop / Cursor, Base wallet:\n\n```json\n{\n  \"mcpServers\": {\n    \"jarvisclaw\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"jarvisclaw-mcp\"],\n      \"env\": {\n        \"JARVISCLAW_WALLET_KEY\": \"0xYOUR_BASE_PRIVATE_KEY\",\n        \"JARVISCLAW_CHAIN\": \"base\"\n      }\n    }\n  }\n}\n```\n\nSolana wallet:\n\n```json\n{\n  \"mcpServers\": {\n    \"jarvisclaw\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"jarvisclaw-mcp\"],\n      \"env\": {\n        \"JARVISCLAW_WALLET_KEY\": \"YOUR_SOLANA_BS58_SECRET_KEY\",\n        \"JARVISCLAW_CHAIN\": \"solana\"\n      }\n    }\n  }\n}\n```\n\n### Direct URL (no local process)\n\nFor Claude Code, Cursor, or any client with Streamable HTTP transport. One less hop,\nbut there is no wallet in this path: free tools work, and paid tools need a pre-paid\nAPI key, because nothing here can sign a payment.\n\n```json\n{\n  \"mcpServers\": {\n    \"jarvisclaw\": {\n      \"type\": \"url\",\n      \"url\": \"https://api.jarvisclaw.ai/mcp\",\n      \"headers\": { \"Authorization\": \"Bearer sk-your-api-key\" }\n    }\n  }\n}\n```\n\nWithout the header the same URL still lists the catalogue for free; paid tools answer\nwith an x402 quote that you would have to sign yourself.\n\n## Environment variables\n\n| Variable | Required | Default | Description |\n| --- | --- | --- | --- |\n| `JARVISCLAW_WALLET_KEY` | for paid tools | — | Base private key (`0x…` hex) or Solana secret key (base58). Used only for local signing. |\n| `JARVISCLAW_CHAIN` | no | `base` | `base` or `solana`. Which option to sign when the server offers both. |\n| `JARVISCLAW_MCP_URL` | no | `https://api.jarvisclaw.ai/mcp` | Remote MCP endpoint. |\n| `JARVISCLAW_SOLANA_RPC` | no | public mainnet RPC | Custom Solana RPC (recommended — the public one is rate-limited). |\n| `JARVISCLAW_API_KEY` | no | — | Optional API key sent as `Authorization: Bearer`. Free tools need no credential. |\n\n## Tools\n\n| Tool | What it does | Billed |\n|------|--------------|:------:|\n| `list_models` | Every model available, with the IDs to pass to `chat` | free |\n| `search_apis` | Search the 2,720-endpoint marketplace; each hit carries its path and price | free |\n| `aip_list_intents` | Browse the intent types AIP can route | free |\n| `aip_estimate_cost` | Price an intent before committing to it | free |\n| `chat` | Any model, OpenAI-compatible | paid |\n| `get_api_detail` | Full spec for a marketplace API: pricing, method, exact request | paid |\n| `discover_agents` | Find other agents registered on the gateway | paid |\n| `aip_resolve` | Rank providers for an intent, priced, before you spend | paid |\n| `aip_execute_with_budget` | Run a task end to end under a spending cap you set | paid |\n\nFree tools answer without credentials, so you can list the catalogue before deciding to\npay for anything. Protocol methods (`initialize`, `tools/list`, `resources/list`) are\nfree too.\n\n## Paying\n\n| Method | Header | When |\n|--------|--------|------|\n| x402 USDC | `PAYMENT-SIGNATURE` | No account. Wallet settles on Base or Solana. |\n| API key | `Authorization: Bearer sk-…` | Pre-paid account. |\n\nA paid tool called without either does not fail — it answers with an x402 quote:\n\n```\ntools/call → 402 with payment terms (amount, asset, payTo, network)\n          → this proxy signs a USDC authorization locally\n          → retry with PAYMENT-SIGNATURE → result\n```\n\nWith `JARVISCLAW_WALLET_KEY` set, all three steps happen inside this process and your\nclient just sees the result. Without it, the quote is passed through to your client\nunanswered.\n\nBoth chains are live, which most x402 sellers cannot say: settle wherever the agent\nalready holds USDC rather than bridging to reach one gateway. Every paid response\ncarries an EIP-712 signed settlement receipt that a third party can verify offline —\nrecompute the hashes, recover the signer, check the tx on-chain — without trusting us.\n\n## Security\n\n- The wallet key is read from the environment and used only to sign payment\n  authorizations locally. It is never sent to the gateway or anywhere else.\n- A safety cap rejects any single payment above 100 USDC, on both chains.\n- The USDC contract address, mint, chain IDs and decimals are pinned as protocol\n  constants, not configuration — a server cannot talk this proxy into signing a\n  transfer of some other asset.\n\n### Dependency advisories\n\n`npm audit` reports 3 moderate advisories reachable through `@solana/web3.js`\n(itself, plus `jayson` and `uuid`). 1.98.4 is the latest release and is inside the\nflagged range, so there is no version to move to; npm's suggested \"fix\" is a\ndowngrade to 0.0.3, which is not a real option. Tracked, not resolved.\n\nThis applies to Base-only users too: `@solana/web3.js` is a static import in the\nentry module, so it loads whatever `JARVISCLAW_CHAIN` is set to (measured: 6 module\nresolutions on the Base path). Only the signer *object* is constructed lazily.\n\n## Building from source\n\n```bash\nnpm install\nnpm run build     # tsc → dist/\nnpm test          # bun test — x402 signer unit tests\n```\n\n## Links\n\n- **Website** — https://jarvisclaw.ai\n- **API docs** — https://docs.jarvisclaw.ai\n- **Python SDK (AIP)** — https://pypi.org/project/agent-intent-protocol/\n- **x402 discovery** — https://api.jarvisclaw.ai/.well-known/x402\n- **A2A agent card** — https://api.jarvisclaw.ai/.well-known/agent-card.json\n- **x402scan** — https://www.x402scan.com/server/e26bd614-0441-4af5-83db-53ab301e85d6\n\n## License\n\nMIT\n",
  "bytes": 6753,
  "sha": "48d3113714fbcd092c9e3d42385c3f48653085173ed213cc93606ed5ef0f1c94",
  "repo_slug": "api-jarvisclaw/jarvisclaw-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_api_jarvisclaw_jarvisclaw_dafe3efa/readme"
}