Nomic Atlas MCP by usefulapi
Semantic nearest-neighbour search over your datasets, plus indices and projections.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"nomic-atlas": {
"url": "https://nomic-atlas.usefulapi.io/mcp"
}
}
}Remote endpoints
https://nomic-atlas.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
🟢nomic_get_user
Fetch the account the API key belongs to, including the organisations it can access. Start here — the organisation slug feeds the other tools. Atlas: GET /v1/user.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nomic_get_organization(slug)
Fetch an organisation by slug, with the datasets it holds. Atlas: GET /v1/organization/{slug}.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The organisation's slug, from nomic_get_user."
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nomic_get_dataset(dataset_id)
Fetch a dataset (Atlas calls it a project) by id — its schema, size, indices and projections. Atlas: GET /v1/project/{id}.
Input Schema
{
"type": "object",
"properties": {
"dataset_id": {
"type": "string",
"description": "The dataset's id (a UUID)."
}
},
"required": [
"dataset_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nomic_get_dataset_by_slug(organization_slug, dataset_slug)
Fetch a dataset by organisation slug and dataset slug — the human-readable path, and usually easier than finding the UUID. Atlas: GET /v1/project/{organization_slug}/{project_slug}.
Input Schema
{
"type": "object",
"properties": {
"organization_slug": {
"type": "string",
"description": "The organisation's slug."
},
"dataset_slug": {
"type": "string",
"description": "The dataset's slug."
}
},
"required": [
"organization_slug",
"dataset_slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nomic_nearest_neighbors_by_id(atlas_index_id, datum_ids, k)
Semantic search: given the ids of records already in a dataset, return their nearest neighbours in embedding space, with distances. This is what Atlas is for — finding what resembles what across unstructured data. Needs a BUILT index; if the map is still building the call fails with a 500, so check nomic_get_index_job. Atlas: POST /v1/project/data/get/nearest_neighbors/by_id.
Input Schema
{
"type": "object",
"properties": {
"atlas_index_id": {
"type": "string",
"description": "The index to search. Read it from the dataset returned by nomic_get_dataset."
},
"datum_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ids of the seed records to find neighbours of."
},
"k": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "How many neighbours to return per seed, 1-100."
}
},
"required": [
"atlas_index_id",
"datum_ids",
"k"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nomic_get_index_job(job_id)
Fetch the status of an index-building job. Atlas indexes take time to build, and a vector search against an unbuilt map fails — this is how you tell which it is. Atlas: GET /v1/project/index/job/{job_id}.
Input Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "The index job's id."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nomic_get_projection_schema(projection_id)
Fetch the field schema of one projection — the columns available on its records. Atlas: GET /v1/project/projection/{projection_id}/schema.
Input Schema
{
"type": "object",
"properties": {
"projection_id": {
"type": "string",
"description": "The projection's id."
}
},
"required": [
"projection_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nomic_list_tags(dataset_id, projection_id)
List the tags defined on one projection — the labelled selections a person made on the map. Atlas: GET /v1/project/projection/tags/get/all.
Input Schema
{
"type": "object",
"properties": {
"dataset_id": {
"type": "string",
"description": "The dataset's id."
},
"projection_id": {
"type": "string",
"description": "The projection's id."
}
},
"required": [
"dataset_id",
"projection_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢nomic_get_tag_status(dataset_id, tag_id)
Check whether a tag has finished computing its membership. A tag that is still building returns partial results. Atlas: GET /v1/project/projection/tags/status.
Input Schema
{
"type": "object",
"properties": {
"dataset_id": {
"type": "string",
"description": "The dataset's id."
},
"tag_id": {
"type": "string",
"description": "The tag's id, from nomic_list_tags."
}
},
"required": [
"dataset_id",
"tag_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence