PsUtil MCP Server

PsUtil MCP Server

Provides tools for obtaining system CPU and memory statistics through FastAPI endpoints exposed via MCP.

Category
Visit Server

README

Agent with MCP Example

This project provides a simple example of an Agent and a local MCP server.

The MCP Server provides a collection of tools for obtaining system CPU and memory statistics. It is built on the psutil library. The tools are implemented as FastAPI enpoints and then exposed via MCP using fastapi-mcp.

The Agent is part of a simple Gradio chat application. The agent uses the Pydantic.ai agent framework. The agent is provided the MCP Server's URL and a system prompt indicating that it should answer system resource usage. The Gradio Chat component maintains a conversation history so that you can ask follow-up questions.

Setup

Prerequisites

First make sure you have the following tools installed on your machine:

  1. uv, a package and environment manager for Python
  2. direnv, a tool for managing environment variables in your projects
  3. mcptools (optional), a command line utility for interacting with MCP servers. This program is only needed if you want to test/debug the MCP server without the chat application. It is really helpful for debugging your tools and making sure that the expected metadata is being published by the MCP server. Note that the name of the program is mcpt if you install via Homebrew on Mac and mcptools otherwise.
  4. These examples use OpenAI models for the Agent, so you will need an actve account and key from here. Alternatively, you can use one of the other models supported by Pydantic.ai. In that case, you will have to set the model and key appropriately.

Setup steps

Once you have the prerequisites installed, do the following steps:

  1. Copy envrc.template to .envrc and edit the value of OPENAI_API_KEY to your Open AI token.
  2. Run direnv allow to put the changed environment variables into your environment.
  3. Run uv sync to create/update your virtual environment.
  4. You can start the MCP Server with uv run psutil_mcp.py. By default it will server on port 8000.

Testing

If you have installed mcptools, you can connect to your MCP server and test it as follows:

$ mcptools shell http://localhost:8000/mcp # use the command "mcpt" if you installed via Homebrew
mcp> tools
cpu_times
     Get Cpu Times Return system CPU time as a total across all cpus. Every attribute represents the
...

mcp> call cpu_times
{
  "user": 119528.44,
  "nice": 0.0,
  "system": 67114.2,
  "idle": 2692773.55
}
mcp> exit

Running

To run the full application:

  1. If you have not already stared your MCP Server, you can run it as uv run psutil_mcp.py
  2. In another terminal window, start the chat server with uv run chat.py
  3. Point your browser to http://127.0.0.1:7860

Extras

The psutil_mcp.py and chat.py programs have some command line options to enable debugging, change the model, change the ports, etc. Run them with the --help option to see the available options.

There is a configuration for VSCode to use the MCP server at .vscode/mcp.json

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured