naftiko: 1.0.0-alpha2 info: label: Soracom Virtual Private Gateway Capability description: Self-contained Naftiko capability for creating and managing Soracom Virtual Private Gateways (VPG) — Canal, Direct, Door, Gate — including Junction packet rules and Peek packet capture sessions. tags: - Soracom - VPG - Networking - Canal - Door - Gate - Junction - Peek created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: SORACOM_API_KEY: SORACOM_API_KEY SORACOM_API_TOKEN: SORACOM_API_TOKEN capability: consumes: - type: http namespace: vpg baseUri: https://api.soracom.io/v1 description: Soracom VPG, Junction, and Peek API. resources: - name: virtual-private-gateways path: /virtual_private_gateways operations: - name: listVpgs method: GET description: List Virtual Private Gateways. outputRawFormat: json outputParameters: - {name: result, type: array, value: $.} inputParameters: - {name: limit, in: query, type: integer, required: false} - name: createVpg method: POST description: Create a new Virtual Private Gateway. outputRawFormat: json outputParameters: - {name: result, type: object, value: $.} inputParameters: - {name: body, in: body, type: object, required: true} - name: vpg-by-id path: /virtual_private_gateways/{vpg_id} operations: - name: getVpg method: GET description: Get a Virtual Private Gateway by ID. outputRawFormat: json outputParameters: - {name: result, type: object, value: $.} inputParameters: - {name: vpg_id, in: path, type: string, required: true} - name: deleteVpg method: DELETE description: Delete a Virtual Private Gateway. outputRawFormat: json outputParameters: - {name: result, type: object, value: $.} inputParameters: - {name: vpg_id, in: path, type: string, required: true} authentication: type: apikey key: X-Soracom-API-Key value: '{{env.SORACOM_API_KEY}}' placement: header exposes: - type: mcp namespace: vpg-mcp port: 9090 transport: http description: MCP adapter for Virtual Private Gateways. tools: - name: soracom-list-vpgs description: List Soracom Virtual Private Gateways. hints: {readOnly: true, destructive: false, idempotent: true} call: vpg.listVpgs with: limit: tools.limit outputParameters: - {type: array, mapping: $.} - name: soracom-get-vpg description: Get a single VPG. hints: {readOnly: true, destructive: false, idempotent: true} call: vpg.getVpg with: vpg_id: tools.vpg_id outputParameters: - {type: object, mapping: $.} - name: soracom-create-vpg description: Create a new Virtual Private Gateway. hints: {readOnly: false, destructive: false, idempotent: false} call: vpg.createVpg with: body: tools.body outputParameters: - {type: object, mapping: $.} - name: soracom-delete-vpg description: Delete a Virtual Private Gateway. hints: {readOnly: false, destructive: true, idempotent: true} call: vpg.deleteVpg with: vpg_id: tools.vpg_id outputParameters: - {type: object, mapping: $.}