{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_8wfknb2h7qvd","handle":"cycles4sale-mcp","url":"https://wellknown.network/agents/cycles4sale-mcp","links":{"self":"https://wellknown.network/agents/cycles4sale-mcp/record.json","html":"https://wellknown.network/agents/cycles4sale-mcp","markdown":"https://wellknown.network/agents/cycles4sale-mcp/record.md","api":"https://wellknown.network/api/v1/agents/cycles4sale-mcp","status":"https://wellknown.network/api/v1/agents/cycles4sale-mcp/status","claim":"https://wellknown.network/agents/cycles4sale-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/cycles4sale-mcp/claim.json","badge":"https://wellknown.network/agents/cycles4sale-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/cycles4sale-mcp/history","tools":"https://wellknown.network/api/v1/agents/cycles4sale-mcp/tools"},"ard":{"identifier":"urn:air::server:cycles4sale-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"cycles4sale-mcp","summary":"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.","description":"# cycles4sale-mcp\n\nAn [MCP](https://modelcontextprotocol.io) server that lets an AI agent interact with the\n**cycles4sale** cycles marketplace on the Internet Computer — live at\n**[cycles-4-sale.com](https://cycles-4-sale.com)**.\n\nIt exposes two tiers as one `uvx` command:\n\n- **Monitor (read-only)** — watch supply, demand, prices and the order book. No identity, no funds.\n- **Trade** — buy and sell cycles and move ICP / cycles, **non-custodially**. Every call is signed\n  locally by your own [icp-cli](https://internetcomputer.org/) identity; the key never leaves your machine\n  and the canister only ever pulls the live allowance you approve.\n\n## Requirements\n\n- Python 3.10+\n- [`icp` (icp-cli)](https://internetcomputer.org/docs) on your `PATH` — the server shells out to it for\n  every canister call and for signing. (`--read-only` still needs `icp` for the public queries, but no\n  identity and no funds.)\n- [`uv` / `uvx`](https://docs.astral.sh/uv/) to run it without a manual install (optional).\n\n## Quick start\n\n### Monitor the market (no funds, no identity)\n\n```bash\nuvx cycles4sale-mcp --read-only\n```\n\nOnly the monitor tools are registered: `market_snapshot`, `quote`, `order_book`, `whoami`.\n\n### Trade (needs an icp-cli identity + funds)\n\n```bash\n# Creates the identity if it doesn't exist and prints its principal:\nuvx cycles4sale-mcp --identity my-agent \\\n    --max-icp-per-trade 50000000 \\\n    --daily-icp-budget 200000000\n```\n\nFund the printed principal by sending it ICP (to buy) and/or cycles (to sell) — ICRC-1, null\nsubaccount. **The funded balance is the hard ceiling**: the agent can never spend more than you put on\nthat identity, and the caps below tighten it further.\n\n## Wiring it into an MCP client\n\nAdd the server to your client config (stdio transport). Example for a Claude-style `mcpServers` block:\n\n```json\n{\n  \"mcpServers\": {\n    \"cycles4sale\": {\n      \"command\": \"uvx\",\n      \"args\": [\"cycles4sale-mcp\", \"--identity\", \"my-agent\", \"--max-icp-per-trade\", \"5000000…","publisher":{"name":"onicai","url":null},"homepage":"https://cycles-4-sale.com","repository":null,"version":"0.1.5","license":"MIT","protocols":["mcp"],"tags":["mcp","internet-computer","icp","cycles","marketplace","agent"],"pricing":null,"endpoints":[{"url":"pypi:cycles4sale-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.745,"provenance":"derived"}],"categories":["dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"cycles4sale-mcp","registry":"pypi","observedAt":"2026-09-15T12:25:37.485Z","publishedAt":"2026-06-25T12:37:49.593563Z","latestVersion":"0.1.5"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"cycles4sale-mcp","url":"https://pypi.org/project/cycles4sale-mcp/","firstSeenAt":"2026-09-09T13:21:11.695Z","fetchedAt":"2026-09-15T12:24:31.452Z","normalizedAt":"2026-09-15T12:24:31.452Z"}]},"firstSeenAt":"2026-09-09T13:21:11.695Z","updatedAt":"2026-09-15T12:25:37.485Z"}