{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T23:39:21.134Z","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter","markdownUrl":"https://verifymcp.io/servers/com-professorotter-activities/professorotter.md","server":{"slug":"com-professorotter-activities","name":"Professor Otter","registryName":"com.professorotter/activities","description":"Free printable kids activities: word searches, mazes, color by number, sudoku and more.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"professorotter","type":"remote","identifier":"https://professorotter.com/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter","version":"1.0.0","transport":null,"scoredAt":"2026-11-05T06:23:13.568Z"},"score":{"total":89,"tier":"high trust","status":"scored","weekDelta":2,"history":[{"date":"2026-11-05","total":89},{"date":"2026-11-04","total":89},{"date":"2026-11-03","total":89},{"date":"2026-11-02","total":88},{"date":"2026-11-01","total":88},{"date":"2026-10-31","total":87},{"date":"2026-10-30","total":87},{"date":"2026-10-29","total":87},{"date":"2026-10-28","total":86},{"date":"2026-10-27","total":86},{"date":"2026-10-26","total":85},{"date":"2026-10-25","total":85},{"date":"2026-10-24","total":84},{"date":"2026-10-23","total":84},{"date":"2026-10-22","total":83},{"date":"2026-10-21","total":83},{"date":"2026-10-20","total":82},{"date":"2026-10-19","total":82},{"date":"2026-10-18","total":81},{"date":"2026-10-17","total":81},{"date":"2026-10-16","total":80},{"date":"2026-10-15","total":80},{"date":"2026-10-14","total":80},{"date":"2026-10-13","total":79},{"date":"2026-10-12","total":79},{"date":"2026-10-10","total":78},{"date":"2026-10-07","total":76},{"date":"2026-10-04","total":75}]},"categories":[{"name":"Endpoint Security","score":80,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_no_destructive","args":{}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":84,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 1012 tokens (~144/item across 7 items; 6 tools + 1 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"144","items":"7","tools":"6","tokens":"1012","resources":"1"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":100,"verdict":"pass","reasons":["No destabilizing schema changes in the last 30 days."],"codes":[{"code":"stability.stable","args":{}}]},{"name":"Tool Coverage","score":97,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","91% of tool parameters carry a description.","Structured output schemas are declared (100% of tools); any adoption earns full credit."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"91"}},{"code":"toolquality.output_present","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"6"}},{"code":"toolsafety.manipulation_clean","args":{"units":"8","judged":"8"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a current MCP spec version (2026-07-28).","Supports UI / widget rendering."],"codes":[{"code":"protocol.current","args":{"version":"2026-07-28"}},{"code":"cap.ui_supported","args":{}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"professorotter","type":"remote","identifier":"https://professorotter.com/mcp","withdrawn":false,"score":89,"current":true,"url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter","markdownUrl":"https://verifymcp.io/servers/com-professorotter-activities/professorotter.md"}],"facts":[{"label":"Endpoint","value":"https://professorotter.com/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.0.0"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"list_activities","title":"List activities","description":"List the Professor Otter printable activities (word searches, color by number, coloring pages, mazes, dot-to-dot, drawing practice, criss-cross, word scrambles, spot the difference, sudoku, games, secret codes, bingo, nonograms) with how many puzzles each has, its levels and its topics. Start here to see what the site offers.","inputs":[],"outputs":[{"name":"activities","type":"array","required":true,"description":null},{"name":"levels","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":83},{"name":"search_activities","title":"Search activities","description":"Search every printable activity by title, topic or a word in the puzzle, like the site's search box. Each query word must start a word in the puzzle (\"ant\" finds Ants, not Elephant). Narrow by activity or level if you like. Each hit includes the printable PDF and the play URL, plus slugs for get_activity and show_word_search. Puzzle PDFs include an answer key. Game and drawing practice PDFs do not.","inputs":[{"name":"activity","type":"string","required":false,"description":"Only this activity."},{"name":"level","type":"string","required":false,"description":"Only this level."},{"name":"query","type":"string","required":true,"description":"Topic, title or word, for example \"farm\" or \"space\"."}],"outputs":[{"name":"hits","type":"array","required":true,"description":null},{"name":"moreUrl","type":"string","required":true,"description":null},{"name":"query","type":"string","required":true,"description":null},{"name":"total","type":"integer","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":137},{"name":"get_activity","title":"Get an activity","description":"Get one printable puzzle as Markdown (description, level, word list or color key) with its play URL and its PDF URL. A puzzle PDF has an answer key. A game or drawing practice PDF does not. Use an activity and slug from search_activities.","inputs":[{"name":"activity","type":"string","required":true,"description":null},{"name":"slug","type":"string","required":true,"description":"Puzzle slug, for example \"farm-friends\"."}],"outputs":[{"name":"activity","type":"string","required":true,"description":null},{"name":"level","type":"string","required":true,"description":null},{"name":"markdownUrl","type":"string","required":true,"description":null},{"name":"pdfUrl","type":"string","required":true,"description":null},{"name":"playUrl","type":"string","required":true,"description":null},{"name":"slug","type":"string","required":true,"description":null},{"name":"title","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":84},{"name":"show_word_search","title":"Show a word search","description":"Show a word search a child can play in the chat: drag across the letters to find each word, and found words cross off the list. Also returns the grid as text and a link to print the PDF. Pass a seed for a new grid; a slug and seed always give the same grid here, on the site and in the PDF.","inputs":[{"name":"seed","type":"integer","required":false,"description":"Grid layout. Leave out for the site's default grid."},{"name":"slug","type":"string","required":true,"description":"Word search slug, for example \"farm-friends\"."}],"outputs":[{"name":"directions","type":"string","required":true,"description":null},{"name":"grid","type":"array","required":true,"description":null},{"name":"level","type":"string","required":true,"description":null},{"name":"levelName","type":"string","required":true,"description":null},{"name":"pdfUrl","type":"string","required":true,"description":null},{"name":"playUrl","type":"string","required":true,"description":null},{"name":"seed","type":"integer","required":true,"description":null},{"name":"size","type":"integer","required":true,"description":null},{"name":"slug","type":"string","required":true,"description":null},{"name":"title","type":"string","required":true,"description":null},{"name":"words","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":113},{"name":"make_word_search","title":"Make a word search from a spelling list","description":"Turn a list of 4 to 20 words, like a child's spelling list, into a word search they can play in the chat, with a link to print it as a PDF with an answer key. Paste the list as one string or pass the words as an array. A word longer than the level's grid makes the grid grow to fit it. If the list breaks a rule (too few words, a word over 20 letters, a word inside another), the error says what to fix.","inputs":[{"name":"level","type":"string","required":false,"description":"easy: 12×12, words run right, down or diagonally down. challenge: 15×15, every direction. expert: 18×18, every direction. A longer word grows the grid to fit, up to 20×20. Defaults to easy."},{"name":"seed","type":"integer","required":false,"description":"Grid layout. The same words and seed give the same grid. Leave out for a new layout."},{"name":"title","type":"string","required":false,"description":"Title printed on the sheet, up to 80 characters. Defaults to \"Custom Word Search\"."},{"name":"words","type":null,"required":true,"description":"The spelling words, 4 to 20, letters only: an array, or one string with the words separated by commas or new lines."}],"outputs":[{"name":"directions","type":"string","required":true,"description":null},{"name":"grid","type":"array","required":true,"description":null},{"name":"level","type":"string","required":true,"description":null},{"name":"levelName","type":"string","required":true,"description":null},{"name":"pdfUrl","type":"string","required":true,"description":null},{"name":"playUrl","type":"string","required":true,"description":null},{"name":"seed","type":"integer","required":true,"description":null},{"name":"size","type":"integer","required":true,"description":null},{"name":"title","type":"string","required":true,"description":null},{"name":"words","type":"array","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":258},{"name":"list_products","title":"List shop products","description":"List the Professor Otter shop: printable PDF books, topic packs and the Everything Bundle, with prices and availability. Checkout is a browser page on the shop. Send the person there; never collect payment details or try to buy for them.","inputs":[],"outputs":[{"name":"checkout","type":"string","required":true,"description":null},{"name":"products","type":"array","required":true,"description":null},{"name":"shopUrl","type":"string","required":true,"description":null}],"hasOutputSchema":true,"hasExamples":false,"tokenEstimate":56}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T06:23:13.000Z","track":"remote","endpoint":"https://professorotter.com/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=*.professorotter.com","issuer":"CN=YR1,O=Let's Encrypt,C=US","notBefore":"2026-10-04T17:12:57Z","notAfter":"2027-01-02T17:12:56Z","keyType":"RSA","keyBits":2048,"isCa":false},{"subject":"CN=YR1,O=Let's Encrypt,C=US","issuer":"CN=Root YR,O=ISRG,C=US","notBefore":"2025-09-03T00:00:00Z","notAfter":"2028-09-02T23:59:59Z","keyType":"RSA","keyBits":2048,"isCa":true},{"subject":"CN=Root YR,O=ISRG,C=US","issuer":"CN=ISRG Root X1,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"RSA","keyBits":4096,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"professorotter.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"professorotter.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":308},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-04","recent":[{"id":"chg_01a1a011-c3bf-7f17-81e1-d4ad188504bd","kind":"check.verdict","summary":"Stability (0.97 → pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a1a011-c3bf-7f17-81e1-d4ad188504bd"},{"id":"chg_01a1a011-c3c2-75b1-8dcf-38ba830cc1ab","kind":"score.total_changed","summary":"Trust score (88 → 89)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a1a011-c3c2-75b1-8dcf-38ba830cc1ab"},{"id":"chg_01a195c1-6e8b-7a28-8179-c5ea98269789","kind":"score.total_changed","summary":"Trust score (87 → 88)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a195c1-6e8b-7a28-8179-c5ea98269789"},{"id":"chg_01a18650-764a-752b-91ba-62ee81184097","kind":"score.total_changed","summary":"Trust score (86 → 87)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a18650-764a-752b-91ba-62ee81184097"},{"id":"chg_01a17bff-e2dd-73f3-98d9-69b496121b52","kind":"score.total_changed","summary":"Trust score (85 → 86)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-27","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a17bff-e2dd-73f3-98d9-69b496121b52"},{"id":"chg_01a171b3-41a3-76ec-be24-a89a36a886c8","kind":"score.total_changed","summary":"Trust score (84 → 85)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a171b3-41a3-76ec-be24-a89a36a886c8"},{"id":"chg_01a16766-55e7-77cc-b104-00c06502ab78","kind":"score.total_changed","summary":"Trust score (83 → 84)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-23","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a16766-55e7-77cc-b104-00c06502ab78"},{"id":"chg_01a15d18-89da-746f-a608-fe63f5c63447","kind":"score.total_changed","summary":"Trust score (82 → 83)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-21","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a15d18-89da-746f-a608-fe63f5c63447"},{"id":"chg_01a152ca-9cfb-7a7c-b93a-9c1e1db76f23","kind":"score.total_changed","summary":"Trust score (81 → 82)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-19","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a152ca-9cfb-7a7c-b93a-9c1e1db76f23"},{"id":"chg_01a1487d-2d66-7acd-a247-cc986893beca","kind":"score.total_changed","summary":"Trust score (80 → 81)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-17","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a1487d-2d66-7acd-a247-cc986893beca"},{"id":"chg_01a1390b-e1d2-7a36-9da8-c44bc1bfd333","kind":"score.total_changed","summary":"Trust score (79 → 80)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-14","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a1390b-e1d2-7a36-9da8-c44bc1bfd333"},{"id":"chg_01a12e00-7ced-794d-bee2-50d7cce6180e","kind":"score.total_changed","summary":"Trust score (78 → 79)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-12","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a12e00-7ced-794d-bee2-50d7cce6180e"},{"id":"chg_01a1261a-248a-72a7-a918-904cc22ea8ed","kind":"score.total_changed","summary":"Trust score (76 → 78)","materiality":"functional","direction":"improvement","scoreDelta":2,"occurredOn":"2026-10-10","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a1261a-248a-72a7-a918-904cc22ea8ed"},{"id":"chg_01a11408-e9f3-7b86-8f49-9b7b9b1188ca","kind":"check.reverified","summary":"Stability (unverified → 0.10)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-07","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a11408-e9f3-7b86-8f49-9b7b9b1188ca"},{"id":"chg_01a11408-ebe7-7826-8ef9-20ee86649745","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-07","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a11408-ebe7-7826-8ef9-20ee86649745"},{"id":"chg_01a10824-27cc-792e-bc5b-45d2cdb1ace6","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-04","url":"https://verifymcp.io/servers/com-professorotter-activities/professorotter#chg-chg_01a10824-27cc-792e-bc5b-45d2cdb1ace6"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-professorotter-activities/professorotter/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-professorotter-activities/professorotter","markdown":"https://verifymcp.io/servers/com-professorotter-activities/professorotter.md","changelogJson":"https://verifymcp.io/servers/com-professorotter-activities/professorotter/changelog.json","changelogRss":"https://verifymcp.io/servers/com-professorotter-activities/professorotter.xml","external":[{"label":"Remote endpoint","href":"https://professorotter.com/mcp"},{"label":"Website","href":"https://professorotter.com/"}]}}