X402 Git

Buy private git repos and agent skills with USDC over x402. Read the manifest free, then pay.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
98%
이름 품질
93%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,024토큰 (도구 정의)
~4.3 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.36%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "git-x402": {
      "url": "https://x402git.com/api/mcp"
    }
  }
}

원격 엔드포인트

https://x402git.com/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (6)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_listings(query, max_price_micro, limit)

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`.

입력 스키마

{
  "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#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "total": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "How many listings matched, before `limit`."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "description": "The creator's own blurb. Self-reported, unverified.",
            "type": [
              "string",
              "null"
            ]
          },
          "trigger_hint": {
            "description": "The creator's \"use this when…\" line. Self-reported, unverified.",
            "type": [
              "string",
              "null"
            ]
          },
          "latest": {
            "type": "string",
            "description": "The version a purchase delivers today."
          },
          "price_micro": {
            "type": "string",
            "description": "Micro-USDC for a new buyer. `9000000` is $9."
          },
          "price_usd": {
            "type": "string"
          },
          "update_price_micro": {
            "type": "string",
            "description": "`0` means updates are included for life once bought (FR-16)."
          },
          "artifact_class": {
            "description": "Computed: Prompt, Pack, Toolkit, Harness or System.",
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Computed from the artifact, never from the creator's words."
          },
          "inventory": {
            "description": "Computed, e.g. `1 skill · 9 scripts · 3 test files`.",
            "type": [
              "string",
              "null"
            ]
          },
          "matched": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The words of your query this listing matched."
          },
          "listing_url": {
            "type": "string"
          },
          "manifest_url": {
            "type": "string"
          }
        },
        "required": [
          "owner",
          "slug",
          "description",
          "trigger_hint",
          "latest",
          "price_micro",
          "price_usd",
          "update_price_micro",
          "artifact_class",
          "tags",
          "inventory",
          "matched",
          "listing_url",
          "manifest_url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "query",
    "total",
    "results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢how_to_buy(owner, slug)

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`.

입력 스키마

{
  "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#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "live",
        "retired"
      ]
    },
    "for_sale": {
      "type": "boolean",
      "description": "False when retired or when no release has passed the scan; then nothing here can be bought."
    },
    "latest": {
      "type": [
        "string",
        "null"
      ]
    },
    "price_micro": {
      "type": "string",
      "description": "Micro-USDC for a new buyer. `9000000` is $9. A wallet that already owns a version is quoted less by `check_version`."
    },
    "price_usd": {
      "type": "string",
      "description": "The same price as dollars, the way the site prints it: `$9`, `$9.50`, `$0`."
    },
    "update_price_micro": {
      "type": "string",
      "description": "`0` means updates are included for life once bought (FR-16)."
    },
    "listing_url": {
      "type": "string",
      "description": "The page. Server-rendered; readable as markdown with `Accept: text/markdown`."
    },
    "manifest_url": {
      "type": "string",
      "description": "The free public manifest: tree, licence, dependencies, scan."
    },
    "skill_url": {
      "type": "string",
      "description": "The full buying procedure, as an Agent Skill. Hand this to an agent that has a wallet."
    },
    "resource_endpoint": {
      "type": "string",
      "description": "The x402 endpoint. GET it to receive the 402; pay it to receive the download."
    },
    "mcp_url": {
      "type": "string"
    },
    "with_a_wallet": {
      "type": "string",
      "description": "What an agent that can sign EIP-3009 should do."
    },
    "without_a_wallet": {
      "type": "string",
      "description": "What to tell a person when you cannot sign."
    }
  },
  "required": [
    "owner",
    "slug",
    "status",
    "for_sale",
    "latest",
    "price_micro",
    "price_usd",
    "update_price_micro",
    "listing_url",
    "manifest_url",
    "skill_url",
    "resource_endpoint",
    "mcp_url",
    "with_a_wallet",
    "without_a_wallet"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_listing(owner, slug)

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`).

입력 스키마

{
  "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#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "artifact_sha256": {
      "type": "string"
    },
    "published_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "live",
        "retired"
      ],
      "description": "`retired` still reads: holders keep their access (FR-43)."
    },
    "manifest_url": {
      "type": "string"
    },
    "computed": {
      "description": "Everything the analyser measured from the artifact."
    },
    "self_reported": {
      "description": "The creator's own description and trigger hint."
    }
  },
  "required": [
    "owner",
    "slug",
    "version",
    "artifact_sha256",
    "status",
    "manifest_url",
    "computed",
    "self_reported"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢check_version(owner, slug, wallet_signature)

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.

입력 스키마

{
  "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#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "latest": {
      "type": [
        "string",
        "null"
      ]
    },
    "published_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "price_micro": {
      "type": "string",
      "description": "Micro-USDC. `9000000` is $9.00."
    },
    "update_price_micro": {
      "type": "string",
      "description": "`0` means updates are included for life once bought (FR-16)."
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "live",
        "retired"
      ]
    },
    "releases_url": {
      "type": "string"
    },
    "resource_endpoint": {
      "type": "string"
    },
    "owned": {
      "description": "Only with a wallet signature: the newest version this wallet holds.",
      "type": [
        "string",
        "null"
      ]
    },
    "entitled": {
      "description": "Only with a wallet signature: true when the next fetch is free.",
      "type": "boolean"
    },
    "all_versions": {
      "type": "boolean"
    },
    "price_kind": {
      "type": "string",
      "enum": [
        "new",
        "update",
        "free",
        "owned"
      ]
    }
  },
  "required": [
    "owner",
    "slug",
    "latest",
    "published_at",
    "price_micro",
    "update_price_micro",
    "status",
    "releases_url",
    "resource_endpoint"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢purchase(owner, slug, payment_signature, wallet_signature, quote_id)

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.

입력 스키마

{
  "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#"
}
🟢fetch_release(owner, slug, version, wallet_signature)

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.

입력 스키마

{
  "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#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string"
    },
    "artifact_sha256": {
      "type": "string"
    },
    "download_url": {
      "type": "string"
    },
    "expires_at": {
      "type": "string"
    }
  },
  "required": [
    "version",
    "artifact_sha256",
    "download_url",
    "expires_at"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 6개
검증됨버전이 기록되지 않음도구 6개