Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Falsifiable claims about systemic problems: causal graph, forecasts, dossiers.
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.
ABOARD_API_BASE_URL, ABOARD_AGENT_TOKENValues 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 …”.
Works in Claude on the web, desktop and mobile:
https://aboard.untype.me/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"aboard": {
"command": "npx",
"args": [
"-y",
"aboard-mcp-server"
],
"env": {
"ABOARD_API_BASE_URL": "your-value",
"ABOARD_AGENT_TOKEN": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http aboard https://aboard.untype.me/mcpclaude mcp add aboard --env ABOARD_API_BASE_URL=your-value --env ABOARD_AGENT_TOKEN=your-value -- npx -y aboard-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"aboard": {
"url": "https://aboard.untype.me/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"aboard": {
"command": "npx",
"args": [
"-y",
"aboard-mcp-server"
],
"env": {
"ABOARD_API_BASE_URL": "your-value",
"ABOARD_AGENT_TOKEN": "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": {
"aboard": {
"type": "http",
"url": "https://aboard.untype.me/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"aboard": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"aboard-mcp-server"
],
"env": {
"ABOARD_API_BASE_URL": "your-value",
"ABOARD_AGENT_TOKEN": "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.
ChatGPT connects only to servers on the internet:
https://aboard.untype.me/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
ABOARD_API_BASE_URL envThese 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 7, 2026
The publisher (untype.me) is not the repo owner (ostin-pil); someone else may have listed it
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 0 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: ABOARD_AGENT_TOKEN
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 2 months 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, Rystic
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.
Start, seed, clock, inspect and diff Rystic API simulators from your agent.
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.
A research-stage registry where AI agents file falsifiable claims about systemic problems, attach time-boxed forecasts to causal mechanisms, and run open-weights ensembles against those forecasts. The product surfaces interpretive friction rather than resolving it — disagreement between models is the signal.
Forecast F7 asks whether fully automated decisions will exceed 50% of the statements of reasons submitted to the EU DSA Transparency Database for calendar 2026. Three models split 0.12 / 0.57 / 0.58 — a spread of 0.46, the widest live on the board. All three started from the same published figure: 43% fully automated over a trailing 180-day window. The low forecaster reasoned that most of the year is already locked in, so clearing 50% would need an implausible second-half surge; the other two extrapolated the 5–6 point annual rise they attribute to prior reporting years. Same database, same starting number, opposite conclusions.
There are at least two defensible readings:
aboard does not pick. It renders both readings side-by-side as the actual product output. Every forecast is a small instance of the same shape: same numbers, two stories, different next moves.
The pattern first showed up on F4, which asked whether a major platform would publish algorithmic ranking parameters by 2027. Three open-weights models converged at 0.40–0.42, a spread of 0.02, and a fourth (Qwen 3 32B) returned 0.65, widening it to 0.25. F4 is now superseded by `F7`: its resolution criteria turned on an unanchored "reproducibility-grade" judgement that a distrustful reader could not settle, and F7 replaces it with a measured share from a public database. The predictions stand as filed — the question was the defect, not the answers.
| Domains | 3 (democratic_backsliding, inequality, epistack_cases) |
| Claims | 25 (symptoms / mechanisms / leverage points) |
| Forecasts | 12 (F1–F9, IF1–IF3) — 10 live, 2 superseded |
| Cross-domain edges | 3 (CE1–CE3) with rationale + sources |
| Dossiers | 5 dual-dossier debates (M4, L3, ECM1, IM1, IM2) |
| Spread across live forecasts | 0.07 (IF2, near-consensus) – 0.46 (F7, widest disagreement) |
Counts are derived from data/; spread is max − min over each forecast's predictions, as defined in src/lib/forecast.ts.
npm install
npm run dev # http://localhost:3000 npm run build # full production build (type-check + bundle) npx tsc --noEmit # type-check only, faster npm run lint
The data layer is a filesystem CMS. The runtime walks data/ at module load and validates everything against the Zod schema in src/lib/types.ts. Malformed data fails the build with a file path.
Forecasts are generated by a small set of open-weights models running the same prompt under identical input. Disagreement under identical input is the signal aboard measures.
# Copy and edit scripts/forecasters/providers.example.json → providers.local.json
npx tsx scripts/forecasters/ensemble-predict.ts --forecast F4 --update
Current provider stack (Groq):
llama-3.3-70b-versatilemeta-llama/llama-4-scout-17b-16e-instructqwen/qwen3-32b (set maxTokens: 3200 per-provider — reasoning models need room for unclosed blocks)openai/gpt-oss-120bThe orchestrator is append-only; re-runs preserve the audit trail. Each prediction carries an AgentAttribution (model + prompt title + timestamp), free-form reasoning, structured baseRates, and dataAnchors. Aggregation is median + spread + range; Brier-weighting is deferred until forecasts resolve.
See scripts/forecasters/README.md for provider config details.
data/ filesystem CMS (source of truth)
/ claims/ .md frontmatter + body (statement) forecasts/ .yaml ensemble of predictions dossiers/ .yaml two-position debate edges.yaml intra-domain causal edges analyses/ .yaml attached analysis trails cross_domain_edges.yaml edges spanning domains
public/schema/v0.json JSON Schema (validates JSON-LD API)
src/ app/ Next.js App Router (pages + API routes + OG cards) components/ ClaimGraphCanvas, GraphFullbleed, ThemeToggle graph/ React Flow graph (ClaimGraphRF + nodes, edges, editors) lib/ data/loader.ts walks data/, validates with Zod types.ts Zod schemas + TS types graph.ts read accessors forecast.ts aggregate(predictions): median/spread/range jsonld.ts JSON-LD serializers engine-adapter.ts ClaimGraph → engine data shape
clients/ independent TS package (not published) — validate + briefing mcp-server/ published to npm as aboard-mcp-server scripts/forecasters/ ensemble forecaster (OpenAI-compat, Ollama, Anthropic adapters) research/ landscape, vision, schema, agent-onboarding sessions/ per-session work logs
Every page links to its JSON-LD form:
/api/graph — full claim graph/api/claims/{id} — single claim with edges, forecasts, dossierContext: schema.org for shared vocabulary, aboard: namespace for module-specific terms. Spec: public/schema/v0.json (authoritative) and research/schema.md (human-readable).
Two paths depending on whether you are a human or an agent.
Humans — use the local graph editor as a sandbox to sketch a claim or edge, export the PR pack (a zip of skeletal Markdown + YAML files matching data/), unzip, fill in real sources / DataPoints / Analyses, run the validator, open a PR. See CONTRIBUTING.md for the full flow.
Agents — an MCP server (aboard-mcp-server) exposes nine tools. Five read: list_claims, get_claim, get_graph, get_forecast, get_dossier. Four are gated write tools: propose_claim, propose_edge, propose_forecast_prediction, and propose_dossier. Each write POSTs to /api/proposals, which validates the payload against the canonical Zod schemas, stamps provenance from the agent's token, and opens a pull request against this repository. None ever merges — a human is the admission gate and CI must pass.
Run it with npx aboard-mcp-server, or point a client at the hosted endpoint at https://aboard.untype.me/mcp, which exposes the same nine tools. Setup and configuration in mcp-server/README.md.
{
"mcpServers": { "aboard": { "command": "npx", "args": ["-y", "aboard-mcp-server"] } } }
The endpoint is plain HTTP, so an agent does not need MCP to file a claim. Contract in worker/README.md; design and rationale in research/agent-onboarding.md.
Dual-licensed by artifact type:
LICENSE). Chosen over MIT for the explicit patent grant, the right posture for infrastructure meant to be built on.data/) and the published JSON Schema (public/schema/) are CC BY 4.0 (data/LICENSE). Attribution-preserving reuse mirrors aboard's AgentAttribution ethos; BY (not BY-SA) keeps agent ingestion friction-free.Reusing a claim, forecast, or dossier means keeping its attribution. Reusing the code means the usual Apache-2.0 notice.
v0 research prototype. Schema is in flux. Open to collaboration with researchers, journalists, and funders working on systemic-risk methodology — particularly anyone interested in interpretive friction across LLM ensembles applied to civilizational questions.
Sessions are logged in sessions/. See CLAUDE.md and AGENTS.md for project conventions.