{"name":"com.x402git/git-x402","slug":"x402git-git-x402","title":"X402 Git","description":"Buy private git repos and agent skills with USDC over x402. Read the manifest free, then pay.","url":"https://mcp.market/server/x402git-git-x402","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"devtools","tags":["devtools","ai"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":1,"ok":1,"last_checked_at":"2026-09-19T16:25:34.148Z","last_ok_at":"2026-09-19T16:25:34.148Z","latency_ms":496},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://x402git.com","version":"0.1.0","remotes":[{"type":"streamable-http","url":"https://x402git.com/api/mcp"}],"packages":[],"tools":[{"name":"check_version","description":"Wraps `GET /api/v/:owner/:slug`. The cheap call to make before every run: the latest version, when it was published, and the price. With `wallet_signature` it also answers what that wallet already owns and what the *next* fetch would cost it — `price_kind` is `new`, `update`, `free` or `owned`. Without one it never reveals what any address owns.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","description":"The creator handle, e.g. `adrian`."},"slug":{"type":"string","description":"The listing slug, e.g. `humanizer`."},"wallet_signature":{"type":"string","description":"An `X-Wallet-Signature` value: `<address>.<nonce>.<signature>`, where the nonce comes from `POST /api/auth/challenge` and the signature is EIP-191 over the challenge message. Single use."}},"required":["owner","slug"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"fetch_release","description":"Wraps `GET /api/r/:owner/:slug/v/:version`. A fresh five-minute download URL for a version this wallet already bought. Free, forever, including after the listing is retired. Never sells anything: if the wallet does not hold that version it is `not_entitled`, not a 402. `wallet_signature` is required — without a proved wallet there is nobody to be entitled.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","description":"The creator handle, e.g. `adrian`."},"slug":{"type":"string","description":"The listing slug, e.g. `humanizer`."},"version":{"type":"string","description":"An exact version string, e.g. `1.2.0`."},"wallet_signature":{"type":"string","description":"An `X-Wallet-Signature` value: `<address>.<nonce>.<signature>`, where the nonce comes from `POST /api/auth/challenge` and the signature is EIP-191 over the challenge message. Single use."}},"required":["owner","slug","version","wallet_signature"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_listing","description":"Wraps `GET /api/label/:owner/:slug`. The free, unauthenticated manifest for a listing's latest passing release: file tree, sizes, licence, dependencies, security-scan result and release log. Costs nothing and needs no wallet, so read it before you buy. Computed facts and the creator's own claims are separately namespaced (`computed` vs `self_reported`).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","description":"The creator handle, e.g. `adrian`."},"slug":{"type":"string","description":"The listing slug, e.g. `humanizer`."}},"required":["owner","slug"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"how_to_buy","description":"Free, no wallet needed. Returns whether the listing is for sale, its latest version and new-buyer price, the listing page a person can buy on with a browser wallet, the step-by-step skill an agent with a wallet follows, the raw x402 endpoint, and this server's URL. If you cannot sign transactions, answer the person with `without_a_wallet`; if you can, follow `with_a_wallet` or call `purchase`.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","description":"The creator handle, e.g. `adrian`."},"slug":{"type":"string","description":"The listing slug, e.g. `humanizer`."}},"required":["owner","slug"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"purchase","description":"Wraps `GET /api/r/:owner/:slug` — the same quote → screen → verify → settle → grant sequence, with the purchase recorded as `source: mcp`. Call it once with no payment: you get the x402 `PaymentRequired` body back. It arrives as `isError: true` per the x402 MCP transport, but it is not a failure — it is the price, and `accepts[0]` is the requirement to sign. Sign that EIP-3009 authorization with your own key (this server never sees it) and call again with the payment as the base64 `payment_signature` argument or as `_meta[\"x402/payment\"]`. On success you get the version, the sha256 of the artifact, a signed download URL that expires in five minutes, and the settlement transaction in `_meta[\"x402/payment-response\"]`. Access is granted only after the facilitator returns a transaction hash. A $0 listing returns `granted` on the first call.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"owner":{"type":"string","description":"The creator handle, e.g. `adrian`."},"slug":{"type":"string","description":"The listing slug, e.g. `humanizer`."},"payment_signature":{"description":"A base64 x402 payment payload signed locally against `accepts[0]` from a previous call. Equivalent to `_meta[\"x402/payment\"]`; this argument wins when both are present. Omit both to get the 402.","type":"string"},"wallet_signature":{"description":"Optional `<address>.<nonce>.<signature>`. Send it to be quoted *your* price rather than the new-buyer price; when both are present the payer in the authorization must be the same address.","type":"string"},"quote_id":{"description":"Required for any priced listing: echo `payment_required.extra.quote_id` from the 402 you are paying against. Omitting it on a priced buy is rejected `price_changed`; echoing a stale one is also `price_changed` with a fresh 402. Optional only for $0 listings.","type":"string"}},"required":["owner","slug"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_listings","description":"Free, no wallet needed. Searches every live listing — private repos, agent skills, prompt packs, toolkits — by what it does: the name, the creator's description and \"use this when\" line, the computed tags (artifact class, what is inside such as `skills` or `scripts`, languages) and the README. Describe the job in plain words, e.g. `humanize ai writing` or `changelog from git history`; leave `query` empty to list everything. Results are ordered by how many of your words matched and where, then by name — never by sales or popularity. Each result has the `owner` and `slug` the other tools take: read `get_listing` for the file tree and security scan, then `how_to_buy`.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"description":"What you need the code or skill to do, in plain words. Omit or leave empty to list every live listing.","type":"string","maxLength":200},"max_price_micro":{"description":"Only listings a new buyer can get for at most this much, in micro-USDC: `5000000` is $5, `0` is free only.","type":"string","pattern":"^\\d{1,15}$"},"limit":{"description":"How many results to return, 1–25. Default 10; `total` says how many matched.","type":"integer","minimum":1,"maximum":25}},"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-19T09:58:46.024Z","report":{"scannerVersion":"0.1.3","scannedAt":"2026-09-19T09:58:45.959Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1419ms"]},"poisoning":{"score":15,"max":15,"notes":["6 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 2 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://x402git.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":1419,"serverInfo":{"name":"git-x402","version":"0.2.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://x402git.com/icon.svg?icon.3qqz2m63s3gsu.svg","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}