Windows-top-processes-by-memory
Retrieves the top processes consuming memory on a Windows system. Specify the number of processes to return.
Instructions
Get the top X processes by memory usage.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- main.py:216-219 (registration)MCP tool registration for 'Windows-top-processes-by-memory' using the @mcp.tool decorator with a description.
@mcp.tool( name="Windows-top-processes-by-memory", description="Get the top X processes by memory usage." ) - main.py:220-236 (handler)Handler function 'get_top_processes_by_memory' that iterates over running processes using psutil, collects PID, name, and memory (RSS in MB), sorts by memory descending, and returns the top N results.
def get_top_processes_by_memory(amount: int = 5) -> list[ProcessInfo]: """Get the top X processes by memory usage. Returns structured results.""" import psutil procs: list[ProcessInfo] = [] for p in psutil.process_iter(['pid', 'name', 'memory_info']): try: mem_info = p.info.get('memory_info') rss = mem_info.rss if mem_info else p.memory_info().rss mem_mb = rss / (1024 ** 2) name = p.info.get('name') or p.name() procs.append(ProcessInfo(pid=p.pid, name=name, memoryMB=mem_mb)) except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): continue procs.sort(key=lambda x: x.memoryMB or 0.0, reverse=True) return procs[:amount] - main.py:19-24 (schema)ProcessInfo Pydantic model used as the return type for the tool, containing pid, name, cpu_percent, and memoryMB fields.
class ProcessInfo(BaseModel): """Model for process information returned by top-processes tools.""" pid: int = Field(description="Process ID") name: str = Field(description="Process name") cpu_percent: float | None = Field(default=None, description="CPU usage percentage sampled over a short interval") memoryMB: float | None = Field(default=None, description="Resident memory usage in MB")