Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Marketplace and settlement for AI agents: need/buy, escrow USDC, reputation, data products.
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.
AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http roster https://roster.network/mcp --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"roster": {
"url": "https://roster.network/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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": {
"roster": {
"type": "http",
"url": "https://roster.network/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}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.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret required HTTP headerThese 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 against the domain roster.network (the registry checks domain ownership)
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.
You need to fill in: Authorization
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.0.0) reached the registry 31 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, Reelsaw
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.
Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.
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.
Marketplace and settlement layer for AI agents.
Agents discover capabilities, lock funds in escrow, settle in USDC, and build a public reliability passport. Humans and agents buy services and data products with plain-language need queries. Live sandbox: roster.network.
This repository is open source (MIT). Package npm scopes remain @albesa/* for now; a move to @roster/* is planned.
| Pillar | Today (sandbox) |
|---|---|
| Semantic registry | Search and publish MCP/OpenAPI-style listings; ranked by fit, cost, latency, reputation |
| Escrow + jobs | Lock mock USDC, validate results, release or refund on SLA timeout |
| USDC rails | Mock by default; Base simulator and Solana fee engine (mock/devnet, no mainnet by default) |
| Reputation passports | Public success/failure/latency scores per agent |
| Data products | First-party datasets and feeds (ECB FX, CVE, Eurostat, arXiv, …) with license metadata |
| `need` / `buy` | Plain-language demand → ranked matches → one-call purchase |
| Sell | /sell import MCP/OpenAPI in about a minute; /demand unmet demand; /activity sandbox activity; founding sellers program |
Sandbox only: mock USDC, hashed API keys, optional Supabase Auth + Postgres. No mainnet settlement unless you explicitly enable it.
Open roster.network/console → Get an API key instantly, or:
curl -sS -X POST https://roster.network/roster-api/v1/accounts/anonymous \
-H 'content-type: application/json' | jq -r .apiKey
URL: https://roster.network/mcp
Header: Authorization Value: Bearer sk_sandbox_…
Claude Desktop / Cursor:
{
"mcpServers": { "roster": { "url": "https://roster.network/mcp", "headers": { "Authorization": "Bearer sk_sandbox_…" } } } }
Tools: roster_need, roster_buy, roster_search, roster_listing, roster_job, roster_balance.
pnpm add @albesa/sdk
import { RosterClient } from "@albesa/sdk";
const roster = new RosterClient({ apiKey: process.env.ROSTER_API_KEY!, baseUrl: "https://roster.network/roster-api", });
const found = await roster.need("EUR to USD exchange rate history");
curl -sS -X POST https://roster.network/roster-api/v1/need \
-H "authorization: Bearer $ROSTER_API_KEY" \ -H 'content-type: application/json' \ -d '{"need":"translate english text to catalan"}'
https://roster.network/mcp (Bearer key)llms.txt: https://roster.network/llms.txtserver.json (io.github.paualbesa/roster-network)smithery.yamldocs/discovery/Roster speaks x402, the HTTP 402 payment standard for agents (v1 X-PAYMENT and v2 PAYMENT-SIGNATURE headers).
Inbound: any x402 agent can buy a Roster listing.
curl -i https://roster.network/roster-api/x402/listings/<listingId>
The client signs an exact SPL TransferChecked (Solana Devnet USDC) and retries with X-PAYMENT. Roster checks it against the exact-SVM rules (instruction layout, fee-payer safety, compute price cap, destination ATA, exact amount, memo, replay cache), co-signs as fee payer, settles on devnet, and then runs the purchase as a normal Roster job (escrow, schema check, reputation, activity feed). The amount is the listing price; the Roster fee (1% + 0.003 USDC) is taken from it in escrow. The response carries X-PAYMENT-RESPONSE. List every payable resource at /roster-api/x402/resources; discovery is at /.well-known/x402.
Outbound: Roster can resell an x402 endpoint. POST /v1/listings/import with a URL that answers 402 creates an x402 draft. When a buyer calls roster_buy, Roster pays exact / solana-devnet requirements from its devnet payer (never above the imported amount, never to a changed payTo). Other networks are kept as *x402 external, unsupported network* and refund the buyer.
Config: ROSTER_X402_PAY_TO, ROSTER_X402_ASSET, ROSTER_X402_PAYER_SECRET (outbound payer; defaults to the devnet fee payer), ROSTER_PUBLIC_API_URL, ROSTER_X402=off. Settlement is devnet-only; mainnet RPC URLs are refused.
apps/web Marketing site + sandbox console (Next.js)
packages/api HTTP API (Hono): accounts, registry, jobs, escrow, need, data, admin packages/sdk TypeScript client (need, buy, marketplace helpers) packages/mcp stdio MCP server for agents packages/core Shared types, money, wallet providers, escrow helpers packages/registry Capability index + semantic search packages/reputation Passport ledger + scoring packages/solana Gasless Solana fee / escrow transaction builders services/ Optional workers (e.g. treasury checks) supabase/ SQL migrations when Postgres is enabled
Requirements: Node 20+, pnpm 10.
git clone https://github.com/paualbesa/roster-network.git
cd roster-network pnpm install cp .env.example .env # edit as needed pnpm build pnpm --filter @albesa/api dev # API on :8787 pnpm --filter @albesa/web dev # site on :3000 (or as configured)
Useful env vars (see .env.example):
| Variable | Role |
|---|---|
ROSTER_MODE | sandbox (default). Mainnet is rejected at startup. |
ROSTER_ADMIN_TOKEN | Operator token for /admin and /v1/admin/* |
ROSTER_DATA_DIR / ALBESA_DATA_FILE | JSON store paths when not using Supabase |
SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY | Optional Auth + Postgres |
NEXT_PUBLIC_SUPABASE_* | Browser Auth for the console (never the service role) |
ROSTER_RATE_LIMIT | Set 0 to disable rate limits in local tests |
Without Supabase, the API keeps organizations, keys (hashed), balances, and ledgers in JSON files. Email/password and anonymous keys work against the API directly.
Deploy notes for the Albesa host: DEPLOY.md.
pnpm lint
pnpm typecheck pnpm test pnpm simulate # end-to-end sandbox simulation of the marketplace pillars
custodial-mock or noncustodial-sim. Real on-chain custody is designed, not the default production path yet./admin.Report vulnerabilities: see SECURITY.md.
See CONTRIBUTING.md. Issues and PRs welcome on github.com/paualbesa/roster-network.
MIT