tecton-mcp
Tecton MCP Server
This is a Mission Control Protocol (MCP) server from Anthropic for Tecton that provides a set of tools to interact with Tecton clusters, manage feature stores, and execute Tecton CLI commands.
Features
The server provides the following MCP tools:
CLI Tools
tecton_cli_help: Get structured help information about available Tecton CLI commandstecton_cli_execute: Execute Tecton CLI commands
Feature Store Management
list_workspaces: List all workspaces in the connected Tecton clusterlist_feature_views: List all feature views with their metadatalist_feature_services: List all feature services with their metadatalist_transformations: List all transformations with their metadatalist_data_sources: List all data sources with their metadatalist_entities: List all entities with their metadata
Configuration Tools
get_feature_service_configuration: Get detailed configuration of a feature serviceget_feature_view_configuration: Get detailed configuration of a feature viewget_feature_view_code: Get the Python code definition of a feature view
Setup
Prerequisites
Python >=3.10 or compatible version
Tecton SDK installed and configured
Mission Control Protocol (MCP) installed
Installation
Install required Python packages:
pip install httpx click cloudpickleInstall Tecton SDK:
pip install tectonInstall MCP:
pip install mcpConfiguration
Add the following to your MCP server configuration:
{
"mcpServers": {
"tecton": {
"command": "/path/to/python",
"args": [
"--directory",
"/path/to/tecton",
"run",
"tecton.py"
],
"env": {
"PYENV_VERSION": "3.9.11"
}
}
}
}Replace /path/to/python and /path/to/tecton with your actual paths.
Usage
Starting the Server
First, ensure you have Tecton configured and logged in:
tecton loginThen run the server using:
python tecton.pyThe server will start and listen for MCP commands.
Using the Tools
All tools are available through the MCP interface. Here are some example uses:
List all workspaces:
workspaces = await list_workspaces()Get feature view configuration:
config = await get_feature_view_configuration(name="my_feature_view", workspace="my_workspace")Execute a Tecton CLI command:
result = await tecton_cli_execute(command="workspace list")Error Handling
The server includes comprehensive error handling:
All tools return empty lists or empty strings on failure
Errors are logged using the
_errfunctionGeneral operations are logged using the
_logfunction
Dependencies
Core Python:
typing (built-in)
httpx
click
cloudpickle
Tecton:
tecton
tecton._internals
tecton.cli.cli
tecton_core
tecton_proto
MCP:
mcp.server.fastmcp
Local:
utils (containing _err, _log, and run_command)
Contributing
Feel free to submit issues and enhancement requests!