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.- Node —
feedbackFromResponseparses the_agentFeedbackenvelope from a response object;submitProductOutcomesubmits the outcome using the scoped capability token. - Python —
feedback_from_responseandsubmit_product_outcomeprovide the same allow-listed path. - Go —
FeedbackFromResponseandSubmitProductOutcomemirror the Node helpers using only the standard library. - Rust —
feedback_from_responseandsubmit_product_outcomeprovide the Tokio-compatible equivalent.
_agentFeedback directly from the response body work equally well.