naftiko: 1.0.0-alpha2 info: label: Microsoft Azure SearchIndexClient — Documents description: 'Microsoft Azure SearchIndexClient — Documents. 9 operations. Lead operation: Microsoft Azure Get Docs. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Documents created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: searchindexclient-documents baseUri: '' description: Microsoft Azure SearchIndexClient — Documents business capability. Self-contained, no shared references. resources: - name: docs path: /docs operations: - name: microsoftazuredocumentssearchget method: GET description: Microsoft Azure Get Docs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: search in: query type: string description: A full-text search query expression; Use "*" or omit this parameter to match all documents. - name: $count in: query type: boolean description: A value that specifies whether to fetch the total count of results. Default is false. Setting this value to true may have a performance impact. Note that the co - name: facet in: query type: array description: The list of facet expressions to apply to the search query. Each facet expression contains a field name, optionally followed by a comma-separated list of name:v - name: $filter in: query type: string description: The OData $filter expression to apply to the search query. - name: highlight in: query type: array description: The list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting. - name: highlightPostTag in: query type: string description: A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>. - name: highlightPreTag in: query type: string description: A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>. - name: minimumCoverage in: query type: number description: A number between 0 and 100 indicating the percentage of the index that must be covered by a search query in order for the query to be reported as a success. Thi - name: $orderby in: query type: array description: The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the se - name: queryType in: query type: string description: A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax. - name: scoringParameter in: query type: array description: The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. For example, if the scoring pr - name: scoringProfile in: query type: string description: The name of a scoring profile to evaluate match scores for matching documents in order to sort the results. - name: searchFields in: query type: array description: The list of field names to include in the full-text search. - name: searchMode in: query type: string description: A value that specifies whether any or all of the search terms must be matched in order to count the document as a match. - name: $select in: query type: array description: The list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included. - name: $skip in: query type: integer description: The number of search results to skip. This value cannot be greater than 100,000. If you need to scan documents in sequence, but cannot use $skip due to this lim - name: $top in: query type: integer description: The number of search results to retrieve. This can be used in conjunction with $skip to implement client-side paging of search results. If results are truncated - name: docs('{key}') path: /docs('{key}') operations: - name: microsoftazuredocumentsget method: GET description: Microsoft Azure Get Docs Key outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: key in: path type: string description: The key of the document to retrieve. required: true - name: $select in: query type: array description: List of field names to retrieve for the document; Any field not retrieved will be missing from the returned document. - name: docs-$count path: /docs/$count operations: - name: microsoftazuredocumentscount method: GET description: Microsoft Azure Get Docs $count outputRawFormat: json outputParameters: - name: result type: object value: $. - name: docs-search.autocomplete path: /docs/search.autocomplete operations: - name: microsoftazuredocumentsautocompleteget method: GET description: Microsoft Azure Get Docs Search Autocomplete outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: search in: query type: string description: The incomplete term which should be auto-completed. required: true - name: suggesterName in: query type: string description: The name of the suggester as specified in the suggesters collection that's part of the index definition. required: true - name: autocompleteMode in: query type: string description: Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producin - name: $filter in: query type: string description: An OData expression that filters the documents used to produce completed terms for the Autocomplete result. - name: fuzzy in: query type: boolean description: A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will find terms even if there's a sub - name: highlightPostTag in: query type: string description: A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled. - name: highlightPreTag in: query type: string description: A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting is disabled. - name: minimumCoverage in: query type: number description: A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete query in order for the query to be reported as a succe - name: searchFields in: query type: array description: The list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester. - name: $top in: query type: integer description: The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5. - name: docs-search.index path: /docs/search.index operations: - name: microsoftazuredocumentsindex method: POST description: Microsoft Azure Post Docs Search Index outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: batch in: body type: string description: The batch of index actions. required: true - name: docs-search.post.autocomplete path: /docs/search.post.autocomplete operations: - name: microsoftazuredocumentsautocompletepost method: POST description: Microsoft Azure Post Docs Search Post Autocomplete outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: autocompleteRequest in: body type: string description: The definition of the Autocomplete request. required: true - name: docs-search.post.search path: /docs/search.post.search operations: - name: microsoftazuredocumentssearchpost method: POST description: Microsoft Azure Post Docs Search Post Search outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: searchRequest in: body type: string description: The definition of the Search request. required: true - name: docs-search.post.suggest path: /docs/search.post.suggest operations: - name: microsoftazuredocumentssuggestpost method: POST description: Microsoft Azure Post Docs Search Post Suggest outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: suggestRequest in: body type: string description: The Suggest request. required: true - name: docs-search.suggest path: /docs/search.suggest operations: - name: microsoftazuredocumentssuggestget method: GET description: Microsoft Azure Get Docs Search Suggest outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: search in: query type: string description: The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters. required: true - name: suggesterName in: query type: string description: The name of the suggester as specified in the suggesters collection that's part of the index definition. required: true - name: $filter in: query type: string description: An OData expression that filters the documents considered for suggestions. - name: fuzzy in: query type: boolean description: A value indicating whether to use fuzzy matching for the suggestions query. Default is false. When set to true, the query will find terms even if there's a subs - name: highlightPostTag in: query type: string description: A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting of suggestions is disabled. - name: highlightPreTag in: query type: string description: A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting of suggestions is disabled. - name: minimumCoverage in: query type: number description: A number between 0 and 100 indicating the percentage of the index that must be covered by a suggestions query in order for the query to be reported as a success - name: $orderby in: query type: array description: The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the se - name: searchFields in: query type: array description: The list of field names to search for the specified search text. Target fields must be included in the specified suggester. - name: $select in: query type: array description: The list of fields to retrieve. If unspecified, only the key field will be included in the results. - name: $top in: query type: integer description: The number of suggestions to retrieve. The value must be a number between 1 and 100. The default is 5. exposes: - type: rest namespace: searchindexclient-documents-rest port: 8080 description: REST adapter for Microsoft Azure SearchIndexClient — Documents. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/docs name: docs description: REST surface for docs. operations: - method: GET name: microsoftazuredocumentssearchget description: Microsoft Azure Get Docs call: searchindexclient-documents.microsoftazuredocumentssearchget with: search: rest.search $count: rest.$count facet: rest.facet $filter: rest.$filter highlight: rest.highlight highlightPostTag: rest.highlightPostTag highlightPreTag: rest.highlightPreTag minimumCoverage: rest.minimumCoverage $orderby: rest.$orderby queryType: rest.queryType scoringParameter: rest.scoringParameter scoringProfile: rest.scoringProfile searchFields: rest.searchFields searchMode: rest.searchMode $select: rest.$select $skip: rest.$skip $top: rest.$top outputParameters: - type: object mapping: $. - path: /v1/docs-key name: docs-key description: REST surface for docs('{key}'). operations: - method: GET name: microsoftazuredocumentsget description: Microsoft Azure Get Docs Key call: searchindexclient-documents.microsoftazuredocumentsget with: key: rest.key $select: rest.$select outputParameters: - type: object mapping: $. - path: /v1/docs/count name: docs-count description: REST surface for docs-$count. operations: - method: GET name: microsoftazuredocumentscount description: Microsoft Azure Get Docs $count call: searchindexclient-documents.microsoftazuredocumentscount outputParameters: - type: object mapping: $. - path: /v1/docs/search-autocomplete name: docs-search-autocomplete description: REST surface for docs-search.autocomplete. operations: - method: GET name: microsoftazuredocumentsautocompleteget description: Microsoft Azure Get Docs Search Autocomplete call: searchindexclient-documents.microsoftazuredocumentsautocompleteget with: search: rest.search suggesterName: rest.suggesterName autocompleteMode: rest.autocompleteMode $filter: rest.$filter fuzzy: rest.fuzzy highlightPostTag: rest.highlightPostTag highlightPreTag: rest.highlightPreTag minimumCoverage: rest.minimumCoverage searchFields: rest.searchFields $top: rest.$top outputParameters: - type: object mapping: $. - path: /v1/docs/search-index name: docs-search-index description: REST surface for docs-search.index. operations: - method: POST name: microsoftazuredocumentsindex description: Microsoft Azure Post Docs Search Index call: searchindexclient-documents.microsoftazuredocumentsindex with: batch: rest.batch outputParameters: - type: object mapping: $. - path: /v1/docs/search-post-autocomplete name: docs-search-post-autocomplete description: REST surface for docs-search.post.autocomplete. operations: - method: POST name: microsoftazuredocumentsautocompletepost description: Microsoft Azure Post Docs Search Post Autocomplete call: searchindexclient-documents.microsoftazuredocumentsautocompletepost with: autocompleteRequest: rest.autocompleteRequest outputParameters: - type: object mapping: $. - path: /v1/docs/search-post-search name: docs-search-post-search description: REST surface for docs-search.post.search. operations: - method: POST name: microsoftazuredocumentssearchpost description: Microsoft Azure Post Docs Search Post Search call: searchindexclient-documents.microsoftazuredocumentssearchpost with: searchRequest: rest.searchRequest outputParameters: - type: object mapping: $. - path: /v1/docs/search-post-suggest name: docs-search-post-suggest description: REST surface for docs-search.post.suggest. operations: - method: POST name: microsoftazuredocumentssuggestpost description: Microsoft Azure Post Docs Search Post Suggest call: searchindexclient-documents.microsoftazuredocumentssuggestpost with: suggestRequest: rest.suggestRequest outputParameters: - type: object mapping: $. - path: /v1/docs/search-suggest name: docs-search-suggest description: REST surface for docs-search.suggest. operations: - method: GET name: microsoftazuredocumentssuggestget description: Microsoft Azure Get Docs Search Suggest call: searchindexclient-documents.microsoftazuredocumentssuggestget with: search: rest.search suggesterName: rest.suggesterName $filter: rest.$filter fuzzy: rest.fuzzy highlightPostTag: rest.highlightPostTag highlightPreTag: rest.highlightPreTag minimumCoverage: rest.minimumCoverage $orderby: rest.$orderby searchFields: rest.searchFields $select: rest.$select $top: rest.$top outputParameters: - type: object mapping: $. - type: mcp namespace: searchindexclient-documents-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure SearchIndexClient — Documents. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-docs description: Microsoft Azure Get Docs hints: readOnly: true destructive: false idempotent: true call: searchindexclient-documents.microsoftazuredocumentssearchget with: search: tools.search $count: tools.$count facet: tools.facet $filter: tools.$filter highlight: tools.highlight highlightPostTag: tools.highlightPostTag highlightPreTag: tools.highlightPreTag minimumCoverage: tools.minimumCoverage $orderby: tools.$orderby queryType: tools.queryType scoringParameter: tools.scoringParameter scoringProfile: tools.scoringProfile searchFields: tools.searchFields searchMode: tools.searchMode $select: tools.$select $skip: tools.$skip $top: tools.$top outputParameters: - type: object mapping: $. - name: microsoft-azure-get-docs-key description: Microsoft Azure Get Docs Key hints: readOnly: true destructive: false idempotent: true call: searchindexclient-documents.microsoftazuredocumentsget with: key: tools.key $select: tools.$select outputParameters: - type: object mapping: $. - name: microsoft-azure-get-docs-count description: Microsoft Azure Get Docs $count hints: readOnly: true destructive: false idempotent: true call: searchindexclient-documents.microsoftazuredocumentscount outputParameters: - type: object mapping: $. - name: microsoft-azure-get-docs-search description: Microsoft Azure Get Docs Search Autocomplete hints: readOnly: true destructive: false idempotent: true call: searchindexclient-documents.microsoftazuredocumentsautocompleteget with: search: tools.search suggesterName: tools.suggesterName autocompleteMode: tools.autocompleteMode $filter: tools.$filter fuzzy: tools.fuzzy highlightPostTag: tools.highlightPostTag highlightPreTag: tools.highlightPreTag minimumCoverage: tools.minimumCoverage searchFields: tools.searchFields $top: tools.$top outputParameters: - type: object mapping: $. - name: microsoft-azure-post-docs-search description: Microsoft Azure Post Docs Search Index hints: readOnly: true destructive: false idempotent: false call: searchindexclient-documents.microsoftazuredocumentsindex with: batch: tools.batch outputParameters: - type: object mapping: $. - name: microsoft-azure-post-docs-search-2 description: Microsoft Azure Post Docs Search Post Autocomplete hints: readOnly: true destructive: false idempotent: false call: searchindexclient-documents.microsoftazuredocumentsautocompletepost with: autocompleteRequest: tools.autocompleteRequest outputParameters: - type: object mapping: $. - name: microsoft-azure-post-docs-search-3 description: Microsoft Azure Post Docs Search Post Search hints: readOnly: true destructive: false idempotent: false call: searchindexclient-documents.microsoftazuredocumentssearchpost with: searchRequest: tools.searchRequest outputParameters: - type: object mapping: $. - name: microsoft-azure-post-docs-search-4 description: Microsoft Azure Post Docs Search Post Suggest hints: readOnly: true destructive: false idempotent: false call: searchindexclient-documents.microsoftazuredocumentssuggestpost with: suggestRequest: tools.suggestRequest outputParameters: - type: object mapping: $. - name: microsoft-azure-get-docs-search-2 description: Microsoft Azure Get Docs Search Suggest hints: readOnly: true destructive: false idempotent: true call: searchindexclient-documents.microsoftazuredocumentssuggestget with: search: tools.search suggesterName: tools.suggesterName $filter: tools.$filter fuzzy: tools.fuzzy highlightPostTag: tools.highlightPostTag highlightPreTag: tools.highlightPreTag minimumCoverage: tools.minimumCoverage $orderby: tools.$orderby searchFields: tools.searchFields $select: tools.$select $top: tools.$top outputParameters: - type: object mapping: $.