Skip to main content

Prerequisites

  • Python with the asyncio backend under anyio - the default for anyio.run() and for both FastMCP flavors’ own runners. trio is not currently supported.
  • An MCPFY API key - see Get your API key if you don’t have one yet
There are three ways to use mcpfy-pulse. None of them edit your files for you - pick the one that matches your situation.
Works for both mcp.server.fastmcp.FastMCP (bundled in the official mcp package) and the standalone fastmcp package - same call either way, since both expose the same underlying server object.
1

Install the package

2

Set your API key

In your .env file:
3

Instrument your app

Right before you call .run():
instrument_fastmcp monkey-patches the one call every FastMCP transport funnels through internally (self._mcp_server.run(...)), so it doesn’t matter which transport you pick. If api_key is unset, it’s a complete no-op - mcp is returned untouched, so it’s safe to leave this in place across environments.

Advanced options

TelemetryOptions fields all fall back to an environment variable if omitted:

What’s next

Once your server sends its first event, head to the dashboard to see it.

View telemetry in the dashboard

See tool-level usage, health scores, and quality signals once data starts flowing.