{"ok":true,"site":{"host":"seejayjames2023.github.io","url":"https://seejayjames2023.github.io/theme-traces-webmcp/","type":"live","desc":"A semantic multi-document reader that connects concepts to source evidence.","tools":[{"name":"get_reader_state","kind":"answer","impl":"imperative","description":"Inspect the semantic reader before acting. Returns source documents, semantic categories, pinned categories, manually selected paragraphs, Focus Mode, reader text size, collected output items, and the focused evidence item.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"highlight_category","kind":"act","impl":"imperative","description":"Visibly pin one semantic category and add all of its evidence highlights in both source documents without clearing other pinned categories. Use this when the user asks to see or compare a concept across the texts.","inputSchema":{"type":"object","properties":{"category":{"type":"string","enum":["isolation","memory","authority","identity","technology","social-pressure"],"description":"Semantic category ID to pin."}},"required":["category"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"find_evidence","kind":"answer","impl":"imperative","description":"Search the pre-semanticized passages by concept, keywords, excerpts, and interpretations. Returns ranked evidence from each source without changing Output; call collect_evidence afterward when the user wants the results collected.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Concept or relationship to look for."},"perSource":{"type":"integer","minimum":1,"maximum":10,"default":3,"description":"Maximum passages to return from each source."}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"collect_evidence","kind":"act","impl":"imperative","description":"Add specific evidence passages to the visible Output panel while preserving source, paragraph, category, and evidence ID provenance.","inputSchema":{"type":"object","properties":{"evidenceIds":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string"},"description":"Evidence IDs returned by find_evidence."}},"required":["evidenceIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"remove_output_items","kind":"act","impl":"imperative","description":"Remove one or more passages from the visible Output panel in one batch. Inspect get_reader_state first and use each output item's outputItemId for patterned requests such as removing every other passage. IDs that are valid but not currently collected are ignored.","inputSchema":{"type":"object","properties":{"outputItemIds":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","enum":["ev-a-iso-1","ev-a-iso-2","ev-a-iso-3","ev-b-iso-1","ev-b-iso-2","ev-b-iso-3","ev-a-mem-1","ev-a-mem-2","ev-b-mem-1","ev-b-mem-2","ev-a-auth-1","ev-a-auth-2","ev-b-auth-1","ev-b-auth-2","ev-a-id-1","ev-a-id-2","ev-b-id-1","ev-b-id-2","ev-a-tech-1","ev-a-tech-2","ev-b-tech-1","ev-b-tech-2","ev-a-social-1","ev-a-social-2","ev-b-social-1","ev-b-social-2","manual:source-a-p1","manual:source-a-p2","manual:source-a-p3","manual:source-a-p4","manual:source-a-p5","manual:source-a-p6","manual:source-a-p7","manual:source-a-p8","manual:source-a-p9","manual:source-a-p10","manual:source-a-p11","manual:source-a-p12","manual:source-a-p13","manual:source-a-p14","manual:source-a-p15","manual:source-a-p16","manual:source-b-p1","manual:source-b-p2","manual:source-b-p3","manual:source-b-p4","manual:source-b-p5","manual:source-b-p6","manual:source-b-p7","manual:source-b-p8","manual:source-b-p9","manual:source-b-p10","manual:source-b-p11","manual:source-b-p12","manual:source-b-p13","manual:source-b-p14","manual:source-b-p15","manual:source-b-p16"]},"description":"Output item IDs from get_reader_state. Semantic passages use evidence IDs; manual passages use IDs beginning with manual:."}},"required":["outputItemIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"focus_evidence","kind":"act","impl":"imperative","description":"Scroll the appropriate source panel to one evidence passage and briefly emphasize it. Use this when the user asks to be taken to a specific or strongest passage.","inputSchema":{"type":"object","properties":{"evidenceId":{"type":"string","description":"A valid evidence ID."}},"required":["evidenceId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"toggle_paragraph_selection","kind":"act","impl":"imperative","description":"Toggle one manual paragraph selection, or set its selection state explicitly. Use selected: true or false for idempotent commands such as selecting every third paragraph.","inputSchema":{"type":"object","properties":{"paragraphId":{"type":"string","enum":["source-a-p1","source-a-p2","source-a-p3","source-a-p4","source-a-p5","source-a-p6","source-a-p7","source-a-p8","source-a-p9","source-a-p10","source-a-p11","source-a-p12","source-a-p13","source-a-p14","source-a-p15","source-a-p16","source-b-p1","source-b-p2","source-b-p3","source-b-p4","source-b-p5","source-b-p6","source-b-p7","source-b-p8","source-b-p9","source-b-p10","source-b-p11","source-b-p12","source-b-p13","source-b-p14","source-b-p15","source-b-p16"],"description":"Paragraph ID such as source-a-p3."},"selected":{"type":"boolean","description":"Desired selection state. Omit to toggle the current state."}},"required":["paragraphId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"set_paragraph_selections","kind":"act","impl":"imperative","description":"Set the manual selection state for multiple paragraphs in one batch. Use this for patterned or multi-paragraph requests so the reader updates only once.","inputSchema":{"type":"object","properties":{"paragraphIds":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","enum":["source-a-p1","source-a-p2","source-a-p3","source-a-p4","source-a-p5","source-a-p6","source-a-p7","source-a-p8","source-a-p9","source-a-p10","source-a-p11","source-a-p12","source-a-p13","source-a-p14","source-a-p15","source-a-p16","source-b-p1","source-b-p2","source-b-p3","source-b-p4","source-b-p5","source-b-p6","source-b-p7","source-b-p8","source-b-p9","source-b-p10","source-b-p11","source-b-p12","source-b-p13","source-b-p14","source-b-p15","source-b-p16"]},"description":"Paragraph IDs to select or unselect together."},"selected":{"type":"boolean","description":"Desired selection state for every supplied paragraph."}},"required":["paragraphIds","selected"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"select_every_paragraphs","kind":"act","impl":"imperative","description":"Replace manual selections in one source or both sources with every Nth paragraph, always starting with paragraph 1. For example, interval 3 selects paragraphs 1, 4, 7, and so on.","inputSchema":{"type":"object","properties":{"sourceId":{"type":"string","enum":["source-a","source-b","both"],"description":"Source to select from, or both to apply the pattern independently to each source."},"interval":{"type":"integer","minimum":1,"maximum":8,"description":"Selection interval. The first selected paragraph is always paragraph 1."}},"required":["sourceId","interval"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"clear_manual_selections","kind":"act","impl":"imperative","description":"Clear only paragraphs manually selected with paragraph-number buttons. Pinned semantic categories and collected Output are preserved.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"set_focus_mode","kind":"act","impl":"imperative","description":"Turn Focus Mode on or off. When enabled, only manually selected paragraphs and evidence from pinned semantic categories remain visible; hover previews do not affect visibility.","inputSchema":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether Focus Mode should be enabled."}},"required":["enabled"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"},{"name":"clear_reader","kind":"act","impl":"imperative","description":"Clear pinned semantic highlights, collected Output, or both. Only the parts explicitly set to true are cleared.","inputSchema":{"type":"object","properties":{"highlights":{"type":"boolean","default":true},"output":{"type":"boolean","default":false}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/theme-traces-webmcp/"}],"category":"Health & Education","apiSurface":"spec","toolCount":12}}