Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Goal-oriented conversations and next-question selection through the Zelinqa API.
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.
ZELINQA_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": {
"zelinqa": {
"command": "uvx",
"args": [
"zelinqa-mcp"
],
"env": {
"ZELINQA_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add zelinqa --env ZELINQA_API_KEY=your-value -- uvx zelinqa-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"zelinqa": {
"command": "uvx",
"args": [
"zelinqa-mcp"
],
"env": {
"ZELINQA_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": {
"zelinqa": {
"type": "stdio",
"command": "uvx",
"args": [
"zelinqa-mcp"
],
"env": {
"ZELINQA_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.
These 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 Zelinqa, 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: ZELINQA_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 (1.0.1) reached the registry 38 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, FactLot
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.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
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.
Install · Example · Tools · Configuration · Operations · Français
Your assistant handles the conversation. Zelinqa decides what to ask next. Describe once, in Zelinqa Studio, what a conversation must find out. This server gives any MCP host the tools to run that conversation: start it, pass each reply, get the next question, record the result. The model only ever sees question text, choice labels and a conversation name. Session, decision and state identifiers stay inside the server.
The engine chooses the questions, so the model stops generating them and stops re-asking: fewer tokens for the same dialogue. The choice itself is a selection over your published domain, not a generation: the same state always yields the same question, and each decision carries what the question collects, the progress of every dimension and an explicit stop reason, so a conversation can be audited after the fact. Token figures: internal test bench, September 2026: more than 700 conversations replayed twice with the same assistant, alone then steered by the Zelinqa engine, with simulated respondents replayed identically on both sides. Protocol, figures and limits: read the test bench report. A scientific benchmark with shared data and code is planned before the end of 2026.
Any assistant that has to ask before it decides, for an interview, a qualification, an orientation, a triage or a recommendation, improvises its questions and decides with gaps. With this server, the engine runs the questioning phase from your published domain and the model decides once, with a complete, typed state.
You need Python 3.11+ with uv, and a runtime API key for a published domain, created in Zelinqa Studio. A free Developer edition account is enough.
Or add the server to your host by hand. The command is the same everywhere: uvx zelinqa-mcp, with the key in the host's secret environment.
Claude Code Claude Desktop · Cursor · Windsurf
claude mcp add zelinqa \
-e ZELINQA_API_KEY=YOUR_RUNTIME_API_KEY \ -- uvx zelinqa-mcp
{
"mcpServers": { "zelinqa": { "command": "uvx", "args": ["zelinqa-mcp"], "env": { "ZELINQA_API_KEY": "YOUR_RUNTIME_API_KEY" } } } }
Codex ( ~/.codex/config.toml ) From a checkout
[mcp_servers.zelinqa]
command = "uvx" args = ["zelinqa-mcp"] env = { ZELINQA_API_KEY = "YOUR_RUNTIME_API_KEY" }
git clone https://github.com/Zelinqa/zelinqa-mcp.git
cd zelinqa-mcp uv sync --group dev --locked uv run zelinqa-mcp --version
Ready-to-copy files for each host are in examples/. Keep your host's tool-approval policy: some calls create sessions and feedback.
The model calls zelinqa_start, asks the returned question in its own words, passes the person's reply to zelinqa_next_question, and repeats until the engine stops. At the end it records what really happened.
▶ zelinqa_start {"conversation": "lead-42"}
◀ ask · "Which budget range are you considering this year?" choices: Under €10k · €10k to €50k · Over €50k
▶ zelinqa_next_question {"conversation": "lead-42", "choice_labels": ["€10k to €50k"]} ◀ ask · "When would you like to start?" progress: budget covered · timeline not started
▶ zelinqa_next_question {"conversation": "lead-42", "user_text": "Next quarter, after the sales kickoff."} ◀ stop · objective achieved
▶ zelinqa_feedback {"conversation": "lead-42", "result": "success"}
Calling zelinqa_next_question without a reply only redisplays the pending question. When a CRM already knows an answer, zelinqa_adjust records it without asking. zelinqa_adjust and zelinqa_add_context can replace the pending question, for example when the information it asked for is now known: always ask the question they return. The full answering rules are in docs/operations.md.
| Tool | What it does |
|---|---|
zelinqa_start | Start or recover a named conversation and return its first or pending question |
zelinqa_next_question | Record the person's reply and return the next question; without a reply, redisplay the pending question without a new turn |
zelinqa_add_context | Add a context summary without asking a question |
zelinqa_adjust | Apply confirmed data, dimension statuses or an objective override without consuming a turn |
zelinqa_status | Refresh progress and the pending question |
zelinqa_feedback | Record an observed business result: success, partial or failure |
zelinqa_forget | Free the local handle; does not delete API data |
Results carry question text, ranks, choice labels, objective progress and counters; next-decision results add warnings, the stop reason and degraded-mode reasons. At max_turns the result has action: "stop" and stop_reason: "max_turns_reached", and later calls return the same stop. Reaching the turn limit is not proof that the objective was achieved.
| Also available | Purpose |
|---|---|
Resource zelinqa://guide | The same guide supplied as the server's instructions |
Prompt zelinqa_integration_check | User-selected integration test checklist |
Skill zelinqa | Short workflow for hosts that support skills; copy the directory into your host's skills folder |
zelinqa-mcp --advanced swaps the business tools for six low-level ones that expose API identifiers and full state. See docs/operations.md.
| Environment variable | Purpose |
|---|---|
ZELINQA_API_KEY | Required runtime key, scoped to one published domain |
ZELINQA_BASE_URL | Default https://api.zelinqa.ai |
ZELINQA_TIMEOUT_SECONDS | Per-attempt timeout, default 30 seconds |
ZELINQA_MAX_RETRIES | Retry count, default 2 |
ZELINQA_SESSION_ID | Optional host-owned session to resume after restart |
ZELINQA_CONVERSATION | Local name of that resumed session; default conversation |
zelinqa_status and reconcile before answering again.Details, retry semantics and the test suites: docs/operations.md. Vulnerability reports: SECURITY.md.
Apache-2.0. Release steps are in RELEASING.md.