Skip to main content
@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

To share a project config without the secret, commit a .mcp.json that reads the key from each person’s environment:
Then ask your assistant: “List my Voight agents.”

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:
  1. quote_agent_deploy answers what it costs, your balance, and whether the account may deploy it. It spends nothing.
  2. deploy_agent repeats the quoted amounts. If the real price is higher, the deploy is refused and nothing is charged.
  3. wait_for_agent follows the start (about a minute on Voight Cloud, about four on a GPU) and tells the assistant when to stop waiting.
Every deploy and renewal made through the MCP is charged at the regular agent price, on every account. Free and trial agents are claimed on the web. Asking twice for the same deploy returns the agent that is already starting instead of a second one and a second charge. GPU hosting on Nosana is invite-only for now: deploying on a GPU works for invited accounts; everyone can deploy on Voight Cloud. See GPU hosting.

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.