{"serverId":"mcp-registry/com.anchoredip/anchoredip","tools":[{"name":"create_tunnel","fixed":{"name":"create_tunnel","description":"Provision a peer and return its WireGuard configuration. Three routing modes, and the right one depends on the machine.\n\nsource (the default) sends only traffic from the leased address through us and leaves the default route alone — but it is written with wg-quick PostUp rules that invoke `ip`, so it runs on Linux under wg-quick and nowhere else. On macOS it aborts and deletes the interface.\n\nfull works in every client but claims the default route, so it cannot run beside an always-on corporate ","inputSchema":{"type":"object","required":["access_token"],"properties":{"label":{"type":"string","description":"For the customer's own reference."},"transport":{"enum":["wireguard","amneziawg"],"type":"string","description":"Defaults to wireguard. Use amneziawg where deep packet inspection blocks a plain WireGuard handshake; it needs an AmneziaWG client rather than wg-quick."},"access_token":{"type":"string","description":"Returned by order_lease. The only credential for a lease."},"destinations":{"type":"array","items":{"type":"string"},"description":"Addresses or ranges to route through the tunnel, like 203.0.113.10 or 203.0.113.0/24. Required with routing_mode=destinations and rejected without it. Ask the user which partner requires the address rather than guessing a range."},"routing_mode":{"enum":["source","full","destinations"],"type":"string","description":"Defaults to source, which is Linux only. Use destinations when the machine is not a Linux server, or when only certain partners need to see the address."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":439,"tokensAfter":439},{"name":"lease_status","fixed":{"name":"lease_status","description":"Everything about one lease: whether it is active, which addresses it holds, its tunnels and when it renews.","inputSchema":{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Returned by order_lease. The only credential for a lease."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"list_plans","fixed":{"name":"list_plans","description":"The published catalogue with live prices and which payment methods each plan accepts. Prices are never hardcoded; read them here.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"order_lease","fixed":{"name":"order_lease","description":"Place an order. The trial plan is free and activates immediately; paid plans return payment details and stay pending until settled. No account or card is needed to order. A second trial for the same billing email is refused — order a paid plan instead, which needs no approval.","inputSchema":{"type":"object","required":["plan","organization_name","country","billing_email"],"properties":{"plan":{"type":"string","description":"Slug from list_plans."},"country":{"type":"string","description":"ISO 3166-1 alpha-2."},"billing_email":{"type":"string"},"organization_name":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":175,"tokensAfter":175},{"name":"revoke_tunnel","fixed":{"name":"revoke_tunnel","description":"Retire a peer and hand its slot back to the plan's allowance. An agent that provisions a tunnel per short-lived worker and never revokes one exhausts the allowance and then cannot bring the next machine up. Revoking the peer that holds the public address stops inbound connections to it and cannot be undone by promoting another — only by bringing a new machine up.","inputSchema":{"type":"object","required":["access_token","tunnel_id"],"properties":{"tunnel_id":{"type":"integer","description":"The id lease_status reports for the tunnel."},"access_token":{"type":"string","description":"Returned by order_lease. The only credential for a lease."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":192,"tokensAfter":192},{"name":"set_autorenew","fixed":{"name":"set_autorenew","description":"Stop this lease charging the customer's card again, or start it again. Only a card subscription can be stopped — a bank transfer is a payment the customer sends us, so there is nothing of ours to cancel. Stopping is not a cancellation: the lease runs to the end of the period already paid for, and the same call turns it back on.","inputSchema":{"type":"object","required":["access_token","enabled"],"properties":{"enabled":{"type":"boolean","description":"false stops the next charge, true resumes it."},"access_token":{"type":"string","description":"Returned by order_lease. The only credential for a lease."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":182,"tokensAfter":182},{"name":"set_reverse_dns","fixed":{"name":"set_reverse_dns","description":"Publish a PTR record for an address on the lease. Live within a second; an empty hostname removes it.","inputSchema":{"type":"object","required":["access_token","address","hostname"],"properties":{"address":{"type":"string"},"hostname":{"type":"string","description":"Empty removes the record."},"access_token":{"type":"string","description":"Returned by order_lease. The only credential for a lease."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124}],"toolsChanged":7,"tokensSaved":0,"todo":[{"tool":"order_lease","params":["billing_email","organization_name"]},{"tool":"set_reverse_dns","params":["address"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}