> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mcpfy.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Viewing Telemetry in MCPfy

> See tool-level usage, health scores, and quality signals for your MCP server in the MCPfy dashboard

## Create a telemetry setup

<Steps>
  <Step title="Open the Telemetry dashboard">
    Navigate to [mcpfy.ai/dashboard/telemetry](https://mcpfy.ai/dashboard/telemetry) and start a new setup.
  </Step>

  <Step title="Tell us how you're running your server">
    Pick the option that matches your situation:

    * **I'm building with mcpfy-sdk**
    * **I wrote my own server and can edit its code**
    * **I'm running someone else's server on my computer**

    <Tip>
      This is the same three-way split as the [Overview](/docs/pulse-sdk/overview#which-install-mode-do-i-need) - the dashboard shows you setup instructions tailored to whichever one you pick.
    </Tip>
  </Step>

  <Step title="Get your API key">
    MCPfy generates an API key for this setup. Copy it - you'll use it as `MCPFY_API_KEY` in the [TypeScript](/docs/pulse-sdk/typescript) or [Python](/docs/pulse-sdk/python) install steps.
  </Step>
</Steps>

## Waiting for the first event

Until your server sends its first event, the setup shows a **"Waiting for the first event"** state with your API key (hidden by default - reveal or copy it from there) and the same setup instructions from step 2. Nothing to do here except finish wiring up the SDK - the first event usually shows up within a few seconds of your server's next request.

<Info>
  Lost the setup instructions? Every telemetry setup has a **Setup Instructions** button that reopens the same picker at any time.
</Info>

## Once data is flowing

The setup page opens into three tabs: **Analytics**, **Requests**, and **Events**.

### Analytics

A single scrollable page, ordered roughly by how often you'd check each section. Use the date-range picker and tool filter at the top to scope it - the tool filter only narrows **Overview** and **Results & Payloads**, the other sections aren't tool-scoped.

#### Overview

Is anything broken right now? A health-score badge, total calls, and error rate, plus health-score and call-volume trend charts.

<Frame>
  <img src="https://mintcdn.com/mcpfyai/ZOR22w1b5K_2GM5R/images/telemetry-overview.png?fit=max&auto=format&n=ZOR22w1b5K_2GM5R&q=85&s=66a64d3fb47ad373dfb2826186e48894" alt="Telemetry Overview section showing server health score, total calls, error rate, and health score and call volume trend charts" width="2904" height="1054" data-path="images/telemetry-overview.png" />
</Frame>

#### Connections & Clients

Who's actually connecting - handshake health, which optional capabilities connecting clients support, and a breakdown of client name/version by session.

<Frame>
  <img src="https://mintcdn.com/mcpfyai/ZOR22w1b5K_2GM5R/images/telemetry-connections-clients.png?fit=max&auto=format&n=ZOR22w1b5K_2GM5R&q=85&s=7f75164647c993ba06cbcc8688f5fa61" alt="Connections & Clients section showing init failure rate, protocol versions seen, client capability adoption, and client distribution by name and version" width="2892" height="1056" data-path="images/telemetry-connections-clients.png" />
</Frame>

#### Results & Payloads

What's coming back - result quality over time.

#### Tools & Catalog Quality

Is this server well-built for an LLM caller? Declared vs. called tools, catalog coverage, which tools have never been called, plus a per-tool table with call count, error rate, cancel rate, P95 latency, and risk flags (e.g. destructive tools) - the same tool catalog graded at two granularities.

<Frame>
  <img src="https://mintcdn.com/mcpfyai/ZOR22w1b5K_2GM5R/images/telemetry-tools-catalog-quality.png?fit=max&auto=format&n=ZOR22w1b5K_2GM5R&q=85&s=cbabca58d6d50fbc673b0e9152e3f845" alt="Tools & Catalog Quality section showing declared vs called tools, catalog coverage, never-called tools, and the per-tool table with error rate, cancel rate, P95 latency, and risk flags" width="2872" height="1316" data-path="images/telemetry-tools-catalog-quality.png" />
</Frame>

#### Server Signals

What the server pushes to clients unprompted, without being asked.

#### Usage Patterns

Call volume by day and hour (UTC), for the selected range.

### Requests

A raw, per-request view of network traffic for the linked server.

### Events

A raw terminal/event log stream for the linked server.

## Managing a setup

From the setup's detail page:

* **Copy or reveal** the API key at any time
* **Archive** a setup you're pausing (and **unarchive** it later)
* **Revoke** a setup permanently - type `confirm` to confirm. Any server still using that key stops sending telemetry immediately, and this can't be undone.

## What's next

<CardGroup cols={2}>
  <Card title="TypeScript" icon="js" href="/docs/pulse-sdk/typescript">
    Install and configure `mcpfy-pulse` for Node.js MCP servers.
  </Card>

  <Card title="Python" icon="python" href="/docs/pulse-sdk/python">
    Install and configure `mcpfy-pulse` for FastMCP or the official `mcp` SDK.
  </Card>
</CardGroup>
