{"version":"2.1.248","anchor":"caller-supplied-names-are-sanitised-before-being-echoed-in-e","canonical_anchor":"caller-supplied-names-are-sanitised-before-being-echoed-in-e","heading":"Caller-supplied names are sanitised before being echoed in error messages","tier":"notice","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/caller-supplied-names-are-sanitised-before-being-echoed-in-e","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Caller-supplied names are sanitised before being echoed in error messages\n\nNames you or a caller supply are sanitised before appearing in error messages.\n\n**What**\n\nNames and actions that you type or that arrive from a caller are now passed through a sanitiser before being placed into the error text sent back, instead of being embedded raw. This covers the inline `\/mcp` command and the rejection messages for event submissions, so a crafted name cannot inject its own content into the message you or a client sees.\n\n**Details**\n\n- `\/mcp` sanitises both the action and the server name you typed when building its unrecognised-action message and its unknown-server message, the latter reading `There's no MCP server named \"`.\n- The action `\/mcp` records in telemetry is sanitised the same way, not just the action shown on screen.\n- Event submissions refused for using a reserved name, with text noting the name `is reserved for a server-authored producer`, and those refused for a name mismatch, both sanitise the caller-supplied name before it reaches the error string.\n- The remaining checks on event submissions are untouched: the cap on envelope size, the accepted authority values, and the provenance check on sender text all behave as before.\n\n**Evidence**\n\n`There's no MCP server named \"`, `is reserved for a server-authored producer`\n\n- Area: MCP\n- Names: `\/mcp`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}