Skip to main content
Glama
b0ttle-neck

mcp-steampipe

by b0ttle-neck
README.md
# Steampipe MCP

This is a simple steampipe MCP server. This acts as a bridge between your AI model and Steampipe tool.

<a href="https://glama.ai/mcp/servers/@b0ttle-neck/mcp-steampipe">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@b0ttle-neck/mcp-steampipe/badge" alt="mcp-steampipe MCP server" />
</a>

## Pre-requisites
- Python 3.10+ installed.
- uv installed (my fav) and mcp[cli]
- Steampipe installed and working.
- Steampipe plugin configured (e.g., github) with necessary credentials (e.g., token in ~/.steampipe/config/github.spc).
- Any LLM supporting MCP. I am using Claude Here.
- Node.js and npx installed (required for the MCP Inspector and potentially for running some MCP servers).


## Running MCP Interceptor
This is an awesome tool for testing your if your MCP server is working as expected
- Running the Interceptor
```npx -y @modelcontextprotocol/inspector uv --directory . run steampipe_mcp_server.py```
- A browser window should open with the MCP Inspector UI (usually at http://localhost:XXXX).
- Wait for the "Connected" status on the left panel.
- Go to the Tools tab.
- You should see the run_steampipe_query tool listed with its description.
- Click on the tool name.
- In the "Arguments" JSON input field, enter a valid Steampipe query:
```
{
  "query": "select name, fork_count from github_my_repository "
}
```
- execute and view the json results

## Running the tool
Pretty straightforward. Just run the interceptor and make sure the tool is working from the directory. Then add the server configuration to the respective LLM and select the tool from the LLM. 
![Screenshot 2025-04-06 at 11 53 23 PM](https://github.com/user-attachments/assets/f119615e-115f-4ab0-b32d-57dbfbd0cfb1)
![Screenshot 2025-04-06 at 11 55 21 PM](https://github.com/user-attachments/assets/9f268531-2538-4232-857d-37d1d067aefc)

## TroubleShooting

- If the tool is not found in the interceptor then that means @mcp.tool() decorator has some issue.
- Execution error - Look at the "Result" in the Inspector and the server logs (stderr) in your terminal. Did Steampipe run? Was there a SQL error? A timeout? A JSON parsing error? Adjust the Python script accordingly.
```
tail -f ~/Library/Logs/Claude/mcp.log
tail -f ~/Library/Logs/Claude/mcp-server-steampipe.log
```
**Security Risk**
Claude blindly executes your sql query in this POC so there is possibility to generate and execute arbitary SQL Queries via Steampipe using your configured credentials.

TDQS

B3.3/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct by default.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The naming follows a clear verb_noun pattern (run_steampipe_query).

Tool Count2/5

A single tool is too few for most practical purposes, as it severely limits the server's functionality and flexibility. While it might cover the basic query execution, it lacks any supporting operations like listing available tables, checking query status, or managing connections.

Completeness2/5

The server is severely incomplete for interacting with Steampipe. It only provides query execution, missing essential operations such as listing available plugins/tables, describing table schemas, managing connections, or handling query errors and metadata. This will cause significant agent failures in complex workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues