Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Read FUIN ONI state, grind PoW mint proofs, build unsigned mint calldata on BSC. Never signs.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 Goatleaf12 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.0.0)于5天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Spec Driven Development, Remote Desktop Commander, arr-mcp
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况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.
One server, 40 tools, the whole media stack: *arrs, Jellyfin, Plex, Seerr, Cleanuparr, downloaders
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
FUIN ONI are 2,222 sealed-oni NFTs on BNB Smart Chain (BSC, chainId 56), minted by proof of work. Every NFT is an oni spirit sealed into a mask, and rarity is not drawn — it is mined: the strength of the keccak256 proof an agent submits at mint sets the unit's tier. Two mechanics sit on top of the proof ladder: the Crown Race, which alone decides Legendary, and the Soul Harvest, a weekly duel pot funded by half of every mint fee. There is no dev allocation and no free mint path; every unit enters only through the same gated proof-of-work mint described below.
0x113a7077a18ca27b3DA6Ee20db0F5Ec826B48659 (BscScan)llms.txt)Minting requires holding a Binance Agent ID: the contract view hasAgentId(wallet) must return true (the wallet must hold a balance in the soulbound Agent ID registry 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F). A wallet's challenge is keccak256(contract ‖ wallet ‖ mintedBy) and rotates after every successful mint. To mint, an agent grinds a uint256 nonce such that keccak256(challenge ‖ nonce) has at least 24 leading zero bits, then calls mint(nonce) with the exact price for its mint count. The proof's strength — not a random draw — decides the ladder tier:
| Leading zero bits | Tier | Share of all valid proofs |
|---|---|---|
| 24–27 | Common | 93.75% |
| 28–31 | Uncommon | 5.86% |
| 32–34 | Rare | 0.34% |
| 35+ | Epic | 0.049% |
Grinding longer always yields a stronger-or-equal tier: expected work is ~16M hashes for 24 bits, ~268M for 28 bits, ~4.3B for 32 bits, ~34B for 35 bits.
Legendary is never rolled from a proof band. The supply is split into blocks of 100 mints (block 0 = tokens 1–100). Inside a block, the strongest proof (smallest proof hash) leads; the lead can change hands until the block closes, which happens when the first mint of the next block lands (or at sellout for the final block). The locked leader is crowned Legendary — tierOf returns 4 — only if its proof reached at least 32 bits; a block whose best proof stays below 32 bits crowns nobody. A giant proof that loses its block keeps its ladder tier. There are 23 blocks, so at most 23 Legendaries can ever exist.
Exactly half of every mint fee accrues on-chain to harvestReserve — a weekly holders' duel pot. The owner's withdraw() can never touch the reserve; it can only be paid out to duel winners via distributeHarvest(), capped by the reserve. Duel power is computed from public on-chain data: proof bits + the unit's Duel Bonus (a 0–3 portrait bonus fixed at mint, published in the metadata) + a weekly blockhash seed. By the project's published commitment, 2% of every secondary sale (of the 5% royalty; the other 3% goes to the project) is also set aside for the pot.
Fixed in the contract (constants or one-time deployment settings — no one can change them, including the owner):
mintPrice(yourWallet) immediately before paying; the contract requires the exact value.Honest state of the collection as of 2026-11-02:
mintOpen() on-chain is the only authority on this — check it before minting; it can change.mintOpen(), totalMinted() and mintedBy(yourWallet); stop if the mint is closed, supply is exhausted, or the wallet already minted 3. Check the gate: hasAgentId(yourWallet) must be true.challengeFor(yourWallet).mintPrice(yourWallet), the nonce, its proof bits and expected tier. Submit only with your operator's approval where your setup requires it.mint(nonce) with value exactly mintPrice(yourWallet), re-read immediately before submitting.ownerOf(tokenId), proofBitsOf(tokenId), tierOf(tokenId), and the transaction hash.Full step-by-step instructions: AGENT_MINT_PROMPT.md. A reference MCP server that performs the read-only steps, grinds proofs, and builds the unsigned mint transaction is in mcp/.
Each unit's portrait is an AI painting from a fixed per-tier pool, picked deterministically from the seed keccak256(tokenId, proofBits); the pool is frozen at launch, so the portrait shown at mint is the portrait forever. A crowned champion's portrait ascends to its Legendary-pool painting. Metadata JSON is served per token at https://fuin-meta.oagenthq.workers.dev/ .
contracts/FuinOni.sol — the deployed contract source (Sourcify exact match).AGENT_MINT_PROMPT.md — copy-paste mint procedure for AI agents.llms.txt — the machine-readable mint specification served by the website.mcp/ — dependency-free Python 3 MCP server (read / grind / build unsigned calldata; it never holds keys and never signs).smithery.yaml, server.json — MCP directory manifests.MIT — see LICENSE.