{"uid":"cap_uJqzr6Y-2XBAMx3F_sFwF","slug":"toolschema-forge-llm-tool-schema-linter-c65e17e0","name":"ToolSchema Forge – LLM Tool Schema Linter","description":"Deterministic LLM tool-schema conversion, linting and MCP manifest generation for OpenAI (incl. strict mode), Anthropic, Gemini and MCP, paid per call in USDC on Base via x402.","url":"https://toolschema-forge.toolschemaforge.workers.dev/v1/tool-schema/lint?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["tool"],"properties":{"tool":{"type":"object","description":"Tool definition in any supported format."},"targets":{"type":"array","items":{"enum":["openai","openai_strict","anthropic","gemini","mcp","jsonschema"],"type":"string"},"minItems":1,"description":"Providers to check. Default: all."}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["detected","compatible","issues"],"properties":{"issues":{"type":"array","items":{"type":"object","required":["provider","path","code","message","severity","fixed"],"properties":{"code":{"type":"string"},"path":{"type":"string"},"fixed":{"type":"boolean"},"message":{"type":"string"},"provider":{"enum":["openai","openai_strict","anthropic","gemini","mcp","jsonschema"],"type":"string"},"severity":{"enum":["error","warning"],"type":"string"}}}},"detected":{"enum":["openai","openai_strict","anthropic","gemini","mcp","jsonschema"],"type":"string"},"compatible":{"type":"object","additionalProperties":{"type":"boolean"}}}}}}}},"responseSchema":{"type":"json","example":{"issues":[{"code":"optional_made_nullable","path":"/properties/unit","fixed":false,"message":"Optional property \"unit\" was made nullable and required","provider":"openai_strict","severity":"warning"},{"code":"additional_properties_forced","path":"/additionalProperties","fixed":false,"message":"additionalProperties must be false for OpenAI Structured Outputs","provider":"openai_strict","severity":"warning"}],"detected":"openai","compatible":{"gemini":true,"anthropic":true,"openai_strict":false}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_SUGE45M5ANEag1ci4AIek","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Lints a tool definition against multiple LLM provider schemas (OpenAI, OpenAI strict, Anthropic, Gemini, MCP) and reports compatibility issues with severity and fix status.","exampleAgentPrompt":"Lint this tool schema for me and check its compatibility with OpenAI strict mode, Anthropic, and Gemini — tell me what issues are blocking it and whether they were auto-fixed: {tool: {name: 'get_weather', description: 'Get weather', parameters: {type: 'object', properties: {unit: {type: 'string'}}}}}","exampleUseCases":[{"title":"Pre-deploy multi-provider schema check","prompt":"Before I ship this tool to production, check it against OpenAI, Anthropic, and Gemini and tell me every issue it has — especially anything that would break OpenAI strict mode."},{"title":"Debug failing OpenAI structured outputs","prompt":"My tool schema keeps getting rejected in OpenAI structured outputs mode. Can you lint it and explain exactly which fields are causing errors and why?"},{"title":"Verify MCP tool manifest compliance","prompt":"I've written a tool definition I want to publish as an MCP server — run it through the linter targeting MCP and jsonschema and tell me if it's compliant or what needs fixing."}],"resultDescription":"Returns a JSON object with: the detected source format of the submitted tool schema, a compatibility boolean map per provider, and an array of issues each containing the provider name, the JSON path to the problem, an error code, a human-readable message, severity (error or warning), and whether the issue was auto-fixed.","failureModes":["Missing required 'tool' field in body returns validation error","Invalid bodyType value causes request rejection","Unsupported provider name in targets array causes schema error","Malformed tool object that cannot be parsed returns error","Network timeout on the Cloudflare Workers edge"],"whenToPreferThis":"Use this endpoint when you need deterministic, per-provider linting of an LLM tool schema before deploying it to one or more AI providers. It is the right choice when you want to catch OpenAI strict mode violations, MCP non-compliance, or cross-provider incompatibilities without running the tool against a live API. Prefer it over manual inspection or generic JSON Schema validators when the target audience is LLM tool calling (OpenAI, Anthropic, Gemini, MCP).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T07:19:29.152Z","isFirstParty":false,"canonicalSlug":"toolschema-forge-llm-tool-schema-linter-c65e17e0"}