Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Pay x402 APIs in USDG on Robinhood Chain, borrow and repay a Priors credit line, check records.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
PRIORS_KEY, PRIORS_KEY_FILE, PRIORS_AGENT_ID, PRIORS_MAX_PRICE_USD, PRIORS_MAX_SPEND_USD, PRIORS_MAX_BORROW_USD, PRIORS_MAX_SPEND_DAY_USD, PRIORS_MAX_BORROW_DAY_USD, PRIORS_PAY_HOSTS「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"priors": {
"command": "npx",
"args": [
"-y",
"@priors/mcp"
],
"env": {
"PRIORS_KEY": "your-value",
"PRIORS_KEY_FILE": "your-value",
"PRIORS_AGENT_ID": "your-value",
"PRIORS_MAX_PRICE_USD": "your-value",
"PRIORS_MAX_SPEND_USD": "your-value",
"PRIORS_MAX_BORROW_USD": "your-value",
"PRIORS_MAX_SPEND_DAY_USD": "your-value",
"PRIORS_MAX_BORROW_DAY_USD": "your-value",
"PRIORS_PAY_HOSTS": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add priors --env PRIORS_KEY=your-value --env PRIORS_KEY_FILE=your-value --env PRIORS_AGENT_ID=your-value --env PRIORS_MAX_PRICE_USD=your-value --env PRIORS_MAX_SPEND_USD=your-value --env PRIORS_MAX_BORROW_USD=your-value --env PRIORS_MAX_SPEND_DAY_USD=your-value --env PRIORS_MAX_BORROW_DAY_USD=your-value --env PRIORS_PAY_HOSTS=your-value -- npx -y @priors/mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"priors": {
"command": "npx",
"args": [
"-y",
"@priors/mcp"
],
"env": {
"PRIORS_KEY": "your-value",
"PRIORS_KEY_FILE": "your-value",
"PRIORS_AGENT_ID": "your-value",
"PRIORS_MAX_PRICE_USD": "your-value",
"PRIORS_MAX_SPEND_USD": "your-value",
"PRIORS_MAX_BORROW_USD": "your-value",
"PRIORS_MAX_SPEND_DAY_USD": "your-value",
"PRIORS_MAX_BORROW_DAY_USD": "your-value",
"PRIORS_PAY_HOSTS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"priors": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@priors/mcp"
],
"env": {
"PRIORS_KEY": "your-value",
"PRIORS_KEY_FILE": "your-value",
"PRIORS_AGENT_ID": "your-value",
"PRIORS_MAX_PRICE_USD": "your-value",
"PRIORS_MAX_SPEND_USD": "your-value",
"PRIORS_MAX_BORROW_USD": "your-value",
"PRIORS_MAX_SPEND_DAY_USD": "your-value",
"PRIORS_MAX_BORROW_DAY_USD": "your-value",
"PRIORS_PAY_HOSTS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
PRIORS_KEY_FILE envPRIORS_AGENT_ID envPRIORS_MAX_PRICE_USD envPRIORS_MAX_SPEND_USD envPRIORS_MAX_BORROW_USD envPRIORS_MAX_SPEND_DAY_USD envPRIORS_MAX_BORROW_DAY_USD envPRIORS_PAY_HOSTS envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント priors-agents で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:PRIORS_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.18.2)がレジストリに届いたのは今日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, MemberVault MCP by usefulapi
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
List courses; add users to courses, remove course access or delete users in MemberVault.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
An MCP server that gives an AI assistant (Claude Desktop, Claude Code, or any MCP client) a USDG wallet on Robinhood Chain: pay x402-priced APIs, check balances, read any agent's Priors credit record, and borrow from and repay the agent's own Priors line, and keep its spare USDG saved in a Morpho vault until it needs it.
No install and no key: https://mcp.priors.trade/mcp (Streamable HTTP) answers the read-only questions (an agent's record and score, a backer's record, the pool's figures, recent loans, the facilitator's services) from the same public data as priors.trade. It holds no key and cannot send a transaction.
claude mcp add --transport http priors https://mcp.priors.trade/mcp
or, in any client that takes a remote server: { "mcpServers": { "priors": { "url": "https://mcp.priors.trade/mcp" } } }.
Show the agent's record in its README with the badge (its score and loans repaid, red once it has defaulted), its own id for ; Copy badge on priors.trade/agent?id= gives the line with the id filled in:
[](https://priors.trade/agent?id=<id>)
This package is the other half: a local server with the agent's wallet behind it, for paying, borrowing and repaying.
| tool | what it does | needs the key | |
|---|---|---|---|
pay_url(url, method?, body?, max_price_usd?, max_borrow_usd?, use_savings?) | fetch an https URL, pay its x402 402 in USDG if the price is ≤ max_price_usd (default $0.10); once the 402 names the price, if the wallet is short it first takes the difference out of savings (unless use_savings: false), and borrows the gap only if max_borrow_usd is given. Refuses private and local addresses, never follows a redirect, answers within 45 s, and never signs a second payment for a purchase (the same method, URL and body) that is still pending, until its validBefore plus 60 s (a new call resends the same one, also after a restart, in a new session or from another session of the same wallet: see PRIORS_STATE_DIR) | yes | |
wallet_balance(address?) | USDG and gas ETH of the wallet (or any address) | no (with address) | |
credit_status(agent_id?) | line, drawn, available, backer, record, score, open loans and due dates; on a stock line, the stock tokens behind it, and available capped by what the stock vault lets it draw. (0.12.1) available, and a stock line's "can be drawn now", are 0 with the reason when every loan would be refused: a default marked on the owner's account (any line), or a stock line whose agent changed hands, defaulted or is frozen | no (with agent_id) | |
stock_assets(symbol?) | the stock tokens the Priors stock vault accepts: live Chainlink price, whether it lends against each now (or why not: a sharp price move, a multiplier change, a paused or blocked token), loan-to-value | no | |
stock_position(agent_id?) | the stock tokens behind an agent's stock line: amount, what the vault values them at, loan-to-value, what the line can draw now, any lending hold | no (with agent_id) | |
borrow(amount_usd, days, dry_run?) | borrow USDG from the line into the wallet; both amounts required; dry_run quotes the fee. (0.10.2) Needs the wallet to be the agent's owner or its declared ERC-8004 wallet, the same rule as repay. A borrow sent whose answer is lost is counted and said to be possibly open (check credit_status); (0.12.0) so is one the node refused for "insufficient funds" while it holds the signed borrow (a copy sent again after an HTTP 429). (0.12.1) On a line SeatVaultV5 backs, a term over 10 days is refused before anything is sent | yes | |
| `repay(loan_id? \ | all, use_savings?)` | repay one of the agent's own loans, or all of them earliest due first; another agent's loan is refused, and (0.8.1) so is a loan opened while someone else held the agent; (0.10.2) a wallet that is neither the agent's owner nor its declared ERC-8004 wallet (a pool delegate the owner named) repays nothing — and, symmetrically, borrows nothing, so no loan is drawn that this server would then refuse to repay: the owner declares the agent's key with priors-mcp link-wallet. If the wallet is short of what is due, it first takes the difference out of savings (unless use_savings: false). From 0.8.0 its answer ends with share facts for each loan repaid (amount, on time or late, the record's page; also as structured content); the server never posts | yes |
savings(address?) | what the wallet (or any address) has saved in the savings vault, how much can come out right now, and the USDG in the wallet | no (with address) | |
save(amount_usd) | move spare USDG from the wallet into the savings vault, where it earns the vault's rate (at most PRIORS_MAX_SAVE_USD per call, PRIORS_MAX_SAVE_TOTAL_USD per run); needs ETH for gas | yes | |
| `unsave(amount_usd? \ | all)` | take USDG back out of savings into the wallet: a normal withdrawal, and when that is not enough, the rest from the vault's other markets in the same transaction (only where that costs no penalty); refused before any transaction when even that cannot pay it; needs ETH for gas | yes |
autopay_on(cap_usd?, use_savings?, late?, budget_usd?) | turn on Autopay: the wallet approves AutoRepay for a budget (4 x the limit per loan, never more: budget_usd can only set less) and enrolls, so each loan is repaid from the wallet (then its savings, if chosen) in the 6 hours before it is due, with no call per loan, while the wallet holds enough. It makes an on-time repayment more likely; it is not a promise. Default limit: the line plus a 30-day fee, at most PRIORS_MAX_AUTOPAY_USD; call again to approve more. Works once AutoRepay is deployed; needs ETH for gas | yes | |
autopay_off(clear_budget?) | turn Autopay off (and with clear_budget, set the approvals to 0) | yes | |
score_of(agent_id) | any agent's on-chain score (0 to 1000) and repayment record, plus its Priors Score v2 and trust rung when published | no | |
find_services(query?) | services registered with the Priors facilitator that accept USDG (GET /merchants): the ones Priors approved, and the ones under review whose own endpoint passed the facilitator's 402 check, marked so; hidden or unchecked ones are not listed | no | |
pt_quote(side, amount, slippage_bps?) | quote buying PT-USDG with USDG, selling it before maturity or redeeming it after: what comes out at the oracle's spot rate, the minimum a trade would name, the days to maturity and the fixed APY to maturity | no | |
pt_position(address?) | the wallet's (or any address's) PT-USDG: balance, what it is worth now, what it pays at maturity, and whether the Priors stock vault takes PT-USDG behind a line yet | no (with address) | |
pt_buy(amount_usdg, slippage_bps?, min_out_pt?, dry_run?) | buy PT-USDG with the wallet's USDG through Pendle's router (at most PRIORS_MAX_PT_USD per call, PRIORS_MAX_PT_TOTAL_USD per run), keeping back what payments signed and not settled yet still need; min_out_pt (pt_quote's "at least", the quote the user agreed to): a fresh quote under it is refused before anything is signed, and the swap names the larger of it and the fresh quote's own minimum; dry_run lists the calls; needs ETH for gas | yes | |
| `pt_sell(amount_pt \ | "all", slippage_bps?, min_out_usdg?, dry_run?)` | sell the wallet's PT-USDG for USDG at the market, before maturity; min_out_usdg holds the sale to the quote the user agreed to, as min_out_pt does a buy; needs ETH for gas | yes |
| `pt_redeem(amount_pt \ | "all", slippage_bps?, dry_run?)` | redeem the wallet's PT-USDG for USDG 1:1, from maturity (2027-03-25) on; needs ETH for gas | yes |
pt_buy_and_deposit(amount_usdg, agent_id?, include_held?, slippage_bps?, dry_run?) | only with PRIORS_PT_ONESTEP=on (below): buy PT-USDG with the wallet's USDG and deposit it, with the PT-USDG the wallet already holds (unless include_held is false), behind the agent's line on the Priors stock vault, which opens the line, in one call: four transactions (the exact USDG approval, the buy with its minimum out, the exact PT-USDG approval to the vault, the vault's open with this wallet's pool consent). The wallet must own the agent, and the agent must have no open stock line; checked before the first is signed. pt_buy's caps apply; dry_run lists the calls; needs ETH for gas | yes | |
fund_base(amount_usd, max_borrow_usd?) | only with Base on (below): move USDG to USDC in the same address on Base through Across, keeping back what Autopay and signed payments need, borrowing the gap only with max_borrow_usd; needs ETH for gas | yes | |
| `return_to_robinhood(amount_usd \ | "all")` | only with Base on: move USDC from the Base float back to USDG on Robinhood Chain through Relay, one signature and no gas on Base; keeps back what signed Base payments need | yes |
pay_gateway(service_id, input?, seller_url?, max_price_usd?, max_borrow_usd?, use_savings?) | (since 0.10.0) only with PRIORS_GATEWAY=on (below): buy one call from a seller in Vantis' Keyring catalog with one USDG payment on Robinhood Chain through Keyring's gateway, which pays the seller and relays its answer; pay_url's limits and its one payment per purchase apply | yes | |
join() | (since 0.11.0) only with PRIORS_JOIN=on: register an ERC-8004 identity on Robinhood Chain for the wallet when it owns none (one transaction, its gas in the wallet's ETH; too little is refused before anything is signed) and answer its id and its routes to a first line; a wallet that owns one gets its id and nothing is sent; a registration whose answer is lost is never sent twice | yes | |
first_line(agent_id?) | (since 0.12.0) only with PRIORS_JOIN=on: take the treasury's first line by invite for the identity the wallet owns, when it has no Priors record (after join), with no clone or Telegram: post the invite's 5 USDG bond from the wallet (USDG's approve, then InviteBond's deposit; it comes back by InviteBond's release, and a default forfeits it), get the invite from Priors' invite bot with one signature that proves ownership (only the bot's own start-page text, rebuilt here byte for byte, is signed), then sign the pool consent and redeem it (treasury v4's firstLine). Refused before anything is signed when the wallet does not own the identity, the identity already has a record (its state is the answer), the wallet lacks the ETH or the USDG, the bond would pass PRIORS_MAX_BOND_TOTAL_USD or PRIORS_MAX_SPEND_DAY_USD, or the bot says no invite is open now (its reason, with line_options' routes). A transaction whose answer is lost answers TX_UNCONFIRMED, and a second call never posts a second bond; needs ETH for gas | yes | |
line_key_status(agent_id?) | only with PRIORS_LINE_KEY=on (below): the agent's spending key on LineKey: whether one is set and live (or stale: the agent changed hands; expired; not the line's delegate: each pays nothing), its operator and whether that is this wallet, its caps per payment and per trailing period, its expiry, each payment's loan term and most fee, the payees with their own caps and what each can be paid now, what was paid in the period and when room frees up, and the pool's smallest loan (5 USDG) | no (with agent_id) |
| line_key_spend(payee, amount_usdg, ref?, agent_id?, dry_run?) | only with PRIORS_LINE_KEY=on: pay a payee the agent's owner listed on the key, from the agent's line, as a loan of the agent: the pool pays the payee directly, never through this wallet, which must be the key's operator. A ref (a job or an invoice: up to 31 bytes of text, or 32 in hex) is paid once per payee. Refused before anything is signed when the key's check refuses (each reason in words), the amount is under the pool's smallest loan or over its largest, the line refuses it in a simulation (no room, its backer's rule, a fee above the key's mo
冒頭だけを表示しています。続きはリポジトリで読めます