Skip to main content
You need Python 3.11+, uvx, and a runtime key created in Zelinqa Studio for a published domain. The public package is zelinqa-mcp on PyPI.

Install in your tool

Prepare a published domain, a runtime key and uv (uvx). Python 3.11+ is required.
With your key already available in the terminal’s ZELINQA_API_KEY environment variable:
Restart Claude Code, then use /mcp to check the connection. Official guide.
The key grants access to your domain. CLI commands save its value in the host’s local configuration. Keep these files private, never commit them, and never put the key in a conversation. Use a trusted host.
The server runs locally over stdio: there is no HTTP MCP URL to paste. uvx installs the package from PyPI and starts it; that process calls the Zelinqa API over HTTPS. If your host cannot find uvx, use its absolute path in the configuration.
To update an existing installation or choose between @latest and a fixed version, see MCP versions and updates.

Verify with a first conversation

Ask your host:
Use Zelinqa to start a conversation named demo-42. Ask the returned question, wait for my answer, and continue one question at a time. Do not invent answers.
The host should call zelinqa_start, display a question from your domain, and use zelinqa_next_question after your reply. Check that the seven business tools are available. Installation alone does not create a conversation; business calls use your API and its quotas.

First turn

Call these tools in order from your host:
Actually display the returned question and wait for the person. Calling zelinqa_next_question with no answer merely redisplays the pending question. After receiving an answer to an open question:
For a choice question, pass choice_labels with the exact displayed label, for example {"choice_labels":["Contemporary"]}. For a semi-open question, add free_text only when the person provided an explanation. For a genuine refusal or no answer, use outcome: "refused" or outcome: "asked_no_answer" without inventing text. The tool response contains the next question, progress, and warnings. Use zelinqa_adjust to add data already confirmed without asking a question or consuming a turn. Use zelinqa_feedback for an observed business result, not a prediction. After an interruption, call zelinqa_status before sending an answer again. zelinqa_forget releases the local handle but does not erase the API session.
Conversation names alone do not survive an MCP process restart. To resume demo-42, persist the session ID in your host/backend and provide ZELINQA_SESSION_ID and ZELINQA_CONVERSATION=demo-42 to the new process. The name must exactly match the one passed to the tool; otherwise a new session may be created. Do not place the ID in the model prompt.
See the full MCP overview and source guide.