Steampipe Model Context Protocol (MCP) Server
@turbot
Enable AI assistants to explore and query your Steampipe data!
Overview
What is Steampipe MCP Server?
The Steampipe MCP Server connects AI assistants like Claude to your cloud infrastructure data via Steampipe, enabling natural language exploration and analysis across AWS, Azure, GCP, and 100+ cloud services. It provides read‑only access to cloud and SaaS data for security, compliance, cost, and resource analysis.
How to use Steampipe MCP Server?
Install Node.js v16 or higher and have Steampipe running locally (steampipe service start) or a Turbot Pipes workspace. Add the server configuration to your AI assistant’s MCP config file (e.g., claude_desktop_config.json for Claude Desktop, ~/.cursor/mcp.json for Cursor). After restarting the assistant, run the best_practices prompt to teach the LLM how to work with Steampipe, then ask natural‑language questions about your infrastructure.
Key features of Steampipe MCP Server
- Query cloud and security logs using SQL (PostgreSQL syntax).
- List, filter, and inspect available Steampipe tables.
- List and show details of installed Steampipe plugins.
- Connect to local Steampipe or Turbot Pipes workspaces.
- Provides a
best_practicesprompt to optimize LLM responses. - Exposes a
statusresource to verify connection state.
Use cases of Steampipe MCP Server
- Explore cloud accounts and resources with natural language (e.g., “What AWS accounts can you see?”).
- Generate infrastructure reports (e.g., “List EC2 instances with attached EBS volumes”).
- Perform security analysis (e.g., “Find IAM users with unrotated access keys”).
- Get compliance insights (e.g., “Show EC2 instances not complying with tagging standards”).
- Analyze risks (e.g., “Check S3 buckets for public access and encryption”).
FAQ from Steampipe MCP Server
What prerequisites are needed?
Node.js v16 or higher is required. For local use, Steampipe must be installed and running (steampipe service start). For cloud use, a Turbot Pipes workspace and connection string are needed.
How do I connect to Turbot Pipes instead of local Steampipe?
Add your Turbot Pipes connection string as an additional argument in the MCP configuration’s args array (e.g., "postgresql://my_name:[email protected]:9193/abc123").
What tools does the server provide?
The server provides five tools: steampipe_query (run SQL), steampipe_table_list (list tables), steampipe_table_show (details of a table), steampipe_plugin_list (list installed plugins), and steampipe_plugin_show (details of a plugin).
Are queries read‑only?
Yes, all queries are read‑only and use PostgreSQL syntax.
Is there a prompt to teach the LLM how to use Steampipe?
Yes, the best_practices prompt provides detailed guidance on SQL style, CTEs, optimization, and error handling. Run it first for best results.