Skip to content

Conversation

christopher-tin-atlan
Copy link
Collaborator

This PR adds powerful lineage terminal discovery capabilities to the Atlan MCP server, enabling AI agents to identify root source assets and final destination assets in complex data lineage graphs.

While the existing MCP toolkit supports root source and final destination analysis, the LLM interface may not consistently choose the optimal approach. This new tool guides LLMs toward a more efficient and reliable path for lineage discovery.

🆕 What's New
New MCP Tool: get_asset_source_or_destination_tool

  • Find root source assets (those with no upstream dependencies)
  • Find final destination assets (those with no downstream dependencies)
  • Smart asset type filtering to exclude noise from lineage analysis
  • Configurable depth and result size limits for performance control

⚡ Performance Features

  • Configurable Limits: Control depth (default: 1,000,000) and result size (default: 100)
  • Efficient Traversal: Uses immediate neighbor checks for optimal performance
  • Smart Filtering: Reduces noise by excluding specified asset types

🎯 Response Structure

{
  "assets": [
    {
      "guid": "terminal-asset-guid",
      "qualified_name": "db.schema.table",
      "name": "Source Table",
      "type_name": "Table", 
      // ... full asset details
    }
  ],
  "error": null
}

- Implemented a new tool to retrieve root source or final destination assets based on lineage direction.
- Updated server.py to include the new tool and its documentation.
- Modified lineage.py to define the get_asset_source_or_destination function for asset retrieval.
- Updated __init__.py to expose the new tool in the tools module.
- Bumped fastmcp version to 2.11.0 and added new dependencies in uv.lock.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant