{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_uhe7ssw6pamd","handle":"modelspec","url":"https://wellknown.network/agents/modelspec","links":{"self":"https://wellknown.network/agents/modelspec/record.json","html":"https://wellknown.network/agents/modelspec","markdown":"https://wellknown.network/agents/modelspec/record.md","api":"https://wellknown.network/api/v1/agents/modelspec","status":"https://wellknown.network/api/v1/agents/modelspec/status","claim":"https://wellknown.network/agents/modelspec/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/modelspec/claim.json","badge":"https://wellknown.network/agents/modelspec/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/modelspec/history","tools":"https://wellknown.network/api/v1/agents/modelspec/tools"},"ard":{"identifier":"urn:air:api.modelspec.dev:server:modelspec","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ModelSpec","summary":"Find AI models that fit a job from your requirements, sourced benchmarks and real cost.","description":"Find AI models that fit a job from your requirements, sourced benchmarks and real cost.","publisher":{"name":"turbobeest","url":null},"homepage":"https://modelspec.dev","repository":"https://github.com/turbobeest/modelspec","version":"b8da9336f3c5a0b56d47987251a29006a5b0487b","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.modelspec.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-15T03:12:52.440529Z","publishedAt":"2026-10-15T03:12:52.440529Z","registryName":"io.github.turbobeest/modelspec"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":0.964,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"},{"slug":"infra.devices","name":"Devices & IoT","confidence":0.525,"provenance":"derived"}],"categories":["ai","infra","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-24T04:21:54.549Z","lastProbedAt":"2026-10-24T04:21:54.549Z","statusComputedAt":"2026-10-24T04:24:48.555Z","reliability30d":{"probes":25,"successRate":1,"p50Ms":283,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":25,"ok":25,"authBoundaryOk":0,"serviceOk":25,"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-24T04:21:54.549Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":360,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"d326a69bb46f9d573f28c6988aef95d412d01d9a","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T21:26:03.964Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":281,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"d326a69bb46f9d573f28c6988aef95d412d01d9a","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T15:30:22.679Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":216,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"d326a69bb46f9d573f28c6988aef95d412d01d9a","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T08:29:30.710Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":230,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"581bc17186ec9c0c5a7ec1b7e532fc640c45c470","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T01:29:06.158Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":161,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"7e3d8ba6c95eac6f03e438366686c5299499b6bc","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T18:30:41.352Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":430,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"7e3d8ba6c95eac6f03e438366686c5299499b6bc","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T11:35:08.150Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":225,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"7e3d8ba6c95eac6f03e438366686c5299499b6bc","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T05:32:25.909Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":278,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"ae149af075e1ea1e479cd5ab3a43ebce74f7ca08","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T22:30:15.266Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":257,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"0bbfeed4d2e8eca5983d3364fe1c4b0aff27946c","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T12:27:34.032Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":338,"error":null,"detail":{"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"toolCount":9,"toolsHash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","serverName":"modelspec","capabilities":["tools"],"serverVersion":"9be40994f5e884588aa21d49b2f2647e4a3fec3c","protocolVersion":"2025-06-18"}}],"tools":[{"name":"rank","description":"Legacy v1; use decide. Deprecated fixed-benchmark ranking; scores lag the catalogue and newer models may be unranked. Which models lead a fixed use-case profile"},{"name":"model_info","description":"What does one model's card say? Reads https://modelspec.dev/api/models/<model_id>.json. Split mode returns only its display name. Needs an API key. Not current "},{"name":"list_use_cases","description":"Which legacy profiles and ranking rules exist? Returns https://modelspec.dev/api/rank/profiles.json with evidence floors and the neutrality commitment. Needs an"},{"name":"policy_check","description":"Which models and platforms does my policy allow? Returns pass, fail or undetermined per model/platform for licence, origin and data handling; undetermined is no"},{"name":"decide","description":"Which models fit this job? Call decide early. Returns answer, ranked results, may_qualify, reading and recovery hints, decision_id and snapshot. Never add a gat"},{"name":"compare_models","description":"What facts do 2 to 4 named models have? Returns sourced snapshot facts, offerings and evidence in caller order; unknowns stay null. Needs an API key (Authorizat"},{"name":"hardware_fit","description":"Does this workload fit? Returns measured for an exact cited run, estimated with sources, or undetermined. Uses basis full with sourced headroom, or basis lower_"},{"name":"vocab","description":"What can a Spec say? Returns ids and task types. Needs an API key. One vocabulary lookup per unknown facet, then decide. Use decide to compare models. Starter i"},{"name":"feedback","description":"Was an answer reliable? Returns recorded/not_recorded for a rating after acting; include decision_id. Free, no key, and no Authorization header is forwarded. No"}],"package":null,"toolSurface":{"id":"ts_zd6yz7k7y285","endpointId":"ep_58bbjksxfqt7","hash":"a1c4db1be125ebbe64ec0866686c5ed530351467ed02f605da3f212da1308234","toolCount":9,"serverName":"modelspec","serverVersion":"b4a7074f37a3ba940bd86db9d1e2459a25fd40af","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-18T04:29:48.700Z","lastSeenAt":"2026-10-24T04:21:54.552Z","observations":22,"toolNames":["rank","model_info","list_use_cases","policy_check","decide","compare_models","hardware_fit","vocab","feedback"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_58bbjksxfqt7","url":"https://api.modelspec.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-22T18:30:41.380Z","auth":{"observedAt":"2026-10-22T18:30:41.449Z","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-22T18:30:41.464Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"modelspec.dev","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-07T18:06:38.000Z","validTo":"2026-12-06T19:04:07.000Z","daysToExpiry":43,"sanCount":2,"fingerprint256":"D5:D6:2B:FB:92:C1:33:86:E0:EB:41:CE:A0:B4:E1:BB:8A:BE:26:EC:B5:C2:B3:54:D8:FB:F9:8B:F0:C7:7F:3F"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.turbobeest/modelspec","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.turbobeest%2Fmodelspec","firstSeenAt":"2026-10-17T10:18:21.166Z","fetchedAt":"2026-10-20T17:22:05.982Z","normalizedAt":"2026-10-20T17:22:05.982Z"}]},"firstSeenAt":"2026-10-17T10:18:21.166Z","updatedAt":"2026-10-24T04:26:38.592Z"}