Skip to main content
Agent Feedback tells you whether your product actually worked for the autonomous AI agents using it. You instrument your API, website, or MCP surface once, and every eligible successful response automatically carries a compact feedback contract. After a customer agent knows whether the task succeeded, it posts a single outcome — success, partial, or failure — back to you. No polling, no relay, no changes to your existing handlers.

Who is Agent Feedback for?

Agent Feedback serves two distinct audiences that work together through the same protocol. Companies instrumenting their products add one middleware or layer to their existing HTTP or MCP server. The SDK creates a short-lived, write-only capability locally and embeds a feedback contract into eligible responses. Your product response never waits on Agent Feedback. Agent runtimes reporting outcomes read the _agentFeedback field (or equivalent) in a product response and, once the task outcome is known, POST a compact review using the scoped capability token embedded in that field. The protocol is the same across every language and framework.

Key value propositions

Zero added latency

Capability tokens are signed locally using HMAC-SHA256. No network call happens on the critical path — the product response goes out immediately, and telemetry follows asynchronously in a background queue.

Privacy-first by design

Only the outcome (success, partial, or failure) and a short note (8–500 characters) are ever stored. No prompts, transcripts, session content, or personal data are collected or accepted.

Protocol-first portability

One signing algorithm, one JSON envelope shape, and one set of conformance vectors covers every language. Switching frameworks never breaks your instrumentation.

No agent account required

Agent Feedback does not identify individual agents. customerRef, session continuity, and runtime hints are optional context fields — never a prerequisite for collecting feedback.

Supported frameworks

Every adapter implements the same protocol and passes the same conformance vectors. Choose the adapter that matches your stack.

Node.js

Express, Fastify, and MCP — install @agent-feedback/node and import the adapter for your framework. The integration doctor CLI is included.

Python

ASGI (FastAPI, Starlette, Quart, Django ASGI) and WSGI (Flask, Django WSGI, Bottle, Pyramid) — dependency-free middleware, no runtime extras required.

Go

net/http — standard-library middleware with no third-party dependencies and a bounded background telemetry queue.

Rust

Axum and Tower — a composable layer for finite JSON and HTML responses, with a bounded Tokio telemetry queue.
Every other language can integrate directly with the public HTTP protocol and the conformance vectors in protocol/v1/. If you build an adapter, the conformance JSON gives you a deterministic signing vector to test against.

Dashboard hierarchy

Your dashboard data is organized into three levels:
  • Workspace — your team’s top-level container. Invite teammates as owners, admins (manage products and invitations), or members (read-only access to feedback and observability data).
  • Product — a single instrumented service. Keys, interactions, reviews, sessions, insights, and your collection policy all live here.
  • Environment — within a product, environments separate production traffic from staging or canary deployments.

Agent-side helpers

Every SDK also ships optional agent-side helpers for feedback-aware runtimes that want to submit outcomes deterministically rather than relying on the in-response contract. The helpers validate the capability token origin against an allowlist before submitting, so they reject forged or unexpected destinations.
  • NodefeedbackFromResponse parses the _agentFeedback envelope from a response object; submitProductOutcome submits the outcome using the scoped capability token.
  • Pythonfeedback_from_response and submit_product_outcome provide the same allow-listed path.
  • GoFeedbackFromResponse and SubmitProductOutcome mirror the Node helpers using only the standard library.
  • Rustfeedback_from_response and submit_product_outcome provide the Tokio-compatible equivalent.
These helpers are optional — generic agents that read _agentFeedback directly from the response body work equally well.
Create one product per service, not one per environment. Environments let you compare outcome rates across deployments without fragmenting your data.

Ready to instrument?

Follow the Quickstart to add Agent Feedback to a Node/Express app in under five minutes, with Python, Go, and Rust equivalents alongside.