naftiko: 1.0.0-alpha2 info: label: Google Custom Search JSON API — Customsearch description: 'Google Custom Search JSON API — Customsearch. 2 operations. Lead operation: Google Custom Search Custom Search. Self-contained Naftiko capability covering one Google Custom Search business surface.' tags: - Google Custom Search - Customsearch created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GOOGLE_CUSTOM_SEARCH_API_KEY: GOOGLE_CUSTOM_SEARCH_API_KEY capability: consumes: - type: http namespace: openapi-customsearch baseUri: https://customsearch.googleapis.com description: Google Custom Search JSON API — Customsearch business capability. Self-contained, no shared references. resources: - name: customsearch-v1 path: /customsearch/v1 operations: - name: searchcustomsearch method: GET description: Google Custom Search Custom Search outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: key in: query type: string description: API key. required: true - name: cx in: query type: string description: The Programmable Search Engine ID. required: true - name: q in: query type: string description: The search query. required: true - name: num in: query type: integer description: Number of results to return (1-10). - name: start in: query type: integer description: The index of the first result to return. - name: lr in: query type: string description: Language restriction. - name: safe in: query type: string description: Safe search setting. - name: searchType in: query type: string description: Type of search. - name: imgSize in: query type: string description: Image size filter. - name: imgType in: query type: string description: Image type filter. - name: dateRestrict in: query type: string description: Restrict results by date. - name: sort in: query type: string description: Sort expression. - name: customsearch-v1-siterestrict path: /customsearch/v1/siterestrict operations: - name: searchsiterestrict method: GET description: Google Custom Search Custom Search Site Restricted outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: key in: query type: string required: true - name: cx in: query type: string required: true - name: q in: query type: string required: true - name: num in: query type: integer - name: start in: query type: integer authentication: type: apikey key: key value: '{{env.GOOGLE_CUSTOM_SEARCH_API_KEY}}' placement: query exposes: - type: rest namespace: openapi-customsearch-rest port: 8080 description: REST adapter for Google Custom Search JSON API — Customsearch. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/customsearch/v1 name: customsearch-v1 description: REST surface for customsearch-v1. operations: - method: GET name: searchcustomsearch description: Google Custom Search Custom Search call: openapi-customsearch.searchcustomsearch with: key: rest.key cx: rest.cx q: rest.q num: rest.num start: rest.start lr: rest.lr safe: rest.safe searchType: rest.searchType imgSize: rest.imgSize imgType: rest.imgType dateRestrict: rest.dateRestrict sort: rest.sort outputParameters: - type: object mapping: $. - path: /v1/customsearch/v1/siterestrict name: customsearch-v1-siterestrict description: REST surface for customsearch-v1-siterestrict. operations: - method: GET name: searchsiterestrict description: Google Custom Search Custom Search Site Restricted call: openapi-customsearch.searchsiterestrict with: key: rest.key cx: rest.cx q: rest.q num: rest.num start: rest.start outputParameters: - type: object mapping: $. - type: mcp namespace: openapi-customsearch-mcp port: 9090 transport: http description: MCP adapter for Google Custom Search JSON API — Customsearch. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: google-custom-search-custom-search description: Google Custom Search Custom Search hints: readOnly: true destructive: false idempotent: true call: openapi-customsearch.searchcustomsearch with: key: tools.key cx: tools.cx q: tools.q num: tools.num start: tools.start lr: tools.lr safe: tools.safe searchType: tools.searchType imgSize: tools.imgSize imgType: tools.imgType dateRestrict: tools.dateRestrict sort: tools.sort outputParameters: - type: object mapping: $. - name: google-custom-search-custom-search-2 description: Google Custom Search Custom Search Site Restricted hints: readOnly: true destructive: false idempotent: true call: openapi-customsearch.searchsiterestrict with: key: tools.key cx: tools.cx q: tools.q num: tools.num start: tools.start outputParameters: - type: object mapping: $.