Terminate Processes with Natural Language
kill-process-mcp lets AI assistants list and kill OS processes by name, user, CPU, or memory usage via natural language.
1.0.0Add to Favorites
Why it matters
Effortlessly manage and terminate system processes using natural language commands. Ideal for identifying and stopping resource-hogging applications without complex command-line interactions.
Outcomes
What it gets done
View running processes with detailed filtering by name, user, and resource usage.
Terminate specific processes identified through natural language queries.
Sort processes by CPU or memory consumption to pinpoint performance issues.
Filter processes based on system or user context.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-kill-process-mcp | bash Capabilities
Tools your agent gets
Displays running processes sorted by CPU or memory with optional filtering by name, user, status, and thresholds.
Terminates the selected process.
Overview
kill-process-mcp server
kill-process-mcp lets an AI assistant list and terminate OS processes by CPU, memory, name, or user, cross-platform via process_list and process_kill. Use it when an AI assistant needs to find and kill a misbehaving process conversationally, with the caution due to any process-kill tool.
What it does
kill-process-mcp is a cross-platform MCP server that exposes tools for listing and killing operating system processes to an LLM, so you can find and terminate a process using natural language instead of opening a terminal or task manager.
When to use - and when NOT to
Use it when you want an MCP-compatible AI assistant to find a runaway or unwanted process, the top CPU or memory consumer, everything matching a name, or a specific user's processes, and kill it on your command. It works on macOS, Windows, and Linux, and requires Python 3.13+ with uv. Because it can actually terminate processes, the project's own disclaimer is blunt: it is "armed and dangerous," and killing the wrong process is on you, so treat process_kill requests with the same caution you'd use running kill or Task Manager by hand.
Capabilities
- process_list: lists running processes sorted by CPU or memory, with optional filters for name, user, status, CPU or memory thresholds, whether to include system processes, sort order, and a result limit
- process_kill: terminates the selected process
- Example natural-language requests the server is built to handle: "Check my top 5 CPU parasites and flag any that look like malware," "List the 3 greediest processes by RAM usage," "Exterminate every process with Spotify in its name," "List Alice's Python processes, max 10 entries," and "Which processes are over 2% CPU and 100 MB RAM"
How to install
Preferred, with uvx, no cloning needed, just install uv first:
pip install uv
# or on macOS: brew install uv
Then register it in Claude Desktop's claude_desktop_config.json:
{
"mcpServers": {
"kill-process-mcp": {
"command": "uvx",
"args": ["kill-process-mcp@latest"]
}
}
}
Using uvx, the client automatically fetches and runs the latest published version on every start. Alternatively, clone the repository and run uv sync to install dependencies manually; update later with git pull followed by uv sync --reinstall. Cursor is supported through the same kind of MCP server configuration.
If a manual install hits a build error on a very new Python release, for example pydantic-core or rpds-py failing to compile, the project recommends a clean rebuild by removing the .venv directory and re-running uv sync, or temporarily stepping back to your previous Python minor version until compatible wheels are published.
Who it's for
Anyone who wants their AI assistant to diagnose and kill misbehaving processes by name, resource usage, or owner conversationally, instead of digging through Activity Monitor, Task Manager, or ps and kill by hand. It is released under the GPL-3.0 License.
Source README
kill-process-mcp ๐ซ
Cross-platform MCP (Model Context Protocol) server exposing LLM-accessible tools to list and kill OS processes via natural language queries.
Perfect for shy ninjas who just want rogue processes gone: "Find and nuke the damn CPU glutton choking my system!"
Demo

Tools
The following tools are exposed to MCP clients:
process_list: Lists running processes sorted by CPU or memory with optional name, user, status, CPU/memory thresholds, system-process filtering, sort order and limitprocess_kill: Terminates the selected process (with extreme prejudice!)
Requirements
- MCP-compatible LLM client (like Claude Desktop or Cursor)
- OS: macOS/Windows/Linux
- Python 3.13 or higher
- uv
- Libraries:
mcppsutil
Installation
You can install kill-process-mcp in two ways:
- Preferred: use
uvx- no cloning or setup needed. - Alternative: clone the repo and set up manually.
1. Install uv (required for both methods)
Install uv if missing:
pip install uv
# or on macOS:
brew install uv
In case of the preferred uvx method you can now configure your MCP client (skip the cloning step below).
2. Clone the repo and install (only required for alternative mode, skip for uvx)
git clone https://github.com/misiektoja/kill-process-mcp.git
cd kill-process-mcp
Install dependencies:
uv sync
3. Configure MCP Client
๐ฃ Claude Desktop
Register the kill-process-mcp as an MCP server in Claude Desktop.
Add the following to claude_desktop_config.json file if you want to use uvx method (recommended):
{
"mcpServers": {
"kill-process-mcp": {
"command": "uvx",
"args": ["kill-process-mcp@latest"]
}
}
}
In case of an alternative manual method using a cloned repo:
{
"mcpServers": {
"kill-process-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/kill-process-mcp",
"kill_process_mcp.py"
]
}
}
}
Default claude_desktop_config.json location (if the file is missing - create it):
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Replace /path/to/kill-process-mcp with the actual path of your project folder (remember to escape backslash characters if you're on Windows, e.g.: C:\\path\\to\\kill-process-mcp)
Restart Claude Desktop and it should be able to talk to the kill-process-mcp server.
You can check if the server is loaded by going to Profile โ Settings โ Connectors.
๐ข Cursor
Register the kill-process-mcp as an MCP server in Cursor.
Open Cursor settings and click Tools & MCP โ Add Custom MCP.
Once the mcp.json file opens, add the following if you want to use uvx method (recommended):
{
"mcpServers": {
"kill-process-mcp": {
"command": "uvx",
"args": ["kill-process-mcp@latest"]
}
}
}
In case of an alternative manual method using a cloned repo:
{
"mcpServers": {
"kill-process-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/kill-process-mcp",
"kill_process_mcp.py"
]
}
}
}
Default mcp.json location:
- macOS/Linux:
~/.cursor/mcp.json - Windows:
%USERPROFILE%\.cursor\mcp.json
Replace /path/to/kill-process-mcp with the actual path of your project folder (remember to escape backslash characters if you're on Windows, e.g.: C:\\path\\to\\kill-process-mcp)
You should be able to talk to the kill-process-mcp server now.
You can check if the server is loaded by going to Cursor settings and clicking Tools & MCP.
Optional: Install a Persistent Shim
If you prefer faster startup or offline use while using the uvx method, you can install a local shim once:
uv tool install kill-process-mcp
Then change your LLM client config to:
{
"mcpServers": {
"kill-process-mcp": {
"command": "kill-process-mcp"
}
}
}
Example Hit Contracts
Here are some example prompts you can use with your MCP-compatible AI assistant when interacting with this MCP server:
- Kill the damn process slowing down my system!
- Check my top 5 CPU parasites and flag any that look like malware
- List the 3 greediest processes by RAM usage
- Exterminate every process with Spotify in its name
- List Alice's Python processes, max 10 entries
- Which processes are over 2% CPU and 100 MB RAM
- anything else your imagination brings ...
Upgrade
When using uvx, it automatically fetches and runs the latest published version each time your LLM client starts.
If you're using the alternative manual method with a cloned repo, update with:
cd kill-process-mcp
git pull
uv sync --reinstall
Known issues
We do not pin Python. New minor versions are usually supported on day one via wheels.
If you're using the alternative manual method with a cloned repo and you hit a build error (e.g pydantic-core or rpds-py failing with a Rust toolchain message), it usually means the ecosystem is catching up with the latest Python version. In most cases this is temporary and fixed shortly by
upstream packages.
Try a clean rebuild in such case:
cd kill-process-mcp
rm -rf .venv
uv sync
If that still fails, temporarily use your previous Python minor version until compatible wheels are published (typically within a few days).
Change Log
See RELEASE_NOTES.md for details.
FAQ
Common questions
Discussion
Questions & comments ยท 0
Sign In Sign in to leave a comment.