---
title: "Send feedback to the MCPJam team"
method: POST
path: "/feedback"
tags: ["Feedback"]
---

# Send feedback to the MCPJam team

`POST /feedback`

Tell the MCPJam team about MCPJam itself (a bug, a missing capability, something confusing, or a docs gap) at the moment you hit it. THE TEXT IS SENT TO THE MCPJAM TEAM, outside your organization, and kept for 180 days. It is stored in MCPJam's own database and never published. Summarize: never include secrets, tokens, or raw tool output. When a call failed, include its `requestId` (the failing response's `x-request-id`) so the report can be joined to our logs.

A `201` means the report is stored; notifying the team happens afterwards and cannot fail it. An identical report from you in the last 24 hours is answered with the existing report's id and `duplicate: true` instead of being filed again. Requires a signed-in account: guest tokens get `401`. Rate-limited per user (`429` with `Retry-After`); duplicates and key replays do not count.

## Headers

- `Idempotency-Key` string
- `x-mcpjam-launcher` string

## Request body

- FeedbackRequest
  - `kind` 'bug' | 'missing_capability' | 'confusing' | 'docs' | 'other', required — What sort of problem this is.
  - `summary` string, required — One line: what went wrong or what is missing. Trimmed. Appears in the team's notification.
  - `details` string — What you were trying to accomplish, what you expected, and what blocked you. For a missing capability, name the task and any workaround you tried; there may be no request id. Summarize; never paste secrets, tokens, or raw tool output. Stored only in MCPJam's database, never emailed, and deleted after 180 days.
  - `operation` string — The tool, CLI command or app page in use.
  - `requestId` string — The failing call's `x-request-id`, when there is one.
  - `errorCode` string — The failing call's error code, e.g. `INTERNAL_ERROR`.
  - `projectId` string — A project you can see, when the report is about one; anything else is a `404`. Omit it otherwise: no project is assumed.

## Response `201`

The report is stored. `duplicate: true` means an identical report from you was already recorded.

- FeedbackReceipt
  - `id` string, required — The stored report's id.
  - `receivedAt` number, required — When the report was received, in epoch milliseconds.
  - `duplicate` boolean, required — True when an identical report from you was already recorded in the last 24 hours; `id` is that report.

## Other responses

- `400` — Malformed body or parameters.
- `401` — Missing, invalid, revoked, or orphaned key (`UNAUTHORIZED`) — or the **target MCP server** needs an OAuth grant (`OAUTH_REQUIRED`), which is a property of the server, not your key.
- `404` — Unknown project, server, or resource.
- `409` — The resource is not in a state that accepts this write — a stale `expectedRevision`, a duplicate name, or an environment that cannot currently be launched. The request was well-formed; re-read the resource and retry.
- `429` — Per-key rate limit exceeded (60 requests/minute sustained, bursts up to 10). Honor `Retry-After` and back off with jitter.
- `500` — Something failed on MCPJam's side.

## Changes

- **2026-09-29** `45fa190bce59` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/mcpjam/apis/mcpjam-api/changes/feedback/post.md)

---

[API](https://skmtc.dev/mcpjam/apis/mcpjam-api.md) · [All operations](https://skmtc.dev/mcpjam/apis/mcpjam-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mcpjam/apis/mcpjam-api/revisions/45fa190bce59?raw)
