Skip to content

MCP · Tool

feedback

Report a gap or problem with the MCP server to the team that maintains it.

Maintained by the OnePageCRM engineering team · Last updated Aug 26, 2026

feedback sends a report about the MCP server itself to the team that maintains it. It is the channel for the problems the other tools cannot express: a question that cannot be written as an OQL query, a field or filter that does not exist, results that look wrong, or a schema that describe and context left ambiguous.

It writes nothing to the CRM.

Signature

{
  "type": "object",
  "properties": {
    "message":         { "type": "string", "minLength": 1, "maxLength": 4000, "description": "What went wrong, in enough detail for someone who cannot see the conversation." },
    "category":        { "type": "string", "enum": ["missing_capability", "wrong_result", "unclear_schema", "tool_error", "other"] },
    "tool":            { "type": ["string", "null"], "description": "Which tool this concerns: describe, context, query, create or update." },
    "entity":          { "type": ["string", "null"], "description": "The entity involved: contacts, companies, deals, actions, notes, calls or meetings." },
    "attempted_query": { "type": ["object", "null"], "description": "For query problems, the OQL object that was tried." }
  },
  "required": ["message", "category"]
}

category is a closed enum — the five values below are the only ones the schema accepts.

Categories

CategoryUse when
missing_capabilityNo field, filter, or tool exists for what was asked.
wrong_resultThe call succeeded but the data looked incorrect.
unclear_schemadescribe or context was ambiguous or incomplete.
tool_errorA tool failed and the failure looks like a bug.
otherNone of the above.

Example

A sample report:

{
  "message": "Asked for deals closing next month grouped by owner. There was no way to express a date-function bucket alongside a scalar group_by without reading describe twice.",
  "category": "unclear_schema",
  "tool": "query",
  "entity": "deals",
  "attempted_query": {
    "from": "deals",
    "select": ["owner_id", "count()"],
    "group_by": ["owner_id"],
    "where": { "close_date": "NEXT_MONTH()" }
  }
}

A sample response — the id is illustrative, not a real report:

{
  "feedback_id": "6a7ae8f2080f3803d57f8618",
  "category": "unclear_schema"
}

The feedback_id identifies the stored report. Quote it if you follow up through support.

What happens to a report

Reports are read asynchronously by the team that maintains the server. Nothing comes back through the tool — there is no reply, and no notification to the user. Anything actionable becomes a tracked issue.

Including attempted_query makes a report far more useful: it turns a description of a problem into something reproducible.

Errors

  • Blank or oversized message — rejected against the schema before the tool runs. message is capped at 4000 characters.
  • Unrecognised category — rejected against the schema, which lists the accepted values.

tool and entity are plain strings with no enum behind them, so an imprecise value never costs you the report. Both are optional and both accept null.

Scope

mcp. feedback writes no CRM data, so it needs only the base scope — it is available on read-only tokens.