AI / MCP tools
What your AI app can do
Every tool the Pantech MCP server gives your AI app, the access level each one needs, and which ones ask before they spend money or delete.
Once connected, your AI app picks the right tool for what you ask. You do not call tools by name. Ask "which of my servers are stopped?" and it uses list_instances.
Each tool calls the public API with the access you approved. A tool your access level does not cover fails with a clear message, and nothing changes.
Access levels at a glance
| Access level | Tools it can use |
|---|---|
| Read only | Every tool marked Read below |
| Manage | Read and Manage tools |
| Manage and delete | Every tool |
Your access level is enforced by Pantech's API, not by the app. With Manage, an app can create and change things but cannot delete them: a delete fails with INSUFFICIENT_SCOPE. Replacing rules, resizing and scaling are changes, not deletes, so they need only Manage.
It asks before it spends, opens access or deletes
Some tools cost money, open a path from the internet to your servers, or delete or overwrite something. These work in two steps:
- The first call changes nothing. It returns a preview: what will happen, the price where the API can quote one, any warnings, and a confirmation token.
- Your AI app shows you the preview. Only when you say yes does it call the same tool again, with exactly the same details plus that token, and the change is made.
The token is tied to the tool, the exact details and your connection, and it expires after 5 minutes. If anything differs, or it has expired, nothing is done and the app has to get a new preview and ask you again. The server never confirms on its own. A confirmed call that is retried is not made twice.
In the tables, Asks first marks these tools, with the reason.
Account, catalogue and billing
| Tool | What it does | Access | Asks first |
|---|---|---|---|
whoami | Shows the key the app is using: organization, kind, access and expiry | Read | |
list_regions | Lists the regions and zones you can create things in | Read | |
list_plans | Lists machine sizes and their prices | Read | |
list_images | Lists the operating systems you can install | Read | |
estimate_price | Prices a whole setup (machines, extra storage, VPC networks, snapshots) without creating anything | Read | |
get_usage | Shows what you have used and what it cost | Read | |
get_credit_balance | Shows your credit balance | Read |
Machines
| Tool | What it does | Access | Asks first |
|---|---|---|---|
list_instances | Lists your machines | Read | |
get_instance | Shows one machine: state, addresses, size | Read | |
create_instance | Creates a machine | Manage | Yes: costs money |
start_instance | Starts a stopped machine | Manage | |
stop_instance | Stops a machine | Manage | |
reboot_instance | Restarts a machine | Manage | |
resize_instance | Moves a machine to a bigger plan (it restarts) | Manage | Yes: changes the price |
rename_instance | Renames a machine | Manage | |
delete_instance | Deletes a machine. Its attached volumes are detached, not deleted | Manage and delete | Yes: deletes it |
SSH keys
| Tool | What it does | Access | Asks first |
|---|---|---|---|
list_ssh_keys | Lists the SSH keys installed on new machines | Read | |
create_ssh_key | Adds a public SSH key you already have (it never makes key pairs) | Manage | |
change_instance_ssh_key | Gives a machine a different SSH key from your account (it restarts) | Manage | Yes: the old key stops working |
Networking
| Tool | What it does | Access | Asks first |
|---|---|---|---|
list_networks | Lists your VPC networks | Read | |
create_network | Creates a VPC network | Manage | Yes: costs money |
list_subnets | Lists a network's subnets | Read | |
create_subnet | Adds a subnet to a network | Manage | |
list_firewall_rules | Lists a subnet's firewall rules | Read | |
add_firewall_rule | Adds a rule to a subnet's firewall | Manage | Yes: can open access |
delete_firewall_rule | Removes a firewall rule | Manage and delete | Yes: removes it for good |
list_public_ips | Lists your public IPs | Read | |
create_public_ip | Reserves a public IP | Manage | Yes: costs money, opens access |
attach_public_ip | Puts a public IP on a machine | Manage | Yes: opens access |
detach_public_ip | Takes a public IP off its machine, and keeps it | Manage | |
create_port_forwarding_rule | Forwards a port of a public IP to a machine | Manage | Yes: opens access |
list_security_groups | Lists security groups, the firewalls of standard machines | Read | |
update_security_group_rules | Replaces all of a security group's rules | Manage | Yes: overwrites the rules |
list_load_balancers | Lists your load balancers | Read | |
create_load_balancer | Creates a load balancer | Manage | Yes: costs money, opens access |
Storage
| Tool | What it does | Access | Asks first |
|---|---|---|---|
list_volumes | Lists your block storage volumes | Read | |
create_volume | Creates a volume | Manage | Yes: costs money |
attach_volume | Attaches a volume to a machine | Manage | |
detach_volume | Detaches a volume, and keeps it | Manage | |
resize_volume | Makes a volume bigger | Manage | Yes: changes the price |
delete_volume | Deletes a volume and its data (its snapshots are kept) | Manage and delete | Yes: cannot be undone |
list_snapshots | Lists your snapshots | Read | |
create_snapshot | Takes a snapshot of a machine or volume | Manage | Yes: costs money |
Databases
| Tool | What it does | Access | Asks first |
|---|---|---|---|
list_databases | Lists your managed databases | Read | |
get_database | Shows one database: state, host, port | Read | |
create_database | Creates a managed database (set its password in the console) | Manage | Yes: costs money |
update_database_access_rules | Replaces the list of who may connect | Manage | Yes: overwrites the rules |
Kubernetes
| Tool | What it does | Access | Asks first |
|---|---|---|---|
list_kubernetes_clusters | Lists your clusters | Read | |
get_kubernetes_cluster | Shows one cluster and its node pools | Read | |
create_kubernetes_cluster | Creates a cluster | Manage | Yes: costs money |
scale_node_pool | Changes how many nodes a pool has (removed nodes are drained and deleted) | Manage | Yes: changes the price |
Webhooks and operations
| Tool | What it does | Access | Asks first |
|---|---|---|---|
list_webhooks | Lists your webhooks | Read | |
get_operation | Shows how a change is going | Read | |
wait_for_operation | Waits for a change to finish | Read |
Most changes take a little while. A tool waits up to about a minute. If the change is still running, it gives your app the operation's id, and the app follows it with wait_for_operation.
Built-in prompts and the brief
Some apps show these as shortcuts:
deploy_web_app: set up a server for a website, step by step.explain_my_bill: what you are paying for, and why.lock_down_firewall: find rules that are too open, and tighten them.
The server also offers the agent brief as pantech://docs/agent-brief, so the app can read the API's rules.
What it can never do
Some things return a secret: a password, a login or a signing key. A secret in an AI chat can end up in logs or history, so there is no tool for these. Do them yourself:
| Not available | Where to do it instead |
|---|---|
| Download a cluster's kubeconfig | Console, or pantech kubernetes kubeconfig in the CLI |
| Get a volume's encryption key | Console |
| Open a machine's console | Serial console in the console |
| Open SSH access for your address | pantech vm ssh in the CLI |
| Set or reset a database password | Database passwords |
| Create a webhook, or rotate its secret | Webhooks in the console or CLI |
It also cannot buy credit, create or revoke API keys, invite people or change your organization's settings. Anything the tables do not list (deleting a network, a database or a cluster, for example) is done in the console, the CLI or the API.