Portveil MCP server
Let an AI assistant see the devices on your Portveil account and move them between VPN locations. Ask "move my scraper box to Finland" and it does it, then reports back only after the exit server confirms the move.
What it can do
- Look: list devices and locations, check one device's status, show recent activity and account usage.
- Act: move a device to a country or city, rotate it to the next location, reconnect it, or disconnect it. Disconnect is flagged as destructive, which tells well-behaved assistants to check with you first (it's a hint to the assistant, not a lock).
- Loose names: "scraper" finds "Scraper box"; an ambiguous name returns the choices instead of guessing.
Set it up
- In the dashboard, create an API token. control scope lets the assistant move devices; read only lets it look.
- Add the server to your assistant:
# Claude Code
claude mcp add portveil \
-e PORTVEIL_ACCOUNT_ID=acct_… \
-e PORTVEIL_TOKEN=clt_… \
-- npx -y portveil-mcp
Claude Desktop, Cursor and other clients use the same command in their MCP config. Source and full instructions: github.com/roybogs/portveil-mcp · npm: portveil-mcp.
Questions
Is the Portveil MCP server free?
The server is open source under the MIT license. It controls devices on a Portveil account, which starts at $7 a month.
Which AI assistants does it work with?
Any client that supports the Model Context Protocol over stdio, including Claude Desktop, Claude Code and Cursor.
Can the assistant see my account key?
No. You give it a scoped API token instead. A read token can only look; a control token can also move devices. You can revoke either in the dashboard.
How does it know a move worked?
It waits for the device to acknowledge the command and then for the exit server in the new location to confirm it sees the device before reporting success.