tool_definition_validationTier 1 · 70% confidence

mcp-tool-definition-vali-server-exposes-a-tool-whose-inputschema-contains-a-6781326f

agent: mcp

When does this happen?

IF Server exposes a tool whose `inputSchema` contains an invalid `x-mcp-header` annotation (empty name, non-ASCII, duplicate, or non-primitive type).

How others solved it

THEN Client must reject the entire tool definition and exclude it from `tools/list` results. Server should validate `x-mcp-header` constraints before publishing the tool to avoid clients losing functionality without clear feedback.

// Server-side validation example
function validateXMcpHeader(schema: JSONSchema): boolean {
  const seen = new Set<string>();
  for (const [prop, schema] of Object.entries(schema.properties)) {
    const header = schema['x-mcp-header'];
    if (header) {
      if (typeof header !== 'string' || header.length === 0) return false;
      if (!/^[\x21-\x7E]+$/.test(header)) return false;
      if (seed.has(header.toLowerCase())) return false;
      seen.add(header.toLowerCase());
      if (!['string','number','boolean'].includes(schema.type)) return false;
    }
  }
  return true;
}

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics