Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Exact-amount top-two routing for six pilots; caller signs; AssetFare never signs or submits
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://api.assetfare.dev/mcpRun this in your terminal
claude mcp add --transport http assetfare https://api.assetfare.dev/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"assetfare": {
"url": "https://api.assetfare.dev/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"assetfare": {
"type": "http",
"url": "https://api.assetfare.dev/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://api.assetfare.dev/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account assetfare, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.21.6) reached the registry 12 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, topo^alpin
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
AssetFare saves agent time and tokens by exploring multi-amount candidate curves every 30 minutes. On six Solana-origin Base/Arbitrum pilot corridors, those observations only shortlist three candidates; the caller's request then quotes all three at the actual requested amount and returns at most two choices inside the time profile. Balanced defaults to 60 seconds, fast to 30 seconds, and economy is an explicit slower mode. Candidates over the time limit remain reference-only. Selection reuses the exact request-time quote while valid; after expiry it refreshes only the chosen candidate at the same amount and never silently switches routes. Selection itself is never transaction authority. Caller approves and signs; the server never signs or submits.
Core 2.17.0 quotes also include strict continuation_v3. MCP 1.21.6 verifies the canonical full-quote hash, route-summary hash and fingerprint claim, exact path/providers, caller wallet-chain and event-signer requirements, base-unit bounds, allowed mode and TTL. Every quote remains unranked_candidate; no adapter selects it automatically, and caller_approved:true alone is not human-approval proof.
The portable quote hash removes continuation_v3, replaces duplicated raw base-unit numbers with the exact decimal strings in direct_route_summary, then hashes AssetFare typed-canonical-v1 bytes. That encoding preserves JSON type, uses exact IEEE-754 binary64 bytes for finite numbers, UTF-8 byte lengths and byte-sorted object keys, distinguishes -0 from 0, and rejects every non-substituted integral number outside JavaScript's safe-integer range. The required literal quote_payload_sha256_spec appears both on continuation_v3 and in its fingerprint claim, preventing numeric-string collisions and cross-language precision ambiguity.
AssetFare is an agent-native, non-custodial native-USDC bridge and cross-chain route service. Solana native USDC → Base native USDC is the canonical route: an agent gets a fresh quote and, only after explicit caller approval, a bounded unsigned transaction plan the caller verifies and signs. AssetFare also provides bridge and cross-chain swap routes across 65 curated public route products: 3 core, 50 conditional, and 12 strategic/scarce. AssetFare service fee 1bp; Circle/provider/network fees additional; quote exposes total token-path cost and live availability; server never signs/submits. Solana SOL → Base USDC and Optimism USDC → Base USDC are also supported. AssetFare never receives private keys, signs, or submits.
For product inclusion and review timing, read economic_guidance and the complete research catalog at https://assetfare.dev/route-economics.json. price_recommended_for_amount is advisory; when it is false, compare a fresh all-in quote if price matters. It does not add an acknowledgement field or block prepare/session creation. The API accepts USD 1 as a shared technical minimum.
For agent-wallet funding, use AssetFare for aggregate refills or material transfers rather than reacting to each failed x402 micropayment. Use the route-specific best-from amount and confirm the fresh quote. A wallet that is empty on every supported source chain is not an AssetFare use case.
Verify before trusting: public source, Ed25519-signed manifest, public key, security.txt, and on-chain execution evidence. Best-from calls are not 100% guarantees; confirm the fresh AssetFare quote.
Every v2 quote includes direct_route_summary, an intent-bound ordered provider path with normalized chain:asset endpoints, exact base-unit amount bounds as decimal strings, the single AssetFare 1bp fee step, and server-signing/server-submission=false. direct_protocol_only means every step uses a disclosed direct protocol. All current routes use that classification; external_intent remains only as a compatibility enum. route_aggregator_used=false describes AssetFare's own engine and does not claim every provider avoids internal aggregation. Circle/provider costs remain in cost_summary.provider_fee_components. Contract 2.6.1 also exposes known LayerZero native fees and bounded source-gas estimates in separately_paid_costs, provides expected_all_in_cost_usd_estimate, and names the native balance the caller must retain. Costs that still cannot be priced remain explicit in unpriced_costs.
continuation_v3 binds the entire quote (excluding the continuation object itself) to a process-local, maximum-60-second Core cache. A later exact approval_v3 selects one_shot or session, may only strengthen the quote's maximum-input/minimum-output bounds, and fails closed after expiry, restart, path/provider drift, wallet/signer requirement drift, mode conflict or replay. Multi-step routes are session-only. Omitting approval_v3 is explicitly legacy_advisory; the boolean gate remains required but is not human proof.
The dependency-free assetfare-verify CLI verifies evidence instead of accepting an AssetFare pass, safe, score, or verdict field. From this checkout, live verification is explicit:
node scripts/assetfare-verify.mjs --live
A package release that contains the assetfare-verify bin entry can be invoked with npx --yes --package=assetfare-mcp assetfare-verify --live. Do not pin an older package version that predates this command.
Live mode uses the public Ed25519 key and key id embedded in the verifier. It fetches only the pinned manifest and its hash-bound safety bundle, rejects redirects, unexpected MIME types, non-canonical JSON, unknown/missing schema keys, oversized responses, expired manifests, and subjective safety claims. It then obtains eth_chainId and exact eth_getCode bytes from two independently pinned public RPC providers on every supported EVM chain. The raw bytes must agree with one another and with both the bundle's SHA-256 and Ethereum Keccak-256 evidence. These are read-only calls; the command has no signing or transaction-submission path.
For deterministic or air-gapped checking, pass all three trust-material files explicitly:
node scripts/assetfare-verify.mjs --offline \
--manifest ./fixtures/manifest.json \ --bundle ./fixtures/safety-bundle.json \ --pubkey ./fixtures/assetfare-manifest.pub
Offline mode makes no network requests. It verifies the supplied manifest signature, the signed bundle hash, exact schemas and claims, release/build/ deployment provenance, all seven EVM chains, and every embedded raw runtime-code hash. Its successful status is offline_evidence_verified, not a live RPC quorum result. npm run verify-selftest creates deterministic local fixtures and exercises bad signatures, bad bundle hashes and schemas, redirects, MIME confusion, chain/code disagreements, incomplete RPC evidence, and forbidden subjective claims.
AssetFare is maintained by a distributed project team using one public release namespace during the pilot. Roles, release controls, and the current public owner are documented in GOVERNANCE.md and MAINTAINERS.md; this is not a claim of incorporation or independent third-party audit.
Interfaces: MCP + A2A + REST/OpenAPI.
This repository contains an optional MCP adapter. The primary remote endpoint exposes eleven current v2 tools: signed manifest, capabilities, route selection, selected-candidate quoting, direct AssetFare quote, one-shot caller-approved prepare, and the five session-lifecycle operations. The 13 unversioned legacy tools remain available at the separate /mcp/legacy compatibility endpoint for the original Solana SOL → Base/Arbitrum ETH workflow. The two profiles never appear together on a remote endpoint. Agents can also evaluate any current v2 route without installing or connecting MCP:
https://assetfare.dev/apis.jsonhttps://api.assetfare.dev/v2/capabilitieshttps://api.assetfare.dev/v2/openapi.jsonhttps://api.assetfare.dev/v2/statushttps://assetfare.dev/arazzo.yamlhttps://assetfare.dev/pilot/assetfare_v2_capabilities and assetfare_v2_quote expose the 65 curated public route products. Thirty-five additional researched routes are not offered. Availability is live: check capabilities/quote before preparing. The shared USD 1 technical minimum applies.approval_v3 to prepare and session create. Its selected mode is schema-bound (one_shot versus session), and session approval must use the same idempotency key. The lower-level REST compatibility surface still labels omission legacy_advisory; it is not action authority for a new flow. Each call also requires literal caller_approved:true; the adapters never insert it and never describe it as human proof. Private key/seed/signed-transaction inputs are refused.X-AssetFare-Session-Token. The server stores only its hash. The remote MCP/A2A service never generates the secret; assetfare-plan keeps it in memory by default and writes it only to an explicit new mode-0600 file. The optional local stdio helper remains offline-only.verification_context from the selected quote, approval and public wallet map. A2A v1 uses the same object as required verificationContext. Both adapters validate it before any upstream call, keep it out of the upstream request, apply the complete semantic verifier to every returned current_action, and emit a fresh self-verifying wallet handoff. If context is missing after a restart or any target/program/bounds/binding drifts, the adapter fails before creating state or exposing an action.payload_sha256; wrapper fields are not part of that Core hash.Only the beginning is shown; read the rest in the repo