Integration

HoneyHive Data Plane integration

HoneyHive is an observability and evaluation platform for LLM applications and agents. With a data plane API key you can manage a project's datasets and datapoints (test cases with inputs, ground truth and history), track experiment runs and read their summaries, metrics and run-to-run comparisons, manage annotation queues for human review, and create, query and manage dashboard charts. Logging traces, searching events and managing evaluators need a classic project key and are in the HoneyHive integration; API key creation, control plane (projects, workspaces, alerts) and the deprecated legacy routes are not exposed. Authentication: a fine-grained data plane API key (starts with hh_fgdp_), created in HoneyHive under Settings > Project, Workspace or Organization > API Keys on the Data Plane tab with the permissions each call needs (for example project.dataset.list), sent as Authorization: Bearer. Experiment run and annotation queue calls need the experiment run or annotation queue permissions on the key; HoneyHive's API reference puts them under the data plane key while its key guide lists only charts, datasets and datapoints, so a run or queue call answering 404 means the key cannot reach them. Every call names the project_id. Calls go to the default US data plane https://api.dp1.us.honeyhive.ai; a key works only on the data plane it was created on.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in HoneyHive Data Plane.Built from the 34 HoneyHive Data Plane tools below, on the connection you add once.

What you can do with HoneyHive Data Plane

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Datapoint, 8 operations

  • add_dataset_datapointsAdd dataset datapointsPOSTAdds new datapoints to a dataset from raw records: mapping says which keys of each record become inputs, ground_truth and history. Returns the new datapoint_ids. Needs project.dataset.post.
  • batch_create_datapointsBatch create datapointsPOSTCreates datapoints from logged events matching filters and a date range, optionally adding them to a dataset. Needs project.datapoint.post and project.event.get (plus project.dataset.post with dataset_id).
  • create_datapointCreate datapointPOSTCreates one datapoint (test case) with inputs, chat history, ground truth and metadata, optionally linked to datasets. Returns its id in result.insertedIds. Needs project.datapoint.post.
  • delete_datapointDelete datapointDELETEPermanently deletes a datapoint and removes it from every dataset that holds it. Answers 404 when the project has no such datapoint. Needs project.datapoint.delete.
  • get_datapointGet datapointGETReturns one datapoint (test case) by id with its inputs, history, ground truth, metadata and linked datasets. Needs project.datapoint.get.
  • list_datapointsList datapointsGETLists the project's datapoints (test cases with inputs, history, ground truth, metadata), optionally only those of one dataset (by name) or a list of ids. Needs project.datapoint.list.
  • remove_dataset_datapointRemove dataset datapointDELETERemoves a datapoint from a dataset; the datapoint itself is kept. Needs project.dataset.delete.
  • update_datapointUpdate datapointPATCHUpdates a datapoint. Only the fields you send change; sending linked_datasets (even empty) replaces its dataset membership and needs project.dataset.post and project.dataset.delete. Needs project.datapoint.put.

Chart, 6 operations

  • create_chartCreate chartPOSTCreates a saved chart on the project's dashboard, plotting one metric with an aggregation, grouping, time bucketing and filters. Needs project.chart.post.
  • delete_chartDelete chartDELETEPermanently deletes a saved chart, removing it from the project's dashboards. Needs project.chart.delete.
  • get_chartGet chartGETReturns one saved chart of the project by id, with its metric, aggregation, grouping, bucketing, date range and filters. Needs project.chart.get.
  • list_chartsList chartsGETLists the saved charts of a project: name, metric, aggregation, grouping, bucketing, date range and filters. Needs project.chart.list.
  • query_chartQuery chartPOSTAggregates the project's events into one chart result without saving a chart. The filters must include an event_type is (or is not) filter; event_type is session queries sessions. Needs project.chart.list.
  • update_chartUpdate chartPATCHUpdates a saved chart. Only the fields you send change. Needs project.chart.put.

Run, 6 operations

  • compare_runsCompare runsGETCompares two experiment runs of the project: per-metric aggregates of each run with the difference and percentage change, the datapoints they share and the event names in each.
  • create_runCreate runPOSTCreates an experiment run that tracks an evaluation, usually against a dataset, and returns its run_id. Update it with update_run when the evaluation finishes.
  • delete_runDelete runDELETEPermanently deletes an experiment run.
  • get_runGet runGETReturns one experiment run with its status, dataset, configuration, metadata, results, metrics and event ids.
  • list_runsList runsGETLists the project's experiment runs, newest first by default, filtered by dataset, status, name, ids or date range. Paged with page (from 1) and limit (default 20, at most 100); pagination.has_next says if more remain.
  • update_runUpdate runPATCHUpdates an experiment run, for example to set status completed and attach its event_ids. Only the fields you send change.

Queue, 5 operations

  • create_queueCreate queuePOSTCreates an annotation queue for human review of events: events matching its filters, plus any event_ids you list, are queued for annotators.
  • delete_queueDelete queueDELETEDeletes an annotation queue (the vendor describes it as a soft delete).
  • get_queueGet queueGETReturns one annotation queue with its name, description, filters and enabled status.
  • list_queuesList queuesGETLists the project's annotation queues (human review queues) with their filters and enabled status.
  • update_queueUpdate queuePATCHUpdates an annotation queue: name, description, filters, enabled, and events added or removed. Only the fields you send change.

Dataset, 4 operations

  • create_datasetCreate datasetPOSTCreates a dataset (a test set), optionally with an initial list of datapoint ids, and returns its id in result.insertedId. Needs project.dataset.post.
  • delete_datasetDelete datasetDELETEPermanently deletes a dataset. Needs project.dataset.delete.
  • list_datasetsList datasetsGETLists the project's datasets (name, description, datapoint ids), optionally one by id or name. Needs project.dataset.list.
  • update_datasetUpdate datasetPATCHUpdates a dataset's name, description or datapoint list. Sending datapoints REPLACES the whole membership with that list. Needs project.dataset.put.

Run schema, 2 operations

  • get_run_schemaGet run schemaGETReturns the fields, datasets and field mappings of one experiment run's events.
  • get_runs_schemaGet runs schemaGETReturns the fields, datasets and field mappings found across all experiment runs of the project, to know which fields can be filtered or charted.

Run event, 1 operation

  • compare_run_eventsCompare run eventsGETPairs the events of two experiment runs by datapoint (event_1 from the new run, event_2 from the old) for side-by-side review. Paged with limit (default 1000) and page (from 1).

Run metric, 1 operation

  • get_run_metricsGet run metricsGETReturns the metric values of each event of an experiment run (event name, type, session, datapoint id, metrics) and totalEvents.

Run summary, 1 operation

  • get_run_summaryGet run summaryGETComputes an experiment run's results: datapoints that passed and failed, metric aggregates and per-datapoint metric values, and the run itself.

Use HoneyHive Data Plane from Claude Code, Cursor or Codex

Connect HoneyHive Data Plane in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its HoneyHive Data Plane operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect HoneyHive Data Plane

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect HoneyHive Data Plane once

    Add your HoneyHive Data Plane connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

HoneyHive Data Plane integration FAQ

What can you do with the HoneyHive Data Plane integration?

LiveContext exposes 34 operations on HoneyHive Data Plane, covering datapoint, chart, run and queue.

Popular integrations

Browse the whole catalog