Uniprof logo

Uniprof

Profiles Python, Node.js, Ruby, JVM, .NET, BEAM, PHP, and native applications, then analyzes hotspots and supports flamegraph visualization.

Install Uniprof

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "uniprof": {
      "command": "npx",
      "args": [
        "-y",
        "uniprof"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

The install command installed and started the server, which then stopped for configuration (such as an API key) that our sandbox does not have — expected for servers that connect to your account.

npx -y uniprof

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 7d ago.

Overview

The uniprof MCP server gives AI agents access to CPU profiling workflows for supported applications and runtimes. It detects the target command, selects an appropriate profiler, normalizes the resulting data, and analyzes it for hotspots. Profiling normally runs in Docker containers, with a host mode available when local profilers are installed. Reach for it when an agent needs to investigate runtime performance without changing application code or adding dependencies.

Use cases

  • Profile a Python script and identify CPU hotspots
  • Compare runtime profiles across supported languages
  • Save a profile for later analysis and visualization
  • Generate a flamegraph for an application
  • Investigate native Linux or macOS application performance

Key features

  • Automatic profiler selection by runtime and platform
  • Container and host profiling modes
  • Normalized profile output
  • Statistical hotspot analysis
  • Saved profile analysis
  • Browser-based flamegraph visualization

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

6/6 checks healthy over the last 40d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 13d ago via OSV.dev · uniprof (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars409Stargazers on the source repository.
npm downloads145Package downloads in the last 30 days.
Last commit8mo agoMost recent push to the default branch.
Install checkRunsOur sandbox started it; it then asked for an API key or config.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Uniprof works

What uniprof MCP server does

The uniprof MCP server provides an MCP entry point for CPU profiling workflows. It is designed for applications that can be launched through supported runtimes or executable commands, including Python, Node.js, Ruby, PHP, Java and other JVM applications, .NET, BEAM, and native programs on macOS or Linux.

The underlying workflow profiles a command, converts profiler-specific output into a common representation, and performs statistical analysis to identify hotspots. The command-line interface also supports saving profile data, analyzing a saved profile later, and opening a flamegraph visualization in a browser.

How it works

When a profiling command is run, uniprof identifies the runtime or platform and chooses a matching profiler. Examples include py-spy for Python, 0x for Node.js, rbspy for Ruby, Excimer for PHP, async-profiler for the JVM, dotnet-trace for .NET, and perf for Linux native workloads and BEAM. Native macOS Mach-O programs use Apple Instruments.

The default auto mode prefers containers when Docker is available. Runtime-specific container images include the relevant profiling tools and receive the workspace so they can launch the target program. --mode host forces profilers installed on the local machine, while --mode container forces Docker where supported. Apple Instruments cannot run in a container, so native Mach-O profiling on macOS requires host execution.

Setup and configuration

Install the package globally with npm:

Terminal
npm install -g uniprof

The MCP process can be started through the stdio command npx -y uniprof mcp run. The package also provides automatic MCP configuration commands for several clients, including Claude Code, Cursor, and VS Code. Docker is used by default for many runtime profiles, so a working Docker installation is relevant when container mode is selected or chosen automatically.

The documented operating systems are macOS and Linux. Windows hosts are not supported directly, although Linux under WSL2 can be used for higher-level runtimes such as Python and Node.js. WSL2 cannot profile native Windows executables. The host system may also need profiler-specific permissions when host mode is used.

Tools and capabilities

The uniprof MCP server is suitable for workflows that need to:

  • Launch a supported application under a CPU profiler.
  • Detect the profiler from the command and runtime.
  • Produce normalized profile data across different profiler formats.
  • Find likely CPU hotspots through statistical analysis.
  • Save profiles for later analysis or visualization.
  • Generate a browser-viewable flamegraph from profile data.

Native applications produce more useful symbol names when built with debug information. Frame pointers can also improve call-stack accuracy, especially for optimized binaries. These build settings affect the quality of the profiling results rather than the MCP connection itself.

Limitations and notes

Support depends on the platform, runtime version, and profiler. The documented minimums include Python 3.7, Node.js 14, Ruby 2.5, PHP 7.2, Java 8, .NET 5, OTP 24, Xcode 14.3 for native macOS profiling, and Linux 2.6.31 for native Linux profiling.

Container execution is unavailable for native Mach-O binaries on macOS. Linux host profiling may require elevated privileges or additional perf configuration. The project has primarily been developed and tested on macOS, with Linux supported but subject to platform-specific issues.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Uniprof

uniprof is an MCP server that connects AI agents to CPU profiling workflows for Python, Node.js, Ruby, PHP, JVM, .NET, BEAM, and native applications. Its main capabilities are launching profiles, normalizing profiler output, analyzing hotspots, saving results, and supporting flamegraph visualization through the uniprof toolchain.

Install uniprof globally with npm using `npm install -g uniprof`, then configure an MCP client to run `npx -y uniprof mcp run` over stdio. Automatic installation commands are documented for several clients, including Claude Code, Cursor, and VS Code.

Yes, uniprof provides an automatic installation command for Cursor: `uniprof mcp install cursor`. Clients without automatic setup can add the stdio server command `npx -y uniprof mcp run` manually.

Yes, container profiling is the default when Docker is available and is supported for the documented language runtimes and Linux workloads. Native macOS Mach-O binaries are the exception because Apple Instruments cannot run inside a container.

uniprof supports macOS and Linux. Windows hosts are not supported directly, but WSL2 can run Linux-based profiling for higher-level runtimes such as Python and Node.js; native Windows executables cannot be profiled through WSL2.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewUniprof AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/uniprof?style=directory)](https://allmcps.com/mcp/uniprof)
HTML Embed
<a href="https://allmcps.com/mcp/uniprof"><img src="https://allmcps.com/api/badge/uniprof?style=directory" alt="Uniprof on AllMCPs" /></a>