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

# Honeycomb

> How to forward MCP Manager logs to Honeycomb over OpenTelemetry: the US and EU endpoints, the x-honeycomb-team ingest key, and how dataset routing works via x-honeycomb-dataset or service.name.

Honeycomb accepts OpenTelemetry logs natively over OTLP/HTTP, including JSON encoding, so MCP Manager can send logs directly with no intermediate collector. This is one of the most straightforward backends to connect.

This guide covers the Honeycomb-specific details. For what MCP Manager sends, how forwarding behaves, who can configure it, and general troubleshooting, see [Export to SIEM](/enterprise/export-to-siem).

<Info>
  Configuring log forwarding requires the **Manage OpenTelemetry collector** capability and an Enterprise plan that includes the OpenTelemetry integration. If you do not see the **Logging → Integrations** panel, see [Who can set up log export](/enterprise/export-to-siem#who-can-set-up-log-export).
</Info>

## What you'll need

* A **Honeycomb account** (US or EU instance).
* A Honeycomb **ingest API key** with permission to send events and create datasets.
* Access to MCP Manager with the **Manage OpenTelemetry collector** capability.

## Step 1: Choose your collector URL

Honeycomb's OTLP host depends on your instance, and the logs path is `/v1/logs` on port `443`:

| Instance | Logs collector URL                     |
| -------- | -------------------------------------- |
| US       | `https://api.honeycomb.io/v1/logs`     |
| EU       | `https://api.eu1.honeycomb.io/v1/logs` |

The **US** endpoint is `https://api.honeycomb.io/v1/logs` and the **EU** endpoint is `https://api.eu1.honeycomb.io/v1/logs`. Include the `/v1/logs` path — MCP Manager appends nothing to the URL.

## Step 2: Create an ingest API key

In Honeycomb, go to **Environment settings → API Keys** and create an **ingest key** with permission to send events and create datasets. This key goes in the `x-honeycomb-team` header.

## Step 3: Connect MCP Manager to Honeycomb

Honeycomb authenticates with the **`x-honeycomb-team`** header. Routing to a dataset is controlled by an optional **`x-honeycomb-dataset`** header.

<Steps>
  <Step title="Open the OpenTelemetry collector panel">
    In MCP Manager, go to [Logs → Integrations](https://app.mcpmanager.ai/settings/logging/integrations) and find the **OpenTelemetry collector** panel.
  </Step>

  <Step title="Enter the collector URL">
    In **Logs collector URL**, paste your instance's endpoint, for example `https://api.honeycomb.io/v1/logs` for the US instance. (To also export traces, set **Traces collector URL** to the matching `/v1/traces` endpoint; this guide covers logs.)
  </Step>

  <Step title="Add the request headers">
    Under **Request headers**, add the API key header, and optionally a dataset header:

    * **`x-honeycomb-team`** = your ingest API key (required)
    * **`x-honeycomb-dataset`** = the destination dataset name (optional)
  </Step>

  <Step title="Save the configuration">
    Select **Save**. MCP Manager stores the configuration and encrypts the header values. Saving confirms storage only — it does not confirm delivery.
  </Step>
</Steps>

<Note>
  On Environments-based Honeycomb accounts, if you do **not** set `x-honeycomb-dataset`, logs are routed to a dataset named after the OTLP `service.name` resource attribute (in production, `mcp-manager`), creating that dataset if it does not exist. On Honeycomb Classic, the `x-honeycomb-dataset` header is required. Set the dataset header explicitly if you want MCP Manager's logs in a specific, named dataset.
</Note>

## Step 4: Find your logs in Honeycomb

Trigger an MCP call through a gateway (a `tools/list` call is enough), then open the destination dataset in Honeycomb's **Query Builder**. The dataset is the one named by your `x-honeycomb-dataset` header, or — if you did not set it — the one matching MCP Manager's `service.name` (`mcp-manager`). If nothing appears, check [Alerts](https://app.mcpmanager.ai/settings/alerts) in MCP Manager for an export-failure alert.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Export is failing with 401">
    The `x-honeycomb-team` API key is missing or invalid. Confirm the header name is exactly `x-honeycomb-team` and that the value is an **ingest** key with permission to send events.
  </Accordion>

  <Accordion title="Export is failing with 404">
    The URL path is wrong. MCP Manager appends nothing, so the URL must end in `/v1/logs`. Check the host for your instance: `api.honeycomb.io` for US, `api.eu1.honeycomb.io` for EU.
  </Accordion>

  <Accordion title="Logs arrive but in an unexpected dataset">
    Without an `x-honeycomb-dataset` header, Environments-based accounts route logs to a dataset named after `service.name` (`mcp-manager`) and create it if needed. To control the destination, set `x-honeycomb-dataset` explicitly to your chosen dataset name.
  </Accordion>

  <Accordion title="Test the connection manually">
    From any machine with outbound HTTPS access:

    ```bash terminal theme={null}
    curl -v -X POST "https://api.honeycomb.io/v1/logs" \
      -H "x-honeycomb-team: <your-ingest-key>" \
      -H "Content-Type: application/json" \
      -d '{}'
    ```

    A `2xx` or a `400` rejecting only the empty body means the host and key are valid; `401` means the team key is bad; `404` means the path is wrong.
  </Accordion>
</AccordionGroup>

## Further reading

<CardGroup cols={2}>
  <Card title="Splunk Observability Cloud" icon="triangle-exclamation" href="/enterprise/export-to-siem/splunk-observability-cloud">
    The next per-vendor guide — why it needs a Collector to take OTLP logs.
  </Card>

  <Card title="Export to SIEM" icon="tower-broadcast" href="/enterprise/export-to-siem">
    What MCP Manager sends, how forwarding behaves, and general troubleshooting.
  </Card>

  <Card title="Self-hosted Collector" icon="server" href="/enterprise/export-to-siem/self-hosted-collector">
    Route through your own collector to filter, enrich, or fan out.
  </Card>
</CardGroup>

## External sources

<CardGroup cols={2}>
  <Card title="Send data with OpenTelemetry" icon="arrow-up-right-from-square" href="https://docs.honeycomb.io/send-data/opentelemetry">
    The US and EU endpoints and how Honeycomb handles OTLP signal paths.
  </Card>

  <Card title="Manage API keys" icon="arrow-up-right-from-square" href="https://docs.honeycomb.io/working-with-your-data/settings/api-keys/">
    Create the ingest key used in the `x-honeycomb-team` header.
  </Card>

  <Card title="OTLP specification" icon="arrow-up-right-from-square" href="https://opentelemetry.io/docs/specs/otlp/">
    The protocol spec, including the success and partial-success response contract.
  </Card>

  <Card title="OTLP receiver reference" icon="arrow-up-right-from-square" href="https://github.com/open-telemetry/opentelemetry-collector/blob/main/receiver/otlpreceiver/README.md">
    Default ports and paths, and the protobuf-JSON encoding constraint for OTLP/HTTP JSON.
  </Card>
</CardGroup>
