Unlock the power of the enterprise Data Catalog by harnessing tools provided by the Alation MCP server.
The Alation AI Agent SDK enables AI agents to access and leverage metadata from the Alation Data Catalog.
This SDK empowers AI agents to:
The project is organized into multiple components:
alation-ai-agent-sdk
)The core SDK provides the foundation for interacting with the Alation API. It handles authentication, request formatting, and response parsing.
alation-ai-agent-langchain
)This component integrates the SDK with the LangChain framework, enabling the creation of sophisticated AI agents that can reason about your data catalog.
Learn more about the LangChain Integration
alation-ai-agent-mcp
)The MCP integration provides an MCP-compatible server that exposes Alation's context capabilities to any MCP client.
Learn more about the MCP Integration
# Install core SDK
pip install alation-ai-agent-sdk
# Install LangChain integration
pip install alation-ai-agent-langchain
# Install MCP integration
pip install alation-ai-agent-mcp
The library needs to be configured with your Alation instance credentials. Depending on your authentication mode, you can use either UserAccountAuthParams
or ServiceAccountAuthParams
.
from alation_ai_agent_sdk import AlationAPI, UserAccountAuthParams
# Initialize the SDK with User Account Authentication
auth_params = UserAccountAuthParams(
user_id=12345, # Your numeric user ID
refresh_token="your_refresh_token"
)
alation_api = AlationAPI(
base_url="https://your-alation-instance.com",
auth_method="user_account",
auth_params=auth_params
)
from alation_ai_agent_sdk import AlationAPI, ServiceAccountAuthParams
# Initialize the SDK with Service Account Authentication
auth_params = ServiceAccountAuthParams(
client_id="your_client_id",
client_secret="your_client_secret"
)
alation_api = AlationAPI(
base_url="https://your-alation-instance.com",
auth_method="service_account",
auth_params=auth_params
)
A retrieval tool that pulls contextual information from the Alation catalog based on natural language queries.
Functionality
Usage
response = alation_ai_sdk.get_context(
"What certified data set is used to make decisions on providing credit for customers?"
)
Input Parameters
question
(string): The natural language querysignature
(optional dict): The configuration controlling which objects and their fieldsReturns
A retrieval tool that pulls data products from the Alation catalog based on product ID or natural language queries.
Functionality
Usage
response = alation_ai_sdk.get_data_products(
"12345" # Example product ID
)
response = alation_ai_sdk.get_data_products(
"Show me all data products related to sales"
)
Input Parameters
product_id
(string, optional): The ID of the product for direct lookupquery
(string, optional): A natural language query to discover data productsReturns
Retrieve catalog objects without conversational queries:
# Get tables from a specific datasource
bulk_signature = {
"table": {
"fields_required": ["name", "description", "columns"],
"search_filters": {
"fields": {"ds": [123]} # Specific datasource
},
"limit": 100,
"child_objects": {
"columns": {
"fields": ["name", "data_type", "description"]
}
}
}
}
response = sdk.bulk_retrieval(signature=bulk_signature)
The SDK's alation-context
tool supports customizing response content using signatures. This powerful feature allows you to specify which fields to include and how to filter the catalog results. For instance:
# Define a signature for searching only tables that optionally
# include joins and filters if relevant to the user question
signature = {
"table": {
"fields_required": ["name", "title", "description"],
"fields_optional": ["common_joins", "common_filters"]
}
}
# Use the signature with your query
response = sdk.get_context(
"What are our sales tables?",
signature
)
For more information about signatures, refer to Using Signatures.
Direct usage examples for the Alation AI Agent SDK:
Enable agentic experiences with the Alation Data Catalog.
Harness the SDK to build complex agents and workflows.
The number of published agent frameworks and toolkits appears to be increasing every day. If you don't happen to see the framework or toolkit you're using here, it's still possible to adapt alation-ai-agent-sdk
to your needs. It may be as simple as writing a wrapping function where a decorator is applied.
While we want to reach as many developers as possible and make it as convenient as possible, we anticipate a long tail distribution of toolkits and won't be able to write adapters for every case. If you'd like support for a specific toolkit, please create an issue to discuss.