mcp
Find the repo to build from: search 100k+ repos by base-fitness, clone free or buy over x402.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mcp": {
"url": "https://gitbuyer.com/mcp"
}
}
}远程端点
https://gitbuyer.com/mcpstreamable-http它能做什么
工具清单
工具(16)
🟢whoami
Who am I signed in as, how many listings, live or rehearsal.
输入模式
{
"type": "object",
"properties": {},
"required": []
}🟢seller_setup
The seller setup wizard. Returns wizard_url: a one-time signed-in link to the full browser wizard — it can GENERATE a payout wallet safely (keys shown once in the browser, never stored, user must confirm saving them), connect GitHub, and list the first repo. Call this when the user wants to start selling, has no wallet, or asks to finish setup; offer wizard_url.
输入模式
{
"type": "object",
"properties": {},
"required": []
}🟢list_stores
Every listed repo in this account: repo, page, price, checkout URLs.
输入模式
{
"type": "object",
"properties": {},
"required": []
}🟢get_store(owner, repo)
One listing's full settings: price, payout wallets, preview paths, whether a GitHub key is on file.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"repo": {
"type": "string"
}
},
"required": [
"owner",
"repo"
]
}🟡set_payout_wallets(wallet_base, wallet_solana)
Save the account's default payout wallets: USDC on Base (0x…) and/or Solana (base58). The onboarding wallet step: once saved, create_store needs only the repo URL, and a chain added here propagates to existing listings so the whole inventory offers it. An empty string clears a wallet.
输入模式
{
"type": "object",
"properties": {
"wallet_base": {
"type": "string",
"description": "USDC payout wallet on Base (0x…); empty string clears"
},
"wallet_solana": {
"type": "string",
"description": "USDC payout wallet on Solana (base58); empty string clears"
}
},
"required": []
}🟡create_payout_wallet
The seller needs a payout wallet and does not have one: returns wizard_url, a one-time signed-in link to gitbuyer's in-browser wallet generator (keys created in the browser, shown once, never stored, never in the chat). Call whenever a user asks to create, make or generate a wallet, or says they have none.
输入模式
{
"type": "object",
"properties": {},
"required": []
}🟡create_store(github_url, price_usd, wallet_base, wallet_solana, github_pat, ...)
List a GitHub repo for sale: URL, price, payout wallet(s); USDC on Base (0x…) and/or Solana (base58); both offers the buyer the choice. Private repos need a fine-grained PAT (Contents read-only, that one repo), unless the account has the GitHub App installed on the repo, in which case no key is needed at all. The listing is live at `page` immediately.
输入模式
{
"type": "object",
"properties": {
"github_url": {
"type": "string"
},
"price_usd": {
"type": "string",
"description": "e.g. \"25.00\"; defaults to 20.00"
},
"wallet_base": {
"type": "string",
"description": "USDC payout wallet on Base (0x…)"
},
"wallet_solana": {
"type": "string",
"description": "USDC payout wallet on Solana"
},
"github_pat": {
"type": "string",
"description": "fine-grained PAT for private repos"
},
"preview_paths": {
"type": "array",
"items": {
"type": "string"
},
"description": "globs buyers may read free before paying"
}
},
"required": [
"github_url"
]
}🟡update_store(owner, repo, price_usd, wallet_base, wallet_solana, ...)
Edit a listing without re-listing it: reprice, rewallet, rekey, or change preview paths. Only the fields you send change; the old checkout is voided so stale links stop selling.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"repo": {
"type": "string"
},
"price_usd": {
"type": "string"
},
"wallet_base": {
"type": "string"
},
"wallet_solana": {
"type": "string"
},
"github_pat": {
"type": "string",
"description": "new key; empty string clears"
},
"preview_paths": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"owner",
"repo"
]
}🔴delete_store(owner, repo)
Take a store down and void its checkout so old links stop being payable.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"repo": {
"type": "string"
}
},
"required": [
"owner",
"repo"
]
}🟢get_sales(owner, repo)
One store's settled payments, newest first: count and revenue (real money only), rehearsals flagged beside.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"repo": {
"type": "string"
}
},
"required": [
"owner",
"repo"
]
}🟢get_traffic(owner, repo, days)
One store's audience: humans vs agents by day, unique visitors, countries and cities, referrers, the files buyers tried to open before paying.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"repo": {
"type": "string"
},
"days": {
"type": "integer",
"description": "window, default 30, max 365"
}
},
"required": [
"owner",
"repo"
]
}🟢get_github
The GitHub connection: installations, their repos (listed or not), and orphaned listings whose repo left the installation: the catalogue-management view.
输入模式
{
"type": "object",
"properties": {},
"required": []
}🟢get_stats(days)
The whole account at a glance: every store with its sales, revenue, visits, human/agent split and buy-intent file views, plus account totals. Start here for 'how am I doing?'.
输入模式
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "traffic window, default 30"
}
},
"required": []
}🟢find_base(building)
Say what you are building; get ONE repo to build from. The verdict is chosen by kind (starters first), freshness, and relevance, and comes with a plain-words why, the clone command target, and two alternatives. Adapting a proven base ships production-shaped code instead of a from-scratch demo. Needs no account.
输入模式
{
"type": "object",
"properties": {
"building": {
"type": "string",
"description": "what you are building, in task words, e.g. \"a saas with stripe subscriptions and auth\""
}
},
"required": [
"building"
]
}输出模式
{
"type": "object",
"properties": {
"building": {
"type": "string"
},
"matched": {
"type": "string"
},
"pick": {
"type": [
"object",
"null"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"listed",
"indexed"
]
},
"repo": {
"type": "string"
},
"stars": {
"type": [
"integer",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"starter": {
"type": [
"boolean",
"null"
]
},
"repo_kind": {
"type": [
"string",
"null"
]
},
"pushed_at": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": true
},
"alternatives": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"listed",
"indexed"
]
},
"repo": {
"type": "string"
},
"stars": {
"type": [
"integer",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"starter": {
"type": [
"boolean",
"null"
]
},
"repo_kind": {
"type": [
"string",
"null"
]
},
"pushed_at": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": true
}
},
"note": {
"type": "string"
}
},
"additionalProperties": true
}🟢get_repo(owner, repo)
Read one gitbuyer repo in depth before cloning or buying: facts (stars, forks, freshness, releases, license, repo_kind), topics, the README excerpt, and the exact next move (clone command for free repos; x402 checkout and test URL for paid listings). Needs no account.
输入模式
{
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"repo": {
"type": "string"
}
},
"required": [
"owner",
"repo"
]
}输出模式
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"listed",
"indexed"
]
},
"repo": {
"type": "string"
},
"stars": {
"type": [
"integer",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"starter": {
"type": [
"boolean",
"null"
]
},
"repo_kind": {
"type": [
"string",
"null"
]
},
"pushed_at": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": true
}🟢search_repos(query, category, language, min_stars, license, ...)
Find the best repo to BUILD ON: terms match names, descriptions, topics, categories, licenses and READMEs, ranked by relevance (name beats topics beats description beats README) plus base fitness (stars band, freshness, releases). Returns paid listings (buy at `page`, x402) and free indexed repos (clone from `github`) together, listed first, each with stars, forks, pushed_at, releases, license and a starter flag. Needs no account. Empty query browses.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "e.g. \"fastapi stripe starter\""
},
"category": {
"type": "string",
"description": "exact category filter"
},
"language": {
"type": "string",
"description": "exact primary-language filter"
},
"min_stars": {
"type": "integer",
"description": "only repos with at least this many stars"
},
"license": {
"type": "string",
"description": "SPDX id (MIT, Apache-2.0, ...) or 'permissive' for the whole build-on-it set"
},
"updated_within_days": {
"type": "integer",
"description": "only repos pushed within this many days"
},
"starters": {
"type": "boolean",
"description": "only templates, boilerplates and starters — repos meant as a base"
},
"repo_kind": {
"type": "string",
"description": "what the repo IS: starter | app | library | tool | generator. Use 'starter' or 'app' when you want a base to ADAPT; results also carry repo_kind so you can reject mismatches before cloning."
},
"sort": {
"type": "string",
"description": "relevance (default with a query), stars (default without), or updated"
},
"limit": {
"type": "integer",
"description": "max results, default 30"
}
},
"required": []
}输出模式
{
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"listed",
"indexed"
]
},
"repo": {
"type": "string"
},
"stars": {
"type": [
"integer",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"starter": {
"type": [
"boolean",
"null"
]
},
"repo_kind": {
"type": [
"string",
"null"
]
},
"pushed_at": {
"type": [
"number",
"null"
]
}
},
"additionalProperties": true
}
},
"note": {
"type": "string"
}
},
"additionalProperties": true
}社区
证据