naftiko: 1.0.0-alpha2 info: label: Offenders.io API — Search description: 'Offenders.io API — Search. 1 operations. Lead operation: Search sex offender registry. Self-contained Naftiko capability covering one Offenders Io business surface.' tags: - Offenders Io - Search created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: OFFENDERS_IO_API_KEY: OFFENDERS_IO_API_KEY capability: consumes: - type: http namespace: offenders-io-search baseUri: https://api.offenders.io description: Offenders.io API — Search business capability. Self-contained, no shared references. resources: - name: sexoffender path: /sexoffender operations: - name: searchsexoffenders method: GET description: Search sex offender registry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: firstName in: query type: string description: Offender first name (structured search). - name: lastName in: query type: string description: Offender last name (structured search). - name: zipcode in: query type: string description: ZIP code for location-based filtering. - name: lat in: query type: number description: Latitude for geospatial search. - name: lng in: query type: number description: Longitude for geospatial search. - name: radius in: query type: number description: Search radius in miles (used with lat/lng). - name: fuzzy in: query type: boolean description: Enable typo-tolerant fuzzy matching. - name: key in: query type: string description: API key for authentication. required: true authentication: type: apikey key: key value: '{{env.OFFENDERS_IO_API_KEY}}' placement: query exposes: - type: rest namespace: offenders-io-search-rest port: 8080 description: REST adapter for Offenders.io API — Search. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/sexoffender name: sexoffender description: REST surface for sexoffender. operations: - method: GET name: searchsexoffenders description: Search sex offender registry call: offenders-io-search.searchsexoffenders with: firstName: rest.firstName lastName: rest.lastName zipcode: rest.zipcode lat: rest.lat lng: rest.lng radius: rest.radius fuzzy: rest.fuzzy key: rest.key outputParameters: - type: object mapping: $. - type: mcp namespace: offenders-io-search-mcp port: 9090 transport: http description: MCP adapter for Offenders.io API — Search. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: search-sex-offender-registry description: Search sex offender registry hints: readOnly: true destructive: false idempotent: true call: offenders-io-search.searchsexoffenders with: firstName: tools.firstName lastName: tools.lastName zipcode: tools.zipcode lat: tools.lat lng: tools.lng radius: tools.radius fuzzy: tools.fuzzy key: tools.key outputParameters: - type: object mapping: $.