Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Measure whether AI assistants actually recommend a brand, from measured answers.
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://mcp.askedthrice.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"askedthrice": {
"command": "npx",
"args": [
"-y",
"askedthrice-mcp"
]
}
}
}Run this in your terminal
claude mcp add --transport http askedthrice https://mcp.askedthrice.com/mcpclaude mcp add askedthrice -- npx -y askedthrice-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"askedthrice": {
"url": "https://mcp.askedthrice.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"askedthrice": {
"command": "npx",
"args": [
"-y",
"askedthrice-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": {
"askedthrice": {
"type": "http",
"url": "https://mcp.askedthrice.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"askedthrice": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"askedthrice-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://mcp.askedthrice.com/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 publisher (askedthrice.com) is not the repo owner (nahuelsoria); 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.1.0) 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, debuff
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.
Let coding agents play, test and tune your 2D web game: live state, explained errors, replays, fuzz.
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.
MCP server for askedthrice.com. Lets anyone's assistant measure whether a brand shows up when buyers ask an AI for a recommendation.
Closed since 2026-10-29. Asked Thrice no longer runs free measurements; the product is a paid scan that needs an account.
start_visibility_checkreturnsstatus: "closed"with the link to askedthrice.com and does not call the API.get_visibility_checkstill reads measurements started before that date. The sections below describe how it worked while it was open.
Hosted at https://mcp.askedthrice.com/mcp (streamable HTTP). Listed in the official MCP registry as com.askedthrice/askedthrice. The stdio bridge for clients that only launch local commands is the npm package askedthrice-mcp, in npm/.
Full spec: specs/features/geo-13-mcp-server.md in the private llm-rank-tracker repo.
{"mcpServers":{"askedthrice":{"url":"https://mcp.askedthrice.com/mcp"}}}
or, for command-only clients:
{"mcpServers":{"askedthrice":{"command":"npx","args":["-y","askedthrice-mcp"]}}}
start_visibility_check starts the measurement and returns a runId.get_visibility_check collects it. Returns running until the providers answer.askedthrice://methodology explains how it is measured.Two tools rather than one because a measurement takes up to two minutes: the audit is 15 to 60 s and the measured map another 15 to 60 s.
It returns the measured map: the buyer questions that were asked live and who won each answer. Never the providers' self-report, which is what each model *believes* about the brand. The two numbers drift apart a lot in practice, and the self-report is always the optimistic one; that is why the tool contract does not expose it in any field.
It never returns a 0 to 100 score: a verdict in three bands and counts.
Every free measurement spends askedthrice's API keys, on the order of USD 0.05 to 0.15. Three guards, all covered by tests:
MCP_MONTHLY_RUN_LIMIT (default 200) as the channel ceiling, separate from the web funnel budget.| Variable | Purpose |
|---|---|
LLMAUDIT_API_BASE_URL | API base. Default https://askedthrice.com |
MCP_SERVER_KEY | Key shared with llm-rank-tracker. Without it prod buckets by IP |
SUPABASE_URL / SUPABASE_SERVICE_ROLE_KEY | mcp_runs table. Without them the store is in memory and does NOT work on serverless |
MCP_MONTHLY_RUN_LIMIT | Monthly ceiling of runs for the channel |
npm run stats reads mcp_runs and reports how much of the monthly ceiling is left, who called, which domains were measured and which one currently holds the 30-day quota.
node --env-file <file.env> scripts/stats.mjs
node --env-file scripts/stats.mjs --days 30 --history 180
Needs SUPABASE_URL (or NEXT_PUBLIC_SUPABASE_URL) and SUPABASE_SERVICE_ROLE_KEY. --days is the daily detail, --history how far back it looks; the current month is always included in full, because that number has to match the guard's.
The first thing it prints, when there are any, is the orphaned runs: reserved rows that never got their audit_id. They return "Unknown runId" to the client forever while holding their domain's free quota and counting against the monthly ceiling. Delete them by run_id.
Vercel Web Analytics cannot measure this: it works by injecting a script into HTML, and here there is no HTML and no browser to run it, every request is a JSON-RPC call from an MCP client. It would read zero forever.
Dockerfile builds the HTTP server and serves it on 0.0.0.0:3001, which is what Glama and similar directories run to verify the server starts and answers introspection. Port and host are read by xmcp.config.ts at build time, so they go as ENV before npm run build, not at docker run. Without SUPABASE_* the run store is in memory: fine for a check, not for serving traffic.
npm run dev # xmcp dev
npm test # vitest, no network npm run build # xmcp build
Tests run against real fixtures in fixtures/ (already-paid runs from prospecting). None of them touch the network or call a provider.
server.json is published with mcp-publisher using DNS auth on askedthrice.com. The key lives outside the repo as a PEM; the CLI wants the raw ed25519 seed in hex:
HEX=$(openssl pkey -in <key.pem> -noout -text | sed -n '/^priv:/,/^pub:/p' | grep -v '^priv:\|^pub:' | tr -d ' :\n')
mcp-publisher login dns --domain askedthrice.com --private-key "$HEX" mcp-publisher publish server.json
Bump version in server.json on every publish; the registry rejects a repeat. When the npm package changes version, update packages[0].version too.