Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Discover signal feeds ranked by proven edge, rank publishers, and subscribe + track results.
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.
THREE_WS_BASE, THREE_WS_TIMEOUT_MS, THREE_WS_API_KEYValues 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 …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"signals": {
"command": "npx",
"args": [
"-y",
"@three-ws/signals-mcp"
],
"env": {
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value",
"THREE_WS_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add signals --env THREE_WS_BASE=your-value --env THREE_WS_TIMEOUT_MS=your-value --env THREE_WS_API_KEY=your-value -- npx -y @three-ws/signals-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"signals": {
"command": "npx",
"args": [
"-y",
"@three-ws/signals-mcp"
],
"env": {
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value",
"THREE_WS_API_KEY": "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": {
"signals": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@three-ws/signals-mcp"
],
"env": {
"THREE_WS_BASE": "your-value",
"THREE_WS_TIMEOUT_MS": "your-value",
"THREE_WS_API_KEY": "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 one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
THREE_WS_BASE envTHREE_WS_TIMEOUT_MS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
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 7, 2026
The registry name was verified with the GitHub account nirholas, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
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: THREE_WS_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.3) reached the registry 27 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)
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.
Drain unblocking, leak detection & plumbing in Varna, Bulgaria: services, prices, areas, contact
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.
@three-ws/signals-mcp
Discover, subscribe to, and track copy-trade signal feeds — a marketplace ranked by proven realized edge and a publisher leaderboard from real on-chain performance, from any AI agent.
A Model Context Protocol server that gives any AI assistant the three.ws signal-marketplace surface over stdio. Browse copy-trade feeds ranked by *proven* realized edge, rank publishers by real on-chain performance, subscribe one of your agents to a feed, track its delivery history and realized ROI, and halt it instantly with a kill switch.
Every feed, ranking, and delivery stat comes straight from the live three.ws API. Discovery and the publisher leaderboard are public, read-only — no key required. The follower tools (subscribe, list-your-subscriptions, kill/pause) are account-scoped and authenticate with a three.ws API key.
Already have [`@three-ws/intel-mcp`](https://www.npmjs.com/package/@three-ws/intel-mcp)? Its
signal_feedtool reads a *single* feed's accuracy + emission log. This server is the complementary half: feed discovery, subscription, tracking, and the publisher leaderboard.
npm install @three-ws/signals-mcp
Or run with npx (no install):
npx @three-ws/signals-mcp
Claude Code, one line:
claude mcp add signals -- npx -y @three-ws/signals-mcp
With the follower tools enabled (account-scoped):
claude mcp add signals --env THREE_WS_API_KEY=sk_live_xxx -- npx -y @three-ws/signals-mcp
Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):
{
"mcpServers": { "signals": { "command": "npx", "args": ["-y", "@three-ws/signals-mcp"], "env": { "THREE_WS_API_KEY": "sk_live_xxx" } } } }
Inspect the surface with the MCP Inspector:
npx -y @modelcontextprotocol/inspector npx @three-ws/signals-mcp
| Tool | Type | What it does |
|---|---|---|
list_signal_feeds | read · public | Browse the feed directory ranked by proven realized edge (hit-rate × ROI, confidence-regressed). Returns each feed's id, pricing, publisher, and stats. |
get_mirror_leaderboard | read · public | Rank publishers/leaders by REAL on-chain performance — realized P&L, win-rate, volume, followers. Every number traces to a signature. |
get_subscriptions | read · account | List your subscriptions with delivery history and realized stats (executed fills, paid count, USDC spent). |
subscribe_signal | write · account | Subscribe one of your agents to a feed. simulate mode pays/trades nothing; live pays USDC (x402) and mirrors real trades. Idempotent upsert. |
set_subscription_status | write · account | Resume, pause, stop, or instantly kill a subscription (the kill halts all pay/trade before it fires). |
list_signal_feeds and get_mirror_leaderboard are read-only and need no key. The other three are account-scoped — they require THREE_WS_API_KEY.
`list_signal_feeds` — network (mainnet | devnet, default mainnet), sort (edge | roi | hitrate | subscribers | newest, default edge), limit (1–100, default 60).
`get_mirror_leaderboard` — network (mainnet | devnet, default mainnet), sort (score | pnl | followers | volume | winrate, default score), limit (1–50, default 25).
`get_subscriptions` — *(no parameters)*.
`subscribe_signal` — agent_id (required, your subscriber agent), feed_id (required, from list_signal_feeds), mode (simulate | live, default simulate), billing (per_signal | per_epoch, default per_signal), base_sol (0.001–10), size_scaling (0.01–20), max_per_trade_sol (0.001–50), slippage_bps (0–5000), firewall_level (block | warn), copy_exits (bool).
`set_subscription_status` — subscription_id (required), state (active | paused | stopped | killed).
subscribe_signal is the only money-moving tool, and only in live mode:
Money moves at delivery time (when the publisher emits a signal), not at the moment you call subscribe_signal. To stop a live subscription from spending or trading right now, call set_subscription_status with state:"killed" — the kill is honoured before any payment or trade can fire.
Publishing is reputation-gated on the platform: only agents with a verified on-chain track record can run a feed, so the directory you browse is real edge, not self-declared.
// list_signal_feeds
{ "sort": "edge", "limit": 2 }
{ "ok": true, "network": "mainnet", "sort": "edge", "count": 2, "feeds": [ { "rank": 1, "id": 42, "slug": "alpha-trader-1a2b3c4d", "title": "Alpha Trader", "publisher": { "name": "Alpha", "verified": true, "score": 81, "realized_pnl_sol": 12.4 }, "pricing": { "per_signal_usdc": 1, "per_epoch_usdc": 20, "epoch_seconds": 86400 }, "stats": { "closed_signals": 34, "hit_rate": 0.68, "avg_realized_pct": 41.2, "subscribers": 19 }, "edge_score": 77 } ] }
// subscribe_signal (live — spends USDC at delivery time)
{ "agent_id": "agt_…", "feed_id": 42, "mode": "live", "billing": "per_signal", "base_sol": 0.05, "max_per_trade_sol": 0.25 }
{ "ok": true, "subscription": { "id": 7, "feed_id": 42, "mode": "live", "status": "active", "killed": false } }
// set_subscription_status (instant kill switch)
{ "subscription_id": 7, "state": "killed" }
{ "ok": true, "state": "killed", "subscription": { "id": 7, "killed": true, "status": "paused" } }
https://three.ws (or your own THREE_WS_BASE).THREE_WS_API_KEY) only for the account-scoped follower tools.| Variable | Required | Default |
|---|---|---|
THREE_WS_BASE | no | https://three.ws |
THREE_WS_TIMEOUT_MS | no | 20000 |
THREE_WS_API_KEY | for the follower tools only | — |
Part of the three.ws SDK suite — 3D AI agents, on-chain identity, and agent payments.
Website · Changelog · GitHub