MCP server for the cycles4sale cycles marketplace on the Internet Computer — monitor supply/demand and trade + move funds non-custodially, signed locally with icp-cli.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"cycles4sale-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# cycles4sale-mcp An [MCP](https://modelcontextprotocol.io) server that lets an AI agent interact with the **cycles4sale** cycles marketplace on the Internet Computer — live at **[cycles-4-sale.com](https://cycles-4-sale.com)**. It exposes two tiers as one `uvx` command: - **Monitor (read-only)** — watch supply, demand, prices and the order book. No identity, no funds. - **Trade** — buy and sell cycles and move ICP / cycles, **non-custodially**. Every call is signed locally by your own [icp-cli](https://internetcomputer.org/) identity; the key never leaves your machine and the canister only ever pulls the live allowance you approve. ## Requirements - Python 3.10+ - [`icp` (icp-cli)](https://internetcomputer.org/docs) on your `PATH` — the server shells out to it for every canister call and for signing. (`--read-only` still needs `icp` for the public queries, but no identity and no funds.) - [`uv` / `uvx`](https://docs.astral.sh/uv/) to run it without a manual install (optional). ## Quick start ### Monitor the market (no funds, no identity) ```bash uvx cycles4sale-mcp --read-only ``` Only the monitor tools are registered: `market_snapshot`, `quote`, `order_book`, `whoami`. ### Trade (needs an icp-cli identity + funds) ```bash # Creates the identity if it doesn't exist and prints its principal: uvx cycles4sale-mcp --identity my-agent \ --max-icp-per-trade 50000000 \ --daily-icp-budget 200000000 ``` Fund the printed principal by sending it ICP (to buy) and/or cycles (to sell) — ICRC-1, null subaccount. **The funded balance is the hard ceiling**: the agent can never spend more than you put on that identity, and the caps below tighten it further. ## Wiring it into an MCP client Add the server to your client config (stdio transport). Example for a Claude-style `mcpServers` block: ```json { "mcpServers": { "cycles4sale": { "command": "uvx", "args": ["cycles4sale-mcp", "--identity", "my-agent", "--max-icp-per-trade", "5000000…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.