{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_nwpyqry8br49","handle":"toolschema-forge","url":"https://wellknown.network/agents/toolschema-forge","links":{"self":"https://wellknown.network/agents/toolschema-forge/record.json","html":"https://wellknown.network/agents/toolschema-forge","markdown":"https://wellknown.network/agents/toolschema-forge/record.md","api":"https://wellknown.network/api/v1/agents/toolschema-forge","status":"https://wellknown.network/api/v1/agents/toolschema-forge/status","claim":"https://wellknown.network/agents/toolschema-forge/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/toolschema-forge/claim.json","badge":"https://wellknown.network/agents/toolschema-forge/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/toolschema-forge/history","tools":"https://wellknown.network/api/v1/agents/toolschema-forge/tools"},"ard":{"identifier":"urn:air:toolschema-forge.toolschemaforge.workers.dev:server:toolschema-forge","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ToolSchema Forge","summary":"Convert, lint and generate LLM tool schemas for OpenAI, Anthropic, Gemini and MCP","description":"Convert, lint and generate LLM tool schemas for OpenAI, Anthropic, Gemini and MCP","publisher":{"name":"dev.workers.toolschemaforge.toolschema-forge","url":null},"homepage":"https://toolschema-forge.toolschemaforge.workers.dev/","repository":null,"version":"1.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://toolschema-forge.toolschemaforge.workers.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-24T19:08:00.826795Z","publishedAt":"2026-10-24T19:08:00.826795Z","registryName":"dev.workers.toolschemaforge.toolschema-forge/toolschema-forge"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.apis","name":"API Access","confidence":1,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.911,"provenance":"derived"}],"categories":["data","documents"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-30T22:27:22.545Z","lastProbedAt":"2026-10-30T22:27:22.545Z","statusComputedAt":"2026-10-30T22:29:24.631Z","reliability30d":{"probes":18,"successRate":1,"p50Ms":51,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":18,"ok":18,"authBoundaryOk":0,"serviceOk":18,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-30T22:27:22.545Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T15:25:10.416Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T08:23:41.681Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":65,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T00:24:11.278Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":27,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T16:26:38.115Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":81,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T09:27:44.942Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":63,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T01:29:54.036Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":25,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T18:31:50.602Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":62,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T11:29:19.627Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":59,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-28T03:27:19.333Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":23,"error":null,"detail":{"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"toolCount":5,"toolsHash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","serverName":"toolschema-forge","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"convert_tool_schema","description":"Convert one LLM tool/function definition between OpenAI, OpenAI strict mode, Anthropic, Gemini, MCP and plain JSON Schema. The input format is auto-detected. Ev"},{"name":"lint_tool_schema","description":"Check one LLM tool definition against each provider's schema rules (OpenAI strict, Anthropic, Gemini, MCP) and report errors and warnings with fixes. Free: 5 ca"},{"name":"openapi_to_tools","description":"Turn an OpenAPI 3.x or Swagger 2.0 spec (JSON object) into LLM tool definitions in the chosen format, one tool per operation. Free: 5 calls/hour per IP with arg"},{"name":"batch_convert_tool_schemas","description":"Convert up to 50 tool definitions at once to the chosen formats, with per-tool issues and ready-to-use bundles. Free: 5 calls/hour per IP with arguments up to 8"},{"name":"mcp_manifest","description":"Generate an MCP server manifest (tools with inputSchema, titles, annotations, HTTP bindings) and a TypeScript stdio server stub from an OpenAPI spec or a list o"}],"package":null,"toolSurface":{"id":"ts_srax78s9s8ud","endpointId":"ep_f3nhr4da5ugg","hash":"3ef0cab5eaa8e7e43b735df6ed8802cb1175ebeacedb991f529980114ab1496e","toolCount":5,"serverName":"toolschema-forge","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-25T17:28:42.460Z","lastSeenAt":"2026-10-30T22:27:22.550Z","observations":18,"toolNames":["convert_tool_schema","lint_tool_schema","openapi_to_tools","batch_convert_tool_schemas","mcp_manifest"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_f3nhr4da5ugg","url":"https://toolschema-forge.toolschemaforge.workers.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-27T13:29:06.125Z","auth":{"observedAt":"2026-10-27T13:29:06.163Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-27T13:29:06.205Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"toolschemaforge.workers.dev","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-20T04:03:12.000Z","validTo":"2027-01-18T04:03:11.000Z","daysToExpiry":79,"sanCount":2,"fingerprint256":"4E:8B:9A:78:7E:B0:B3:57:09:DD:D8:CC:5D:B3:D7:02:7A:BE:0D:9E:3D:DC:99:E6:BC:6A:43:EA:63:98:48:77"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"dev.workers.toolschemaforge.toolschema-forge/toolschema-forge","url":"https://registry.modelcontextprotocol.io/v0/servers/dev.workers.toolschemaforge.toolschema-forge%2Ftoolschema-forge","firstSeenAt":"2026-10-25T16:18:11.943Z","fetchedAt":"2026-10-29T02:22:03.738Z","normalizedAt":"2026-10-29T02:22:03.738Z"}]},"firstSeenAt":"2026-10-25T16:18:11.943Z","updatedAt":"2026-10-30T22:30:21.117Z"}