MCP server/monitoring

mcp-infra MCP Server

Infrastructure introspection for AI assistants to query listening ports.

★ 1chalshik/mcp-infra ↗by chalshikupdated
Manual setup required. The maintainer's config contains paths only you know - edit the placeholders below before adding it to Claude Code.
1

Prepare the server locally

Run this once before adding it to Claude Code.

git clone https://github.com/chalshik/mcp-infra
cd mcp-infra
uv sync
2

Register it in Claude Code

claude mcp add mcp-infra -- uv run /path/to/mcp-infra/server.py

Replace any placeholder paths in the command with the real path on your machine.

3

Make your agent remember this setup

mcp-infra's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.

npx conare@latest

Free · one command · indexes the sessions already on disk. Set up in the browser instead →

What it does

  • Queries active TCP sockets in LISTEN state
  • Maps port numbers to process names and PIDs
  • Uses Linux ss command for infrastructure introspection
  • Provides raw fallback data for parsing failures

Tools 1

get_processes_by_portsReturns the process name and PID for each listening socket given a list of port numbers.

Try it

What processes are currently listening on port 8000?
Check if my dev server is running on port 3000.
Identify the PID of the service using port 5432.
List the process names for ports 80, 443, and 22.
Original README from chalshik/mcp-infra

mcp-infra

An MCP (Model Context Protocol) server for infrastructure introspection — lets AI assistants query which processes are listening on specific ports on your machine.

What it does

Exposes a single tool to MCP clients (like Claude Desktop or Claude Code):

get_processes_by_ports — given a list of port numbers, returns the process name and PID for each listening socket.

// Example response for ports [8000, 3000]
{
  "8000": [{ "name": "python", "pid": "12345" }],
  "3000": [{ "name": "node", "pid": "67890" }]
}

This is useful when you want your AI assistant to understand what's running on your machine — e.g. "what's listening on port 5432?" or "check if my dev server is up."

Requirements

  • Python 3.11+
  • Linux (uses ss from iproute2)
  • uv (recommended) or pip

Installation

git clone https://github.com/your-username/mcp-infra
cd mcp-infra
uv sync

Or with pip:

pip install -e .

Usage

Run directly

uv run server.py
# or
python server.py

Add to Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "infra": {
      "command": "uv",
      "args": ["run", "/path/to/mcp-infra/server.py"]
    }
  }
}

Add to Claude Code

claude mcp add infra -- uv run /path/to/mcp-infra/server.py

Tool reference

`get_processes_by_ports(ports: list[int]) -> str`

Returns a JSON string mapping each port to a list of processes.

Field Type Description
ports list[int] Port numbers to query

Response shape per port:

  • name — process name
  • pid — process ID as string
  • raw — unparsed line (fallback if parsing fails)
  • error — error message if ss failed for that port

How it works

Uses the ss command (ss -tlnp sport = :) to list TCP sockets in LISTEN state, then parses the users:((...)) field to extract process names and PIDs.

Contributing

Pull requests are welcome. Keep it focused — this is intentionally a small, single-purpose server.

License

MIT

Frequently Asked Questions

What are the key features of mcp-infra?

Queries active TCP sockets in LISTEN state. Maps port numbers to process names and PIDs. Uses Linux ss command for infrastructure introspection. Provides raw fallback data for parsing failures.

What can I use mcp-infra for?

Debugging local development environments by identifying port conflicts. Verifying that specific services have started correctly. Monitoring machine infrastructure through natural language queries. Quickly identifying which application is occupying a required network port.

How do I install mcp-infra?

Install mcp-infra by running: git clone https://github.com/chalshik/mcp-infra && cd mcp-infra && uv sync

What MCP clients work with mcp-infra?

mcp-infra works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Conare · memory for coding agents

Turn this server into reusable context

Keep mcp-infra docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Set up free$npx conare@latest