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
| Category | Use when |
|---|---|
missing_capability | No field, filter, or tool exists for what was asked. |
wrong_result | The call succeeded but the data looked incorrect. |
unclear_schema | describe or context was ambiguous or incomplete. |
tool_error | A tool failed and the failure looks like a bug. |
other | None 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.messageis 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.