naftiko: "1.0.0-alpha2" info: label: "ipify Public IP Address API — IP Address" description: >- IP Address — IP Address. 1 operation. Lead operation: ipify Get Public IP Address. Self-contained Naftiko capability covering one ipify business surface. tags: - Ipify - IP Address - Public IP created: "2026-05-29" modified: "2026-05-29" binds: - namespace: env keys: {} capability: consumes: - type: http namespace: "ip-api-ip-address" baseUri: "https://api.ipify.org" description: "ipify Public IP Address API — IP Address business capability. Self-contained, no shared references." resources: - name: "root" path: "/" operations: - name: "getPublicIp" method: GET description: "Return the caller's public IP address as plain text, JSON, or JSONP." inputParameters: - name: "format" in: query type: string required: false description: "Response encoding. Omit for plain text. `json` for a JSON object. `jsonp` for a JSONP callback wrapper." - name: "callback" in: query type: string required: false description: "Custom JSONP callback function name. Only meaningful when `format=jsonp`." outputRawFormat: json outputParameters: - name: result type: object value: "$." exposes: - type: rest namespace: "ip-api-ip-address-rest" port: 8080 description: "REST adapter for ipify Public IP Address API — IP Address. One Spectral-compliant resource per consumed operation, prefixed with /v1." resources: - path: "/v1/ip" name: "ip" description: "REST surface for the caller's public IP address." operations: - method: GET name: "getPublicIp" description: "Return the caller's public IP address." call: "ip-api-ip-address.getPublicIp" with: "format": "rest.format" "callback": "rest.callback" outputParameters: - type: object mapping: "$." - type: mcp namespace: "ip-api-ip-address-mcp" port: 9090 transport: http description: "MCP adapter for ipify Public IP Address API — IP Address. One tool per consumed operation, routed inline through this capability's consumes block." tools: - name: "get-public-ip" description: "Return the caller's public IP address." hints: readOnly: true destructive: false idempotent: true call: "ip-api-ip-address.getPublicIp" with: "format": "tools.format" "callback": "tools.callback" outputParameters: - type: object mapping: "$."