{"_id":"@agentutility/mcp-rollforge","_rev":"6-5959bde57f12991db50baf8de15cf6ea","name":"@agentutility/mcp-rollforge","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.1":{"name":"@agentutility/mcp-rollforge","version":"0.1.1","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","rollforge"],"license":"MIT","_id":"@agentutility/mcp-rollforge@0.1.1","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"homepage":"https://mcp.agentutility.ai/rollforge/","bugs":{"url":"https://github.com/rooz21/x402/issues"},"bin":{"agentutility-mcp-rollforge":"dist/index.js"},"dist":{"shasum":"00bff477ba865ba9eb40d00f83887c369d072408","tarball":"https://registry.npmjs.org/@agentutility/mcp-rollforge/-/mcp-rollforge-0.1.1.tgz","fileCount":4,"integrity":"sha512-klUqGQEGDcUv4yvaBXMzd09MEG+CpDwQnfsmhV62cwlKMGOFDatLAhRIy9rZSPVEy/8d7PCgYziyyfX935FVuA==","signatures":[{"sig":"MEUCIBQoyFg+CRXYniKFHxuNtwONhNabVki6wLZjd4B97UAzAiEAsQ119HUgI9KMAeSchLOBjQEGZ7viLubxVxLBcYBsszg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44247},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"repository":{"url":"git+https://github.com/rooz21/x402.git","type":"git","directory":"packages/mcp-rollforge"},"_npmVersion":"10.8.2","description":"MCP server for the @agentutility rollforge cluster — pay-per-call x402 tools, no API keys, USDC on Base.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.21.0","@x402/evm":"^2.12.0","@x402/fetch":"^2.12.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-rollforge_0.1.1_1782526555879_0.07274678084615349","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@agentutility/mcp-rollforge","version":"0.1.0","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","rollforge"],"license":"MIT","_id":"@agentutility/mcp-rollforge@0.1.0","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"homepage":"https://mcp.agentutility.ai/rollforge/","bugs":{"url":"https://github.com/rooz21/x402/issues"},"bin":{"agentutility-mcp-rollforge":"dist/index.js"},"dist":{"shasum":"d35b03381de84b6ee235ebcaae55bdaad7dfddbc","tarball":"https://registry.npmjs.org/@agentutility/mcp-rollforge/-/mcp-rollforge-0.1.0.tgz","fileCount":4,"integrity":"sha512-hMMUeLEzUifMRv43IT4Ap2dUOHHgWTFJdZmlSNLlxARSjQtrEhBtcviiKtqU7AIIN/X79w9aut+fi968mLiEdA==","signatures":[{"sig":"MEYCIQCRitnz1ct8jAXTuGvcAM3QdSqZ+e5NfHdkcrk042JmxQIhAKfp1nd8csB/uCwDHBHxcEoM0k+WFWAMP3FikgIipDa6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45399},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"7f085d738f6b73053aa1c0a6e4af67112f4376d6","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"repository":{"url":"git+https://github.com/rooz21/x402.git","type":"git","directory":"packages/mcp-rollforge"},"_npmVersion":"10.8.2","description":"MCP server for the @agentutility rollforge cluster — pay-per-call x402 tools, no API keys, USDC on Base.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.21.0","@x402/evm":"^2.12.0","@x402/fetch":"^2.12.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-rollforge_0.1.0_1782704280066_0.7272106607818138","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agentutility/mcp-rollforge","version":"0.1.2","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","rollforge"],"license":"MIT","_id":"@agentutility/mcp-rollforge@0.1.2","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"homepage":"https://mcp.agentutility.ai/rollforge/","bugs":{"url":"https://github.com/rooz21/x402/issues"},"bin":{"agentutility-mcp-rollforge":"dist/index.js"},"dist":{"shasum":"9532f01df06070f40ac81165ff4b046abb6ba00a","tarball":"https://registry.npmjs.org/@agentutility/mcp-rollforge/-/mcp-rollforge-0.1.2.tgz","fileCount":4,"integrity":"sha512-PNYxLbxvuqn3GGOdRTDDGl5iIZvIX4MQm4kC1Sp0L21oo/9vo45EHLj6sCmff3igxKHqUZgLuvjh6YFi201BUQ==","signatures":[{"sig":"MEYCIQDJk1F/Bs0L8DA0nhME2jFDwyzvrKWSs8YlB89GDFk16QIhAPy12H5prPWbs6o/NVV11B+MuufSbZOk6kbwv6iBFL9v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44093},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"repository":{"url":"git+https://github.com/rooz21/x402.git","type":"git","directory":"packages/mcp-rollforge"},"_npmVersion":"10.8.2","description":"MCP server for the @agentutility rollforge cluster — pay-per-call x402 tools, no API keys, USDC on Base.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.21.0","@x402/evm":"^2.12.0","@x402/fetch":"^2.12.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-rollforge_0.1.2_1782756447655_0.3106871416681245","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@agentutility/mcp-rollforge","version":"0.1.4","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","rollforge"],"license":"MIT","_id":"@agentutility/mcp-rollforge@0.1.4","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"homepage":"https://mcp.agentutility.ai/rollforge/","bugs":{"url":"https://github.com/rooz21/x402/issues"},"bin":{"agentutility-mcp-rollforge":"dist/index.js"},"dist":{"shasum":"1eeca2478dab25c57af7f16dbb4ec8ddaeba685c","tarball":"https://registry.npmjs.org/@agentutility/mcp-rollforge/-/mcp-rollforge-0.1.4.tgz","fileCount":4,"integrity":"sha512-/KIHA0wyMLs34DKtt8X91ehrypwesjy1sff4H+BJ+W5rZgz4C+MKYQo5GEgAVHYVduAyZFnpZflIj2baySXQDQ==","signatures":[{"sig":"MEUCIAyHh5Ia66RX4S75ESCSnb+28KrSC/36kIomrAu6USgdAiEAx/qIAC6Pk9zzI8IPeDcMAr6OjWwFaIIIJ7PMLSyuq2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45845},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e60d85b06e6a7aad743386a794e13c1dc0af2054","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"repository":{"url":"git+https://github.com/rooz21/x402.git","type":"git","directory":"packages/mcp-rollforge"},"_npmVersion":"10.8.2","description":"MCP server for the @agentutility rollforge cluster — pay-per-call x402 tools, no API keys, USDC on Base.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.21.0","@x402/evm":"^2.12.0","@x402/fetch":"^2.12.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-rollforge_0.1.4_1783053712848_0.4769164121506917","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@agentutility/mcp-rollforge","version":"0.1.5","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","rollforge"],"license":"MIT","_id":"@agentutility/mcp-rollforge@0.1.5","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"homepage":"https://mcp.agentutility.ai/rollforge/","bugs":{"url":"https://github.com/rooz21/x402/issues"},"bin":{"agentutility-mcp-rollforge":"dist/index.js"},"dist":{"shasum":"fae348233d20b1c5cf86da1eac62687bc4bd97c3","tarball":"https://registry.npmjs.org/@agentutility/mcp-rollforge/-/mcp-rollforge-0.1.5.tgz","fileCount":4,"integrity":"sha512-7UI2p7HODis4yFBnT90QEAEViGEMciCJrANISvgGddea20ESQtZ4YzdV++79QonCDMdYJbZkBW5nRiREUJP2kg==","signatures":[{"sig":"MEUCIFx5iJHnoSYlSi4nwoH3qTaoLpmIQIbbPXMzAp4XtcRdAiEAm7gI4FXwOoi7XhhLk9xSLvEdNTernAQSzDrjSvEMyyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45891},"main":"dist/index.js","type":"module","engines":{"node":">=18"},"gitHead":"bb16253ab9d06c11e824e1f2d1d907a5c815ef11","mcpName":"ai.agentutility/mcp-rollforge","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"repository":{"url":"git+https://github.com/rooz21/x402.git","type":"git","directory":"packages/mcp-rollforge"},"_npmVersion":"10.8.2","description":"MCP server for the @agentutility rollforge cluster — pay-per-call x402 tools, no API keys, USDC on Base.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"viem":"^2.21.0","@x402/evm":"^2.12.0","@x402/fetch":"^2.12.0","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.5.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-rollforge_0.1.5_1783646586895_0.42094981997304215","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@agentutility/mcp-rollforge","mcpName":"ai.agentutility/mcp-rollforge","version":"0.1.7","description":"MCP server for the @agentutility rollforge cluster — pay-per-call x402 tools, no API keys, USDC on Base.","license":"MIT","type":"module","main":"dist/index.js","bin":{"agentutility-mcp-rollforge":"dist/index.js"},"repository":{"type":"git","url":"git+https://github.com/rooz21/x402.git","directory":"packages/mcp-rollforge"},"homepage":"https://mcp.agentutility.ai/rollforge/","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","rollforge"],"dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","@x402/fetch":"^2.12.0","@x402/evm":"^2.12.0","viem":"^2.21.0"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.5.0"},"engines":{"node":">=18"},"_id":"@agentutility/mcp-rollforge@0.1.7","bugs":{"url":"https://github.com/rooz21/x402/issues"},"_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-iVfaUGVjMq+GEk6MRJIPfRPI+fx7gcbPsYgQ2ALbVX4InYemN2zoIhy60KXZqRs/JOig9LLHVQTC76f+0qahXg==","shasum":"e32c5edf60d9440be41967743e8fd36d14aff144","tarball":"https://registry.npmjs.org/@agentutility/mcp-rollforge/-/mcp-rollforge-0.1.7.tgz","fileCount":4,"unpackedSize":45891,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCOqEERpZrG5OFyA5M2NTzAPrTpprbdw4frK3fvrCIDBQIhANMfazQiX4e1XWTu9A8qsDhWMFwpi1TdpiE9B4ckzkW8"}]},"_npmUser":{"name":"agentutility","email":"aroozen+agentutility@gmail.com"},"directories":{},"maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-rollforge_0.1.7_1784663611151_0.04179507121064985"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-27T02:15:55.730Z","modified":"2026-07-21T19:53:31.422Z","0.1.1":"2026-06-27T02:15:56.005Z","0.1.0":"2026-06-29T03:38:00.243Z","0.1.2":"2026-06-29T18:07:27.796Z","0.1.4":"2026-07-03T04:41:53.051Z","0.1.5":"2026-07-10T01:23:07.023Z","0.1.7":"2026-07-21T19:53:31.277Z"},"bugs":{"url":"https://github.com/rooz21/x402/issues"},"license":"MIT","homepage":"https://mcp.agentutility.ai/rollforge/","keywords":["mcp","model-context-protocol","x402","agentutility","agent-tools","rollforge"],"repository":{"type":"git","url":"git+https://github.com/rooz21/x402.git","directory":"packages/mcp-rollforge"},"description":"MCP server for the @agentutility rollforge cluster — pay-per-call x402 tools, no API keys, USDC on Base.","maintainers":[{"name":"agentutility","email":"aroozen+agentutility@gmail.com"}],"readme":"# @agentutility/mcp-rollforge\n\n> The whole tabletop toolkit, one call at a time.\n\nDice, characters, NPCs, encounters, loot, and the full 5e SRD reference — monsters, spells, equipment, classes, races, conditions, magic items. Build a character, stat an encounter, resolve the rolls, and look up every rule without leaving the cluster.\n\n**Pricing:** pay-per-call in USDC on Base. No subscriptions, no API keys. See per-tool prices below.\n\n## Install — Claude Desktop\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"agentutility-rollforge\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@agentutility/mcp-rollforge\"],\n      \"env\": { \"X402_PRIVATE_KEY\": \"0xYOUR_PRIVATE_KEY_HEX\" }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. 26 tools appear in the tool palette.\n\n## Install — Cursor\n\nAdd to `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"agentutility-rollforge\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@agentutility/mcp-rollforge\"],\n      \"env\": { \"X402_PRIVATE_KEY\": \"0x...\" }\n    }\n  }\n}\n```\n\n## Funding\n\nSend any amount of **USDC on Base mainnet** to the address derived from your `X402_PRIVATE_KEY`. The MCP server uses it to pay for tool calls automatically.\n\nUSDC on Base contract: `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`\n\n## Tools (26)\n\n| Tool | Description |\n|---|---|\n| `ability-check` | (0.005 USDC/call) Resolves a d20 ability check, skill check, attack roll, or saving throw for tabletop RPGs. Rolls a d20 with an optional modifier and advantage/disadvantage, compares to a DC, and reports total, success/failure, and natural-20 / natural-1. Seedable. Use it as a d20 check resolver API for any RPG. |\n| `background-gen` | (0.005 USDC/call) Character background generator API / personality trait, ideal, bond, flaw generator for tabletop RPGs. Rolls the four roleplaying hooks for a character sheet — a personality trait, an ideal, a bond, and a flaw. Seedable. Original generic-fantasy phrasing. |\n| `character-gen` | (0.005 USDC/call) Generates a complete D&D 5e-style character, from ability scores to a procedurally generated name. Rolls ability scores (4d6-keep-highest-3, 3d6, or standard array) assigned by class priority, plus race / class / background / alignment, racial ability bonuses, derived hit points, ability modifiers, proficiency bonus, and saving-throw proficiencies. Pin any field (race, class, level 1-20, method, name) or omit to randomize; pass 'seed' for a reproducible character. Uses only 5e SRD content (OGL 1.0a / CC-BY-4.0). Use it as a tabletop character generator API, RPG character creator, or random fantasy character builder. |\n| `character-portrait` | (0.08 USDC/call) Generates an RPG character portrait from structured inputs and returns a hosted PNG URL. Builds the image from race, class, gender, a free-text description, and an art style (fantasy-art, realistic, anime, oil-painting, ink-sketch, watercolor, pixel-art, comic-book). Pairs with character-gen: generate the character, then its portrait. Text-to-image via Venice, output hosted on fal. Use it as a character portrait generator API, RPG character art source, D&D character image maker, or fantasy avatar generator. |\n| `class-lookup` | (0.003 USDC/call) Looks up a D&D 5e class by name for its SRD reference details. Returns hit dice, armor/weapon/tool/skill proficiencies, saving throws, spellcasting ability, and starting equipment; or list all SRD classes. SRD content only (OGL 1.0a / CC-BY-4.0). Use it as a class lookup API or class proficiencies and hit dice reference. |\n| `condition-lookup` | (0.003 USDC/call) D&D 5e condition lookup API / SRD conditions reference (blinded, grappled, prone, stunned, etc.). Look up a condition by name for its full rules text, or list all SRD conditions. SRD content only (OGL 1.0a / CC-BY-4.0). |\n| `dice-roll` | (0.005 USDC/call) Rolls dice from standard dice notation for tabletop RPGs. Evaluates XdY, flat modifiers (+/-), and keep-highest / keep-lowest (4d6kh3 for stat rolls, 2d20kh1 / 2d20kl1 for advantage/disadvantage). Returns each individual die, which were kept vs dropped, the per-roll total, and the grand total; roll the whole expression up to 100 times with 'rolls'. Pass 'seed' for reproducible output. Use it as a dice roller API, dice notation evaluator, or tabletop random roll engine. |\n| `dice-stats` | (0.005 USDC/call) Calculates the probability distribution of a dice roll, anydice-style. For plain XdY+mod returns the EXACT distribution (mean, stdev, min, max, and P(>= target)); for keep-highest/lowest (4d6kh3, 2d20kl1) estimates via seeded Monte Carlo. For sizing DCs, damage, and stat rolls. Use it as a dice probability calculator API, dice statistics tool, or odds-of-a-dice-roll checker. |\n| `dungeon-room` | (0.005 USDC/call) Generates a random dungeon room for game masters: shape, contents, a notable feature, a hazard, an occupant, and the number of exits. Pass 'rooms' for a small batch. Seedable. Use it as a dungeon room generator API, random dungeon generator, or D&D room description source. |\n| `encounter-builder` | (0.005 USDC/call) Encounter builder / encounter difficulty calculator API for D&D 5e. Give the party (levels, or size + level) to get easy/medium/hard/deadly XP thresholds; optionally give monster CRs to get the multiplier-adjusted XP and the resulting difficulty rating. SRD DMG tables (OGL 1.0a / CC-BY-4.0). |\n| `equipment-lookup` | (0.003 USDC/call) Looks up D&D 5e weapons and armor from the SRD by name. Returns weapon damage dice/type/properties/cost, or armor class/cost/weight/stealth; or list items by type ('weapon' or 'armor'). SRD content only (OGL 1.0a / CC-BY-4.0). Use it as an equipment lookup API or gear stats reference. |\n| `initiative-roll` | (0.005 USDC/call) Initiative tracker / initiative order roller API for tabletop combat. Each combatant rolls 1d20 plus their initiative (DEX) modifier; returns the full turn order, ties broken by modifier then input order. Seedable. |\n| `loot-gen` | (0.005 USDC/call) Loot generator / treasure generator API for D&D 5e. Rolls coins (and, for hoards, gems/art objects and a magic-item slot) scaled by a challenge-rating band. SRD-style treasure math (OGL 1.0a / CC-BY-4.0). Seedable. |\n| `magic-item-lookup` | (0.003 USDC/call) Looks up a D&D 5e magic item by name from the SRD. Returns type, rarity, attunement, and full description; or list items filtered by rarity and/or type. SRD content only (OGL 1.0a / CC-BY-4.0). Use it as a magic item lookup API, SRD magic items search, or wondrous item reference. |\n| `monster-lookup` | (0.003 USDC/call) Looks up a D&D 5e monster by name and returns a compact SRD stat block. Includes size, type, alignment, AC, HP, hit dice, speed, ability scores, challenge rating, and actions; or list monsters filtered by challenge rating and/or type. SRD content only (OGL 1.0a / CC-BY-4.0). Use it as a monster lookup API, SRD monster stat block source, or bestiary search. |\n| `name-gen` | (0.005 USDC/call) Generates original fantasy names for RPG characters and NPCs, optionally flavored by race (Dwarf, Elf, Half-Orc, etc.). Names are original and syllable-built. Batch up to 50 at once with 'count'; pass 'seed' for reproducible output. Use it as a fantasy name generator API, RPG name generator, or a source of random D&D character and NPC names by race. |\n| `npc-gen` | (0.005 USDC/call) Generates a quick NPC for game masters: name, race, occupation, personality trait, distinctive appearance, mannerism, and a hidden secret/plot hook. Pin race or occupation, or omit to randomize. Seedable. Use it as an NPC generator API, random D&D NPC, or tabletop character generator for GMs. |\n| `quest-gen` | (0.005 USDC/call) Generates a random quest hook for tabletop adventures: giver, objective, location, complication, and reward, plus a one-line ready-to-read hook. Seedable. Original generic-fantasy content. Use it as a quest generator API, random plot hook, or D&D adventure seed generator. |\n| `race-lookup` | (0.003 USDC/call) Looks up a D&D 5e race by name for its SRD racial traits. Returns ability score increases, speed, size, languages, vision, and racial traits; or list all SRD races. SRD content only (OGL 1.0a / CC-BY-4.0). Use it as a race lookup API or racial traits and ability score increases reference. |\n| `random-table` | (0.005 USDC/call) Rolls on any custom random table you provide, with optional weights or classic die ranges. Accepts weighted entries ([{value, weight?}]) or die-range rows ([{min,max,result}] with a 'die'), any number of times, with or without replacement. Seedable. A generic random-selection utility for any custom table. Use it as a random table roller API, weighted random picker, or loot and rumor table roller. |\n| `settlement-gen` | (0.005 USDC/call) Generates a random fantasy settlement: name, size category with a plausible population, government, primary trade, a notable feature, and a current problem the party could engage with. Pin 'size' (hamlet/village/town/city) or randomize. Seedable. Use it as a settlement generator API, random town generator, or D&D village and city generator. |\n| `spell-lookup` | (0.003 USDC/call) Looks up a D&D 5e spell by name and returns full SRD details. Includes level, school, casting time, range, components, duration, concentration, ritual, classes, description, and higher-level scaling; or list spells filtered by level and/or school. SRD content only (OGL 1.0a / CC-BY-4.0). Use it as a spell lookup API, SRD spell search, or spell card details source. |\n| `spell-slots` | (0.005 USDC/call) Looks up D&D 5e spell slots by class and level. Returns the level 1-9 spell-slot array for any 5e class at a given level (full casters, half-casters like Paladin/Ranger, Warlock pact magic, and non-casters), plus proficiency bonus. SRD spellcasting tables (OGL 1.0a / CC-BY-4.0). Use it as a spellcasting slot table API or pact magic lookup. |\n| `tavern-gen` | (0.005 USDC/call) Generates a random fantasy tavern: name, proprietor, the house drink and meal, a notable patron, and a rumor overheard inside. Seedable. Original generic-fantasy content. Use it as a tavern generator API, random fantasy inn, or D&D tavern name and details source. |\n| `weather-gen` | (0.005 USDC/call) Rolls a day's weather for a fantasy RPG campaign by climate (temperate, arid, cold, tropical), with conditions and wind. Pass 'days' for a short forecast. Seedable. Use it as a fantasy weather generator API, random RPG weather source, or tabletop campaign weather forecast. |\n| `xp-level` | (0.005 USDC/call) Converts between XP and level using the D&D 5e experience table. Give 'xp' to get the current level, XP to the next level, and progress; or give 'level' to get the XP needed to reach it. Returns proficiency bonus. SRD advancement table (OGL/CC). Use it as an XP to level calculator or level from XP lookup API. |\n\n## How it works\n\n1. Agent calls a tool (e.g. `ability-check`).\n2. MCP server POSTs to `https://x402.agentutility.ai/ability-check`.\n3. The endpoint responds **HTTP 402** with payment instructions.\n4. The MCP server signs an EIP-3009 USDC transfer authorization with `X402_PRIVATE_KEY` and retries.\n5. CDP facilitator settles on Base.\n6. The endpoint returns the actual response.\n\nThe agent never sees the payment flow — it just gets the result.\n\n## Links\n\n- Cluster overview: https://agentutility.ai/rollforge/\n- All MCP packages: https://mcp.agentutility.ai/\n- Source: https://github.com/rooz21/x402/tree/main/packages/mcp-rollforge\n\n---\n\n**Version:** 0.1.7 · **License:** MIT\n","readmeFilename":"README.md"}