Atlan MCP Server

Atlan MCP Server

MCP server for interacting with Atlan services including asset search, updates, and lineage traversal for comprehensive data governance and discovery.

1.1K

7 Tools

Packaged by
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

Execute the search with the given query dsl_query : Union[str, Dict[str, Any]] (required): The DSL query used to search the index. Example: dsl_query = '''{ "query": { "function_score": { "boost_mode": "sum", "functions": [ {"filter": {"match": {"starredBy": "john.doe"}}, "weight": 10}, {"filter": {"match": {"certificateStatus": "VERIFIED"}}, "weight": 15}, {"filter": {"match": {"certificateStatus": "DRAFT"}}, "weight": 10}, {"filter": {"bool": {"must_not": [{"exists": {"field": "certificateStatus"}}]}}, "weight": 8}, {"filter": {"bool": {"must_not": [{"terms": {"__typeName.keyword": ["Process", "DbtProcess"]}}]}}, "weight": 20} ], "query": { "bool": { "filter": [ { "bool": { "minimum_should_match": 1, "must": [ {"bool": {"should": [{"terms": {"certificateStatus": ["VERIFIED"]}}]}}, {"term": {"__state": "ACTIVE"}} ], "must_not": [ {"term": {"isPartial": "true"}}, {"terms": {"__typeName.keyword": ["Procedure", "DbtColumnProcess", "BIProcess", "MatillionComponent", "SnowflakeTag", "DbtTag", "BigqueryTag", "AIApplication", "AIModel"]}}, {"terms": {"__typeName.keyword": ["MCIncident", "AnomaloCheck"]}} ], "should": [ {"terms": {"__typeName.keyword": ["Query", "Collection", "AtlasGlossary", "AtlasGlossaryCategory", "AtlasGlossaryTerm", "Connection", "File"]}}, ] } } ] }, "score_mode": "sum" }, "score_mode": "sum" } }, "post_filter": { "bool": { "filter": [ { "bool": { "must": [{"terms": {"__typeName.keyword": ["Table", "Column"]}}], "must_not": [{"exists": {"field": "termType"}}] } } ] }, "sort": [ {"_score": {"order": "desc"}}, {"popularityScore": {"order": "desc"}}, {"starredCount": {"order": "desc"}}, {"name.keyword": {"order": "asc"}} ], "track_total_hits": true, "size": 10, "include_meta": false }''' response = get_assets_by_dsl(dsl_query)

About

Atlan MCP Server MCP Server

MCP server for interacting with Atlan services including asset search, updates, and lineage traversal for comprehensive data governance and discovery.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/atlan
Authoratlanhq
Repositoryhttps://github.com/atlanhq/agent-toolkit
Dockerfilehttps://github.com/atlanhq/agent-toolkit/blob/main/modelcontextprotocol/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/atlan --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (7)

Tools provided by this ServerShort Description
create_glossariesCreate one or multiple AtlasGlossary assets in Atlan.
create_glossary_categoriesCreate one or multiple AtlasGlossaryCategory assets in Atlan.
create_glossary_termsCreate one or multiple AtlasGlossaryTerm assets in Atlan.
get_assets_by_dsl_toolExecute the search with the given query dsl_query : Union[str, Dict[str, Any]] (required): The DSL query used to search the index.
search_assets_toolAdvanced asset search using FluentSearch with flexible conditions.
traverse_lineage_toolTraverse asset lineage in specified direction.
update_assets_toolUpdate one or multiple assets with different values for the same attribute.

Tools Details

Tool: create_glossaries

Create one or multiple AtlasGlossary assets in Atlan.

IMPORTANT BUSINESS RULES & CONSTRAINTS:

  • Check for duplicate names within the same request and ask user to choose different names
  • Do NOT use search tool before creating glossaries - Atlan will handle existence validation
  • If user gives ambiguous instructions, ask clarifying questions Parameters|Type|Description -|-|- glossaries|string|

Tool: create_glossary_categories

Create one or multiple AtlasGlossaryCategory assets in Atlan.

IMPORTANT BUSINESS RULES & CONSTRAINTS:

  • There cannot be two categories with the same name under the same glossary (at the same level)
  • Under a parent category, there cannot be subcategories with the same name (at the same level)
  • Categories with the same name can exist under different glossaries (this is allowed)
  • Cross-level naming is allowed: category "a" can have subcategory "b", and category "b" can have subcategory "a"
  • Example allowed structure: Glossary "bui" → category "a" → subcategory "b" AND category "b" → subcategory "a"
  • Always check for duplicate names at the same level and ask user to choose different names
  • Before creating a category, perform a single search to check if the glossary or categories with the same name already exist. Skip this step if you already have the required GUIDs.
  • Example call for searching glossary and categories before category creation(Query - create categories Locations and Characters under Marvel Cinematic Universe (MCU) glossary): { "limit": 10, "conditions": { "type_name": ["AtlasGlossary", "AtlasGlossaryCategory"], "name": ["Marvel Cinematic Universe (MCU)", "Characters", "Locations"] } }
  • If user gives ambiguous instructions, ask clarifying questions Parameters|Type|Description -|-|- categories|string|

Tool: create_glossary_terms

Create one or multiple AtlasGlossaryTerm assets in Atlan.

IMPORTANT BUSINESS RULES & CONSTRAINTS:

  • Within a glossary, a term (single GUID) can be associated with many categories
  • Two terms with the same name CANNOT exist within the same glossary (regardless of categories)
  • A term is always anchored to a glossary and may also be associated with one or more categories inside the same glossary
  • Before creating a term, perform a single search to check if the glossary, categories, or term with the same name already exist. Search for all relevant glossaries, categories, and terms in one call. Skip this step if you already have the required GUIDs.
  • Example call for searching glossary categories and terms before term creation(Query - create a term fighterz under category Characters and Locations under Marvel Cinematic Universe (MCU) glossary): { "limit": 10, "conditions": { "type_name": ["AtlasGlossary", "AtlasGlossaryCategory","AtlasGlossaryTerm"], "name": ["Marvel Cinematic Universe (MCU)", "Characters", "Locations","fighterz"] } } Parameters|Type|Description -|-|- terms|string|

Tool: get_assets_by_dsl_tool

Execute the search with the given query dsl_query : Union[str, Dict[str, Any]] (required): The DSL query used to search the index.

Example: dsl_query = '''{ "query": { "function_score": { "boost_mode": "sum", "functions": [ {"filter": {"match": {"starredBy": "john.doe"}}, "weight": 10}, {"filter": {"match": {"certificateStatus": "VERIFIED"}}, "weight": 15}, {"filter": {"match": {"certificateStatus": "DRAFT"}}, "weight": 10}, {"filter": {"bool": {"must_not": [{"exists": {"field": "certificateStatus"}}]}}, "weight": 8}, {"filter": {"bool": {"must_not": [{"terms": {"__typeName.keyword": ["Process", "DbtProcess"]}}]}}, "weight": 20} ], "query": { "bool": { "filter": [ { "bool": { "minimum_should_match": 1, "must": [ {"bool": {"should": [{"terms": {"certificateStatus": ["VERIFIED"]}}]}}, {"term": {"__state": "ACTIVE"}} ], "must_not": [ {"term": {"isPartial": "true"}}, {"terms": {"__typeName.keyword": ["Procedure", "DbtColumnProcess", "BIProcess", "MatillionComponent", "SnowflakeTag", "DbtTag", "BigqueryTag", "AIApplication", "AIModel"]}}, {"terms": {"__typeName.keyword": ["MCIncident", "AnomaloCheck"]}} ], "should": [ {"terms": {"__typeName.keyword": ["Query", "Collection", "AtlasGlossary", "AtlasGlossaryCategory", "AtlasGlossaryTerm", "Connection", "File"]}}, ] } } ] }, "score_mode": "sum" }, "score_mode": "sum" } }, "post_filter": { "bool": { "filter": [ { "bool": { "must": [{"terms": {"__typeName.keyword": ["Table", "Column"]}}], "must_not": [{"exists": {"field": "termType"}}] } } ] }, "sort": [ {"_score": {"order": "desc"}}, {"popularityScore": {"order": "desc"}}, {"starredCount": {"order": "desc"}}, {"name.keyword": {"order": "asc"}} ], "track_total_hits": true, "size": 10, "include_meta": false }''' response = get_assets_by_dsl(dsl_query)

ParametersTypeDescription
dsl_querystring

Tool: search_assets_tool

Advanced asset search using FluentSearch with flexible conditions.

ParametersTypeDescription
asset_typestringoptional
conditionsstringoptional
connection_qualified_namestringoptional
date_rangestringoptional
directly_taggedstringoptional
domain_guidsstringoptional
guidsstringoptional
include_archivedstringoptional
include_attributesstringoptional
limitstringoptional
min_somesstringoptional
negative_conditionsstringoptional
offsetstringoptional
some_conditionsstringoptional
sort_bystringoptional
sort_orderstringoptional
tagsstringoptional

Tool: traverse_lineage_tool

Traverse asset lineage in specified direction.

By default, essential attributes are included in results. Additional attributes can be specified via include_attributes parameter for richer lineage information.

ParametersTypeDescription
directionstring
guidstring
depthstringoptional
immediate_neighborsstringoptional
include_attributesstringoptional
sizestringoptional

Tool: update_assets_tool

Update one or multiple assets with different values for the same attribute.

ParametersTypeDescription
assetsstring
attribute_namestring
attribute_valuesstring

Use this MCP Server

{
  "mcpServers": {
    "atlan": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "ATLAN_API_KEY",
        "-e",
        "ATLAN_BASE_URL",
        "mcp/atlan"
      ],
      "env": {
        "ATLAN_API_KEY": "<YOUR_ATLAN_API_KEY>",
        "ATLAN_BASE_URL": "https://your-instance.atlan.com"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Manual installation

You can install the MCP server using:

Installation for

Related servers