
Kubeshark MCP Server: Setup for Claude Desktop, Cursor and Other Apps
Lets Claude, Cursor and other assistants query live network traffic between your Kubernetes services through Kubeshark.
Kubeshark watches the traffic between pods in a Kubernetes cluster. This server lets your assistant ask what it saw, for example which calls returned errors or which services talk to the database. Kubeshark ships it inside its own command line tool, and it runs on your computer. You need Kubeshark already running in your cluster, plus either kubectl access or the address of a Kubeshark deployment.
Good for
- SREs and platform engineers debugging failing service calls
- Developers who want to ask about cluster traffic in plain English
- Security teams reviewing which services talk to each other
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install kubeshark MCP
Claude Code
- 1
Copy this prompt.
Add the kubeshark MCP server to Claude Code. Run this command: claude mcp add kubeshark -- kubeshark mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Kubeshark CLI, kubectl access to your cluster.
Read-only mode: Leave out the destructive flag. The deploy and remove tools then stay off.
Install the Kubeshark command line tool first (Homebrew, the install script, Chocolatey, or the GitHub releases page). The first method uses your current kube context. Replace the example address in the second method with your own Kubeshark address. The README documents Claude Desktop; other apps use the same command in their own config format.
Built from the package data we hold. Not yet tested by us.
Tools
Finds API requests seen in your cluster, filtered by status, path or pod
Searches the HTTP, gRPC, Redis, Kafka and DNS calls Kubeshark has captured. You filter with Kubeshark's own query language, for example only responses with status 500.
Try: “Show me all HTTP 500 errors in the last hour.”
Read ·
list_api_callsShows the full details of one captured API call
Returns everything Kubeshark recorded about a single request and its response.
Try: “Open the details of the failed checkout call you just found.”
Read ·
get_api_callSummarises API traffic, such as counts and error rates
Returns aggregated statistics over the captured API calls instead of single requests.
Try: “Which endpoints have the most errors today?”
Read ·
get_api_statsLists the pods, services and namespaces that have network traffic
Shows which workloads Kubeshark has seen talking on the network, so you know what you can ask about.
Try: “Which services in the payments namespace have traffic right now?”
Read ·
list_workloadsLists raw TCP and UDP connections between workloads
Shows network flows at the connection level, with traffic statistics, and lets you filter by source or destination.
Try: “What services are communicating with the database?”
Read ·
list_l4_flowsSummarises which workloads connect to which
Returns a connectivity summary built from the TCP and UDP flows.
Try: “Give me a map of who talks to whom in this cluster.”
Read ·
get_l4_flow_summaryLists the saved network captures (PCAP snapshots)
Shows the packet capture snapshots that already exist on the Kubeshark deployment.
Try: “List the traffic snapshots we have.”
Read ·
list_snapshotsSaves a network capture of recent traffic
Creates a new PCAP snapshot on the Kubeshark deployment so you can investigate an incident after the fact.
Try: “Take a snapshot of the traffic from the last 10 minutes.”
Write ·
create_snapshotChecks whether protocol parsing is running
Reports whether Kubeshark is currently parsing application-level protocols from captured traffic.
Try: “Is Kubeshark parsing HTTP traffic right now?”
Read ·
get_dissection_statusTurns on protocol parsing of captured traffic
Switches on application-level protocol parsing on the Kubeshark deployment.
Try: “Turn on protocol parsing for the latest snapshot.”
Write ·
enable_dissectionTurns off protocol parsing of captured traffic
Switches off application-level protocol parsing on the Kubeshark deployment.
Try: “Turn protocol parsing off to save resources.”
Write ·
disable_dissectionExports a network capture as a PCAP file
Prepares a snapshot for download as a PCAP file. The server's own instructions name this tool and say its result is fetched with the file tools below.
Try: “Export the latest snapshot as a PCAP file.”
Read ·
export_snapshot_pcapChecks whether Kubeshark is running and reachable
Confirms Kubeshark is up. Marked read-only in the source.
Try: “Is Kubeshark running in my cluster?”
Read ·
check_kubeshark_statusTurns an exported file path into a download link
Resolves the relative path of an export into a full download address you can share.
Try: “Give me the download link for that PCAP.”
Read ·
get_file_urlSaves an exported file to your computer
Downloads a file such as a PCAP export to the local disk. The source confines downloads to a base folder.
Try: “Download the PCAP export to my working folder.”
Write ·
download_fileDeploys Kubeshark into your cluster (only with the destructive flag)
Runs the Kubeshark deploy command, which creates pods, services and other resources in the cluster. It is off unless you start the server with the destructive flag, and it does not work in URL mode.
Try: “Deploy Kubeshark to my staging cluster.”
Runs code ·
start_kubesharkRemoves Kubeshark from your cluster (only with the destructive flag)
Runs the Kubeshark clean command, which deletes its pods, services and resources, and the captured traffic data is lost. It is off unless you start the server with the destructive flag.
Try: “Remove Kubeshark from the staging cluster.”
Delete ·
stop_kubeshark
Read from the source code
Permissions
medium risk · 4 things to watch · 2 advisories
Medium risk
By default the assistant can read captured cluster traffic, save snapshots and switch protocol parsing on or off. Leave the destructive flag off, because it lets the assistant deploy or remove Kubeshark in your cluster.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only modeHow to turn it on
Watch out for
Destructive flag lets it deploy and remove Kubeshark
With the destructive flag, one tool deploys Kubeshark to the cluster and another deletes it along with captured data. Keep the flag off unless you need it. github.com
It can read live traffic between your services
Captured API calls can contain request data. Point it only at clusters where your assistant's provider may see that data. github.com
It can change the Kubeshark setup
It can create snapshots and switch protocol parsing on or off. Check the request before approving it on a shared deployment. github.com
It can save files to your computer
The download tool writes exported captures to a local folder. The source confines it to a base folder. github.com
Security advisories
2 known advisories, all fixed in a newer version.
Technical details
| Turning on read-only | Start the server without the destructive flag. The start and stop tools are then disabled. Snapshot and parsing tools can still change settings on the deployment. |
|---|---|
| Talks to | Your Kubeshark deployment, through your kube context or the URL you give it |
| Sign-in and keys | Uses your local kube context or kubeconfig. In URL mode against a protected hub, an optional short-lived token is passed as a flag or environment variable. |
| Data retention | Not documented. |
Questions
Is the Kubeshark MCP server official?
Yes. It ships inside the Kubeshark project's own repository and command line tool, and it is listed in the official MCP Registry.
Do I need a Kubernetes cluster?
Yes, with Kubeshark running in it. The server connects through your kube context, or to a Kubeshark address you give it, so it has nothing to read without a running deployment.
Can I run it without kubectl?
Yes, in URL mode. Give it the address of an existing Kubeshark deployment. If that deployment requires sign-in you must also supply a token, which expires after about an hour and has to be renewed by hand.
Can it delete anything?
Only if you turn on the destructive flag, which enables a tool that removes Kubeshark and its captured data from the cluster. Without the flag it cannot deploy or remove anything.
Is there a read-only mode?
The default is the closest thing. Without the destructive flag the deploy and remove tools are off, but it can still save snapshots and switch protocol parsing on or off.
Which apps does it work with?
The README gives a Claude Desktop config and says it works with Cursor and other MCP clients. Use the install box above for your app.
Is the tool list complete?
No. Most traffic tools come from your Kubeshark deployment, so the list can differ by version. This page lists the ones named in the README and source.
Information
updated Nov 2, 2026
- Publisher
- Official
- Transport
- stdio
- Auth
- None
- Version
- 53.6.0
- License
- Apache-2.0
- Last commit
- Oct 21, 2026
- Open issues
- 138
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- github.com · github.com
- github.com · github.com