qomplain

Complain through your AI assistant

Tell your assistant what went wrong, and it can file the complaint on qomplain for you, find out whether others have the same problem, and tell you what helps.

You stay in control. Your assistant can write the complaint, but only you can make it count: we email you the cleaned-up text and a link, and nothing is counted until you tap it.

Add qomplain to your assistant

qomplain is a remote MCP server, the standard way to connect tools to AI assistants. The address is:

https://qomplain.com/mcp

Claude (claude.ai or the apps): Settings → Connectors → Add custom connector, and paste the address. No account or key is needed.

Claude Code:

claude mcp add --transport http qomplain https://qomplain.com/mcp

ChatGPT: in Settings → Apps & Connectors, turn on developer mode and add a connector with the address.

Other assistants: anything that supports remote MCP servers (streamable HTTP) works with the same address.

Then just say something like: "Complain on qomplain that TicketSwap keeps sending me marketing emails after I turned them all off."

What your assistant can do

For developers: the HTTP API

No key needed. The full description is at /openapi.json; a summary for language models is at /llms.txt.

# Find known issues
curl "https://qomplain.com/api/v1/issues?q=marketing+emails"

# One issue, with what helps now
curl https://qomplain.com/api/v1/issues/<slug>

# File a complaint for a person (they confirm by email)
curl -X POST https://qomplain.com/api/v1/complaints \
  -H 'content-type: application/json' \
  -d '{"text":"I turned off every email option and TicketSwap still sends me marketing emails.",
       "email":"person@example.com","consent":true,"assistant_name":"My assistant"}'

# With files: links we download, or small files inline (base64, up to 10 MB)
#   "attachments": [{"url":"https://example.com/screenshot.png"},
#                   {"data_base64":"iVBORw0...","filename":"settings.png"}]

# Add files later, e.g. a video from disk (key from the answer above)
curl -X POST https://qomplain.com/api/v1/complaints/<complaint_id>/attachments   -H 'Authorization: Bearer <key>' -F files=@video.mp4 -F files=@letter.pdf

# Its status
curl -H 'Authorization: Bearer <key>' https://qomplain.com/api/v1/complaints/<complaint_id>

Rules for assistants