{"ok":true,"site":{"host":"paperspace.pages.dev","url":"https://paperspace.pages.dev/","type":"live","desc":"A local-first spatial desk for reading, comparing, and presenting research papers with WebMCP.","tools":[{"name":"inspect_workspace","kind":"act","impl":"imperative","description":"Call once when a session starts, or again only when briefingRevision changes. Returns progressive indexing readiness, compact sampled page briefs, source cues, unfolded geometry, visuals, sequences, camera state, and the delivery protocol that makes PaperSpace the primary surface for substantive paper-grounded work. Reuse this briefing and batch later paper reads into one broad range instead of repeated small calls. Local filesystem paths are never exposed.","title":"Inspect the PaperSpace desk","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"search_papers","kind":"answer","impl":"imperative","description":"Search every PDF page indexed so far without waiting for the complete paper. Results include matchId, page, quote, text blocks, and a normalized region that focus_region can show precisely.","title":"Search paper text with geometry","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","minLength":1,"description":"Words or an exact phrase to find."},"paperId":{"type":"string","description":"Optional exact paper id."},"limit":{"type":"integer","minimum":1,"maximum":20,"default":8}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"read_paper_pages","kind":"answer","impl":"imperative","description":"Read one contiguous range from a local paper in a single call. Omit page bounds to return every currently indexed page, including the whole paper once indexing is complete. Normalized text-block geometry is opt-in for precise visual navigation.","title":"Read local paper pages","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"paperId":{"type":"string","description":"Exact paper id from inspect_workspace."},"startPage":{"type":"integer","minimum":1,"description":"Optional first page. Defaults to page 1."},"endPage":{"type":"integer","minimum":1,"description":"Optional last page. Defaults to the last currently indexed page, so omitting both bounds reads the whole indexed paper in one call."},"includeBlocks":{"type":"boolean","default":false,"description":"Include normalized geometry for locally extracted text blocks."},"maxCharacters":{"type":"integer","minimum":500,"description":"Optional explicit text cap for this call. Omit it to return all extracted text in the requested range."}},"required":["paperId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"focus_region","kind":"act","impl":"imperative","description":"Fly the shared browser view through spatial context to a recent search match or an explicit normalized region on a live PDF page, ensuring the target stays inside the viewport without drawing a focus box.","title":"Focus a precise paper region","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"matchId":{"type":"string","description":"A recent matchId from search_papers. Use this instead of explicit target fields."},"paperId":{"type":"string","description":"Exact paper id for an explicit region target."},"page":{"type":"integer","minimum":1,"description":"One-based PDF page."},"region":{"type":"object","properties":{"x":{"type":"number","minimum":0,"maximum":1},"y":{"type":"number","minimum":0,"maximum":1},"width":{"type":"number","exclusiveMinimum":0,"maximum":1},"height":{"type":"number","exclusiveMinimum":0,"maximum":1}},"required":["x","y","width","height"],"additionalProperties":false,"description":"Top-left normalized PDF page region. x + width and y + height must not exceed 1."},"padding":{"type":"number","minimum":0,"maximum":0.35,"default":0.06,"description":"Additional normalized page margin around the target."}},"oneOf":[{"required":["matchId"],"not":{"anyOf":[{"required":["paperId"]},{"required":["page"]},{"required":["region"]}]}},{"required":["paperId","page","region"],"not":{"required":["matchId"]}}],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"arrange_papers","kind":"act","impl":"imperative","description":"Reflow every page in each selected paper into reading-order grids, then lay out the unfolded paper groups as a grid, row, or columns. The app rejects layouts that crowd stationary papers or visuals unless force is true.","title":"Arrange papers on the desk","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"layout":{"type":"string","enum":["grid","row","columns"]},"paperIds":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Optional exact paper subset. Omit to arrange every paper."},"force":{"type":"boolean","default":false,"description":"Allow app-detected visual overlap or crowding. This bypasses only spatial presentation safeguards, never data, media, security, or target validation."}},"required":["layout"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"snapshot_paper_region","kind":"act","impl":"imperative","description":"Rasterize an exact source region only when a persistent crop or side-by-side comparison is useful. Prefer focus_region or a paper-region sequence frame for ordinary navigation. The app rejects visual overlap or crowding unless force is true.","title":"Place a paper region snapshot","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"paperId":{"type":"string"},"page":{"type":"integer","minimum":1},"region":{"type":"object","properties":{"x":{"type":"number","minimum":0,"maximum":1},"y":{"type":"number","minimum":0,"maximum":1},"width":{"type":"number","exclusiveMinimum":0,"maximum":1},"height":{"type":"number","exclusiveMinimum":0,"maximum":1}},"required":["x","y","width","height"],"additionalProperties":false,"description":"Top-left normalized PDF page region. x + width and y + height must not exceed 1."},"title":{"type":"string","maxLength":80},"caption":{"type":"string","maxLength":400},"scale":{"type":"number","minimum":0.75,"maximum":3,"default":2},"focus":{"type":"boolean","default":true},"force":{"type":"boolean","default":false,"description":"Allow app-detected visual overlap or crowding. This bypasses only spatial presentation safeguards, never data, media, security, or target validation."}},"required":["paperId","page","region"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"place_plot","kind":"act","impl":"imperative","description":"Create a safe declarative line plot only for semantically ordered numeric x values. Never invent numeric positions to connect categories, symbolic complexity classes, or table rows. Prefer an adequate source figure or table already identified in the compact briefing. The app rejects visual overlap or crowding unless force is true.","title":"Place a derived plot","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":80},"caption":{"type":"string","maxLength":400},"xLabel":{"type":"string","maxLength":60},"yLabel":{"type":"string","maxLength":60},"series":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"points":{"type":"array","minItems":2,"maxItems":2000,"items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false}}},"required":["name","points"],"additionalProperties":false}},"focus":{"type":"boolean","default":true},"force":{"type":"boolean","default":false,"description":"Allow app-detected visual overlap or crowding. This bypasses only spatial presentation safeguards, never data, media, security, or target validation."}},"required":["title","series"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"place_image","kind":"act","impl":"imperative","description":"Place a generated PNG, JPEG, or WebP only when it resolves a comprehension gap not already answered by the source. Essential labels, legend mappings, and annotations must be visible inside the image; the caption is supplementary. The app rejects visual overlap or crowding unless force is true. Arbitrary HTML and SVG are rejected.","title":"Place a validated raster image","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"dataUrl":{"type":"string","minLength":32,"pattern":"^data:image\\/(?:png|jpeg|webp);base64,","description":"Base64 data URL for a PNG, JPEG, or WebP image no larger than 5 MB."},"title":{"type":"string","minLength":1,"maxLength":80},"caption":{"type":"string","maxLength":400},"focus":{"type":"boolean","default":true},"force":{"type":"boolean","default":false,"description":"Allow app-detected visual overlap or crowding. This bypasses only spatial presentation safeguards, never data, media, security, or target validation."}},"required":["dataUrl","title"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"present_sequence","kind":"act","impl":"imperative","description":"Use this as the default delivery for a paper introduction, explanation, review, comparison, or any answer grounded across multiple paper regions whenever PaperSpace is available; do not stop at a chat summary. Atomically present 1 to 20 semantic views. Lead with captioned original paper-region evidence and add derived artifacts only when source regions and captions cannot resolve a stated comprehension gap. Related original PDF pages are temporarily gathered in first-appearance order, while source slots preserve their place in the paper. Sequences are temporary by default and can be kept by the person.","title":"Present a guided reading sequence","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"title":{"type":"string","maxLength":80},"frames":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","properties":{"kind":{"type":"string","enum":["paper-region","artifact"]},"paperId":{"type":"string"},"page":{"type":"integer","minimum":1},"region":{"type":"object","properties":{"x":{"type":"number","minimum":0,"maximum":1},"y":{"type":"number","minimum":0,"maximum":1},"width":{"type":"number","exclusiveMinimum":0,"maximum":1},"height":{"type":"number","exclusiveMinimum":0,"maximum":1}},"required":["x","y","width","height"],"additionalProperties":false,"description":"Top-left normalized PDF page region. x + width and y + height must not exceed 1."},"artifactId":{"type":"string"},"name":{"type":"string","maxLength":80},"caption":{"type":"string","maxLength":400}},"required":["kind"],"oneOf":[{"properties":{"kind":{"const":"paper-region"}},"required":["paperId","page","region"],"not":{"required":["artifactId"]}},{"properties":{"kind":{"const":"artifact"}},"required":["artifactId"],"not":{"anyOf":[{"required":["paperId"]},{"required":["page"]},{"required":["region"]}]}}],"additionalProperties":false}},"startAt":{"type":"integer","minimum":1,"default":1},"save":{"type":"boolean","default":false,"description":"Persist as the saved sequence. Temporary sequences can be kept by the person."}},"required":["frames"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Health & Education","favicon":"/favicons/paperspace.pages.dev.svg","apiSurface":"spec","toolCount":9}}