@voightxyz/agents-mcp gives your coding assistant the tools to work with the agents on your Voight account: list them, talk to one or to ten at once, deploy new ones on Voight Cloud or a Nosana GPU, schedule their work, renew and delete them.
The package is open source: github.com/Voightxyz/agents-mcp. It talks only to
api.voight.xyz.1. Create a key
Open agent.voight.xyz, open the account menu and choose MCP / API. Pick the access level and generate the key. It is shown once.
Ingest keys (the ones the observability SDK uses) do not work with this server.
2. Add the server to your client
- Claude Code
- Cursor
- Codex CLI
- VS Code
- Claude Desktop
- Gemini CLI
.mcp.json that reads the key from each person’s environment:Tools
Start the server with
--read-only to expose only the tools that read.
Deploying from your assistant
Spending always takes two tools, so your client asks for permission at the moment credits move:quote_agent_deployanswers what it costs, your balance, and whether the account may deploy it. It spends nothing.deploy_agentrepeats the quoted amounts. If the real price is higher, the deploy is refused and nothing is charged.wait_for_agentfollows the start (about a minute on Voight Cloud, about four on a GPU) and tells the assistant when to stop waiting.
Limits
Per account, across all its keys, enforced by the API:Orchestrating several agents
message_agents sends one instruction to many agents, or a different one to each, and waits once for all of them. Agents still working come back as running with a turn_ref; get_replies collects them. Nothing is sent to an agent that is busy or not ready, so a message is never queued behind another or lost.
Tasks
A task is an instruction the agent runs on its own: once, every day or every week (UTC). Each run is a normal agent turn.- On an agent connected to GitHub, LinkedIn or X, a task created from the MCP is saved paused, and a person enables it in the dashboard. A key can pause such an agent’s tasks, and edit a task it created that never ran, but it can never enable one or change one a person approved.
- Revoking a key does not stop the tasks it scheduled. Pause or delete them from the MCP or from the dashboard.
Deleting
delete_agent is permanent: the agent, its memory and its tasks are gone, and a used period is not refunded. It needs the agent’s exact name, and it only works on agents that were deployed with an API key. Agents built in the dashboard cannot be deleted from any MCP session. A GPU deploy that has not started yet is refunded when deleted; a cloud agent that is still starting cannot be deleted until it is up.
Security and privacy
- Scoped keys. An operate key cannot deploy, renew, schedule or delete. A full key can, expires after 90 days, and is bounded by the limits above. Neither can touch billing, top up, or manage API keys. Revoke a key at any time in MCP / API.
- The rules live on the server. Charging, limits, duplicate detection, what a key may delete and the task rules are enforced by the Voight API. A model can repeat any confirmation it is asked for, so nothing in the package is a security boundary.
- The key goes to one place. The package only sends requests to
https://api.voight.xyz; any other endpoint is refused. - Stored text is fenced. Agent replies, task results, personas and task instructions come back inside a block marked as untrusted content, and the model is told to treat them as data.
- What leaves your machine. The messages you send to an agent go to Voight, as they would from the dashboard. What comes back is handed to your MCP client and therefore to the model provider behind it. Account email and wallet are never returned.
Known limits
- Chat turns in progress are kept in the memory of the local server. If your client restarts it while an agent is working, the pending reply is lost (the agent still finishes).
- Hourly tasks, editing an agent’s persona or model, retrying a failed deploy, connectors and attachments are not exposed yet.