naftiko: 1.0.0-alpha2 info: label: MongoDB Atlas Administration API — Atlas Search description: 'MongoDB Atlas Administration API — Atlas Search. 18 operations. Lead operation: Create One Atlas Search Index. Self-contained Naftiko capability covering one Mongodb business surface.' tags: - Mongodb - Atlas Search created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MONGODB_API_KEY: MONGODB_API_KEY capability: consumes: - type: http namespace: atlas-atlas-search baseUri: https://cloud.mongodb.com description: MongoDB Atlas Administration API — Atlas Search business capability. Self-contained, no shared references. resources: - name: api-atlas-v2-groups-groupId-clusters-clusterName-fts-indexes path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/fts/indexes operations: - name: creategroupclusterftsindex method: POST description: Create One Atlas Search Index outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection on which to create an Atlas Search index. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-groups-groupId-clusters-clusterName-fts-indexes-databaseName-collec path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/fts/indexes/{databaseName}/{collectionName} operations: - name: listgroupclusterftsindex method: GET description: Return All Atlas Search Indexes for One Collection outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection with one or more Atlas Search indexes. required: true - name: collectionName in: path type: string description: Name of the collection that contains one or more Atlas Search indexes. required: true - name: databaseName in: path type: string description: Human-readable label that identifies the database that contains the collection with one or more Atlas Search indexes. required: true - name: api-atlas-v2-groups-groupId-clusters-clusterName-fts-indexes-indexId path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/fts/indexes/{indexId} operations: - name: deletegroupclusterftsindex method: DELETE description: Remove One Atlas Search Index outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the database and collection with one or more Application Search indexes. required: true - name: indexId in: path type: string description: Unique 24-hexadecimal digit string that identifies the Atlas Search index. Use the [Get All Atlas Search Indexes for a Collection API](https://docs.atlas.mongod required: true - name: getgroupclusterftsindex method: GET description: Return One Atlas Search Index outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection with one or more Atlas Search indexes. required: true - name: indexId in: path type: string description: Unique 24-hexadecimal digit string that identifies the Application Search [index](https://dochub.mongodb.org/core/index-definitions-fts). Use the [Get All Appli required: true - name: updategroupclusterftsindex method: PATCH description: Update One Atlas Search Index outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection whose Atlas Search index to update. required: true - name: indexId in: path type: string description: Unique 24-hexadecimal digit string that identifies the Atlas Search [index](https://dochub.mongodb.org/core/index-definitions-fts). Use the [Get All Atlas Searc required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-groups-groupId-clusters-clusterName-search-deployment path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/deployment operations: - name: deletegroupclustersearchdeployment method: DELETE description: Delete Search Nodes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Label that identifies the cluster to delete. required: true - name: getgroupclustersearchdeployment method: GET description: Return All Search Nodes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Label that identifies the cluster to return the Search Nodes for. required: true - name: updategroupclustersearchdeployment method: PATCH description: Update Search Nodes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Label that identifies the cluster to update the Search Nodes for. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: creategroupclustersearchdeployment method: POST description: Create Search Nodes outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Label that identifies the cluster to create Search Nodes for. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-groups-groupId-clusters-clusterName-search-indexes path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes operations: - name: listgroupclustersearchindexes method: GET description: Return All Atlas Search Indexes for One Cluster outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection with one or more Atlas Search indexes. required: true - name: creategroupclustersearchindex method: POST description: Create One Atlas Search Index outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection on which to create an Atlas Search index. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-groups-groupId-clusters-clusterName-search-indexes-databaseName-col path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName} operations: - name: listgroupclustersearchindex method: GET description: Return All Atlas Search Indexes for One Collection outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection with one or more Atlas Search indexes. required: true - name: collectionName in: path type: string description: Name of the collection that contains one or more Atlas Search indexes. required: true - name: databaseName in: path type: string description: Label that identifies the database that contains the collection with one or more Atlas Search indexes. required: true - name: api-atlas-v2-groups-groupId-clusters-clusterName-search-indexes-databaseName-col path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{databaseName}/{collectionName}/{indexName} operations: - name: deletegroupclustersearchindexbyname method: DELETE description: Remove One Atlas Search Index by Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the database and collection with one or more Application Search indexes. required: true - name: collectionName in: path type: string description: Name of the collection that contains one or more Atlas Search indexes. required: true - name: databaseName in: path type: string description: Label that identifies the database that contains the collection with one or more Atlas Search indexes. required: true - name: indexName in: path type: string description: Name of the Atlas Search index to delete. required: true - name: getgroupclustersearchindexbyname method: GET description: Return One Atlas Search Index by Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection with one or more Atlas Search indexes. required: true - name: collectionName in: path type: string description: Name of the collection that contains one or more Atlas Search indexes. required: true - name: databaseName in: path type: string description: Label that identifies the database that contains the collection with one or more Atlas Search indexes. required: true - name: indexName in: path type: string description: Name of the Atlas Search index to return. required: true - name: updategroupclustersearchindexbyname method: PATCH description: Update One Atlas Search Index by Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection whose Atlas Search index you want to update. required: true - name: collectionName in: path type: string description: Name of the collection that contains one or more Atlas Search indexes. required: true - name: databaseName in: path type: string description: Label that identifies the database that contains the collection with one or more Atlas Search indexes. required: true - name: indexName in: path type: string description: Name of the Atlas Search index to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-groups-groupId-clusters-clusterName-search-indexes-indexId path: /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes/{indexId} operations: - name: deletegroupclustersearchindex method: DELETE description: Remove One Atlas Search Index by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the database and collection with one or more Application Search indexes. required: true - name: indexId in: path type: string description: Unique 24-hexadecimal digit string that identifies the Atlas Search index. Use the [Get All Atlas Search Indexes for a Collection API](https://docs.atlas.mongod required: true - name: getgroupclustersearchindex method: GET description: Return One Atlas Search Index by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection with one or more Atlas Search indexes. required: true - name: indexId in: path type: string description: Unique 24-hexadecimal digit string that identifies the Application Search [index](https://dochub.mongodb.org/core/index-definitions-fts). Use the [Get All Appli required: true - name: updategroupclustersearchindex method: PATCH description: Update One Atlas Search Index by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: clusterName in: path type: string description: Name of the cluster that contains the collection whose Atlas Search index you want to update. required: true - name: indexId in: path type: string description: Unique 24-hexadecimal digit string that identifies the Atlas Search [index](https://dochub.mongodb.org/core/index-definitions-fts). Use the [Get All Atlas Searc required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.MONGODB_API_KEY}}' exposes: - type: rest namespace: atlas-atlas-search-rest port: 8080 description: REST adapter for MongoDB Atlas Administration API — Atlas Search. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/fts/indexes name: api-atlas-v2-groups-groupid-clusters-clustername-fts-indexes description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-fts-indexes. operations: - method: POST name: creategroupclusterftsindex description: Create One Atlas Search Index call: atlas-atlas-search.creategroupclusterftsindex with: clusterName: rest.clusterName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/fts/indexes/{databasename}/{collectionname} name: api-atlas-v2-groups-groupid-clusters-clustername-fts-indexes-databasename-collec description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-fts-indexes-databaseName-collec. operations: - method: GET name: listgroupclusterftsindex description: Return All Atlas Search Indexes for One Collection call: atlas-atlas-search.listgroupclusterftsindex with: clusterName: rest.clusterName collectionName: rest.collectionName databaseName: rest.databaseName outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/fts/indexes/{indexid} name: api-atlas-v2-groups-groupid-clusters-clustername-fts-indexes-indexid description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-fts-indexes-indexId. operations: - method: DELETE name: deletegroupclusterftsindex description: Remove One Atlas Search Index call: atlas-atlas-search.deletegroupclusterftsindex with: clusterName: rest.clusterName indexId: rest.indexId outputParameters: - type: object mapping: $. - method: GET name: getgroupclusterftsindex description: Return One Atlas Search Index call: atlas-atlas-search.getgroupclusterftsindex with: clusterName: rest.clusterName indexId: rest.indexId outputParameters: - type: object mapping: $. - method: PATCH name: updategroupclusterftsindex description: Update One Atlas Search Index call: atlas-atlas-search.updategroupclusterftsindex with: clusterName: rest.clusterName indexId: rest.indexId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/search/deployment name: api-atlas-v2-groups-groupid-clusters-clustername-search-deployment description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-search-deployment. operations: - method: DELETE name: deletegroupclustersearchdeployment description: Delete Search Nodes call: atlas-atlas-search.deletegroupclustersearchdeployment with: clusterName: rest.clusterName outputParameters: - type: object mapping: $. - method: GET name: getgroupclustersearchdeployment description: Return All Search Nodes call: atlas-atlas-search.getgroupclustersearchdeployment with: clusterName: rest.clusterName outputParameters: - type: object mapping: $. - method: PATCH name: updategroupclustersearchdeployment description: Update Search Nodes call: atlas-atlas-search.updategroupclustersearchdeployment with: clusterName: rest.clusterName body: rest.body outputParameters: - type: object mapping: $. - method: POST name: creategroupclustersearchdeployment description: Create Search Nodes call: atlas-atlas-search.creategroupclustersearchdeployment with: clusterName: rest.clusterName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/search/indexes name: api-atlas-v2-groups-groupid-clusters-clustername-search-indexes description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-search-indexes. operations: - method: GET name: listgroupclustersearchindexes description: Return All Atlas Search Indexes for One Cluster call: atlas-atlas-search.listgroupclustersearchindexes with: clusterName: rest.clusterName outputParameters: - type: object mapping: $. - method: POST name: creategroupclustersearchindex description: Create One Atlas Search Index call: atlas-atlas-search.creategroupclustersearchindex with: clusterName: rest.clusterName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/search/indexes/{databasename}/{collectionname} name: api-atlas-v2-groups-groupid-clusters-clustername-search-indexes-databasename-col description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-search-indexes-databaseName-col. operations: - method: GET name: listgroupclustersearchindex description: Return All Atlas Search Indexes for One Collection call: atlas-atlas-search.listgroupclustersearchindex with: clusterName: rest.clusterName collectionName: rest.collectionName databaseName: rest.databaseName outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/search/indexes/{databasename}/{collectionname}/{indexname} name: api-atlas-v2-groups-groupid-clusters-clustername-search-indexes-databasename-col description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-search-indexes-databaseName-col. operations: - method: DELETE name: deletegroupclustersearchindexbyname description: Remove One Atlas Search Index by Name call: atlas-atlas-search.deletegroupclustersearchindexbyname with: clusterName: rest.clusterName collectionName: rest.collectionName databaseName: rest.databaseName indexName: rest.indexName outputParameters: - type: object mapping: $. - method: GET name: getgroupclustersearchindexbyname description: Return One Atlas Search Index by Name call: atlas-atlas-search.getgroupclustersearchindexbyname with: clusterName: rest.clusterName collectionName: rest.collectionName databaseName: rest.databaseName indexName: rest.indexName outputParameters: - type: object mapping: $. - method: PATCH name: updategroupclustersearchindexbyname description: Update One Atlas Search Index by Name call: atlas-atlas-search.updategroupclustersearchindexbyname with: clusterName: rest.clusterName collectionName: rest.collectionName databaseName: rest.databaseName indexName: rest.indexName body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/groups/{groupid}/clusters/{clustername}/search/indexes/{indexid} name: api-atlas-v2-groups-groupid-clusters-clustername-search-indexes-indexid description: REST surface for api-atlas-v2-groups-groupId-clusters-clusterName-search-indexes-indexId. operations: - method: DELETE name: deletegroupclustersearchindex description: Remove One Atlas Search Index by ID call: atlas-atlas-search.deletegroupclustersearchindex with: clusterName: rest.clusterName indexId: rest.indexId outputParameters: - type: object mapping: $. - method: GET name: getgroupclustersearchindex description: Return One Atlas Search Index by ID call: atlas-atlas-search.getgroupclustersearchindex with: clusterName: rest.clusterName indexId: rest.indexId outputParameters: - type: object mapping: $. - method: PATCH name: updategroupclustersearchindex description: Update One Atlas Search Index by ID call: atlas-atlas-search.updategroupclustersearchindex with: clusterName: rest.clusterName indexId: rest.indexId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: atlas-atlas-search-mcp port: 9090 transport: http description: MCP adapter for MongoDB Atlas Administration API — Atlas Search. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-one-atlas-search-index description: Create One Atlas Search Index hints: readOnly: true destructive: false idempotent: false call: atlas-atlas-search.creategroupclusterftsindex with: clusterName: tools.clusterName body: tools.body outputParameters: - type: object mapping: $. - name: return-all-atlas-search-indexes description: Return All Atlas Search Indexes for One Collection hints: readOnly: true destructive: false idempotent: true call: atlas-atlas-search.listgroupclusterftsindex with: clusterName: tools.clusterName collectionName: tools.collectionName databaseName: tools.databaseName outputParameters: - type: object mapping: $. - name: remove-one-atlas-search-index description: Remove One Atlas Search Index hints: readOnly: false destructive: true idempotent: true call: atlas-atlas-search.deletegroupclusterftsindex with: clusterName: tools.clusterName indexId: tools.indexId outputParameters: - type: object mapping: $. - name: return-one-atlas-search-index description: Return One Atlas Search Index hints: readOnly: true destructive: false idempotent: true call: atlas-atlas-search.getgroupclusterftsindex with: clusterName: tools.clusterName indexId: tools.indexId outputParameters: - type: object mapping: $. - name: update-one-atlas-search-index description: Update One Atlas Search Index hints: readOnly: false destructive: false idempotent: true call: atlas-atlas-search.updategroupclusterftsindex with: clusterName: tools.clusterName indexId: tools.indexId body: tools.body outputParameters: - type: object mapping: $. - name: delete-search-nodes description: Delete Search Nodes hints: readOnly: false destructive: true idempotent: true call: atlas-atlas-search.deletegroupclustersearchdeployment with: clusterName: tools.clusterName outputParameters: - type: object mapping: $. - name: return-all-search-nodes description: Return All Search Nodes hints: readOnly: true destructive: false idempotent: true call: atlas-atlas-search.getgroupclustersearchdeployment with: clusterName: tools.clusterName outputParameters: - type: object mapping: $. - name: update-search-nodes description: Update Search Nodes hints: readOnly: false destructive: false idempotent: true call: atlas-atlas-search.updategroupclustersearchdeployment with: clusterName: tools.clusterName body: tools.body outputParameters: - type: object mapping: $. - name: create-search-nodes description: Create Search Nodes hints: readOnly: true destructive: false idempotent: false call: atlas-atlas-search.creategroupclustersearchdeployment with: clusterName: tools.clusterName body: tools.body outputParameters: - type: object mapping: $. - name: return-all-atlas-search-indexes-2 description: Return All Atlas Search Indexes for One Cluster hints: readOnly: true destructive: false idempotent: true call: atlas-atlas-search.listgroupclustersearchindexes with: clusterName: tools.clusterName outputParameters: - type: object mapping: $. - name: create-one-atlas-search-index-2 description: Create One Atlas Search Index hints: readOnly: true destructive: false idempotent: false call: atlas-atlas-search.creategroupclustersearchindex with: clusterName: tools.clusterName body: tools.body outputParameters: - type: object mapping: $. - name: return-all-atlas-search-indexes-3 description: Return All Atlas Search Indexes for One Collection hints: readOnly: true destructive: false idempotent: true call: atlas-atlas-search.listgroupclustersearchindex with: clusterName: tools.clusterName collectionName: tools.collectionName databaseName: tools.databaseName outputParameters: - type: object mapping: $. - name: remove-one-atlas-search-index-2 description: Remove One Atlas Search Index by Name hints: readOnly: false destructive: true idempotent: true call: atlas-atlas-search.deletegroupclustersearchindexbyname with: clusterName: tools.clusterName collectionName: tools.collectionName databaseName: tools.databaseName indexName: tools.indexName outputParameters: - type: object mapping: $. - name: return-one-atlas-search-index-2 description: Return One Atlas Search Index by Name hints: readOnly: true destructive: false idempotent: true call: atlas-atlas-search.getgroupclustersearchindexbyname with: clusterName: tools.clusterName collectionName: tools.collectionName databaseName: tools.databaseName indexName: tools.indexName outputParameters: - type: object mapping: $. - name: update-one-atlas-search-index-2 description: Update One Atlas Search Index by Name hints: readOnly: false destructive: false idempotent: true call: atlas-atlas-search.updategroupclustersearchindexbyname with: clusterName: tools.clusterName collectionName: tools.collectionName databaseName: tools.databaseName indexName: tools.indexName body: tools.body outputParameters: - type: object mapping: $. - name: remove-one-atlas-search-index-3 description: Remove One Atlas Search Index by ID hints: readOnly: false destructive: true idempotent: true call: atlas-atlas-search.deletegroupclustersearchindex with: clusterName: tools.clusterName indexId: tools.indexId outputParameters: - type: object mapping: $. - name: return-one-atlas-search-index-3 description: Return One Atlas Search Index by ID hints: readOnly: true destructive: false idempotent: true call: atlas-atlas-search.getgroupclustersearchindex with: clusterName: tools.clusterName indexId: tools.indexId outputParameters: - type: object mapping: $. - name: update-one-atlas-search-index-3 description: Update One Atlas Search Index by ID hints: readOnly: false destructive: false idempotent: true call: atlas-atlas-search.updategroupclustersearchindex with: clusterName: tools.clusterName indexId: tools.indexId body: tools.body outputParameters: - type: object mapping: $.