sifflet-mcp
Enables data observability operations with the Sifflet platform. Supports exploring assets, monitors, incidents, generating monitor-as-code YAML from descriptions, and performing impact analysis.
README
Sifflet MCP Server
An MCP (Model Context Protocol) server that enables data observability operations with the Sifflet platform.
Features
This project provides an MCP server enabling interactions with Sifflet API :
- Explore assets: Search for tables, views, dashboards, and other data assets. View their schema, owners, tags, and their metadata.
- Explore monitors: Discover existing monitors and generate their Monitor-as-Code YAML configurations.
- Generate new monitors from a description: turn a plain-English requirement (e.g. "alert when row count drops below 1000 on the 'orders' table") into a Monitor-as-Code YAML snippet for a given list of datasets. Requires
Editorrole on the targeted domain. - Explore incidents: List all data observability incidents detected by the Sifflet platform.
- Perform impact analysis: Start from an incident and trace the downstream assets affected.
Sample Use Cases
Here are a few scenarios where the Sifflet MCP Server can be particularly helpful:
- Understanding Downstream Impact: You're modifying a dbt model and need to identify the owners of dependent downstream models and dashboards. The MCP server can provide these details, allowing you to proactively notify them about your upcoming changes.
- Accessing Up-to-Date Table Metadata: You're about to update a table in your data warehouse. Before you proceed, you can query the MCP server to get its latest metadata. This includes information on how the table is currently monitored in Sifflet, whether it's involved in any ongoing incidents, the list of its frequent users, and other relevant operational details.
- Bootstrapping New Asset Monitoring: You're creating a new table (or dbt model) and want to ensure it's well-monitored from the start. You can ask the MCP server to list the Sifflet monitors already created for similar existing assets. The server can then provide the Monitor-as-Code YAML configurations, which you can adapt and deploy.
- Generating a Monitor from a Description: You want to export the YAML configuration of a Monitor you want to create (e.g. "alert when row count drops below 1000 on the 'orders' table"). The
get_monitor_code_by_descriptiontool returns a Monitor-as-Code YAML snippet for a given list of datasets that you can adapt and commit. Note: requiresEditorrole on the targeted domain (see Prerequisites).
Usage
Prerequisites
uv(Python package installer/environment manager)# uv installation script for Linux/MacOS curl -LsSf https://astral.sh/uv/install.sh | sh- A Sifflet backend running locally or remotely. You will need the following information:
SIFFLET_API_TOKEN: see how to generate one. A token with theViewerrole is enough for most tools. Theget_monitor_code_by_descriptiontool additionally requiresEditorrole on the targeted domain. If you plan to use that tool, generate a token withEditoraccess on that domain.SIFFLET_BACKEND_URL: Full URL to the Sifflet backend for instance:https://<tenant_name>.siffletdata.com/api/
Using with MCP Clients
Cursor
Add the following configuration in the mcp.json. Follow Cursor instructions to set it up.
{
"mcpServers": {
"mcp_server_sifflet": {
"command": "uvx",
"args": ["sifflet-mcp@latest"],
"env": {
"SIFFLET_API_TOKEN": "<access_token>",
"SIFFLET_BACKEND_URL": "https://<tenant_name>.siffletdata.com/api/"
}
}
}
}
Note: You may need to use the full path to the uvx executable in the command field. You can find the full path by running which uvx in your terminal.
Claude Desktop
Follow the instructions in the Claude documentation to set up claude_desktop_config.json.
Then, add the following configuration to your claude_desktop_config.json file:
{
"mcpServers": {
"sifflet-mcp": {
"command": "uvx",
"args": ["sifflet-mcp@latest"],
"env": {
"SIFFLET_API_TOKEN": "<access_token>",
"SIFFLET_BACKEND_URL": "https://<tenant_name>.siffletdata.com/api/"
}
}
}
}
Note: You may need to use the full path to the uvx executable in the command field. You can find the full path by running which uvx in your terminal.
Contributing
For development setup and contribution guidelines, please see CONTRIBUTING.md.
Reporting Problems
If you encounter any problems or have a bug to report, please feel free to open an issue on this GitHub repository. Alternatively, you can reach out to your Sifflet Customer Success team.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.