{"name":"ZeroMark","description":"Reads the posts a person saved on X and the decisions they made in ZeroMark. It can search and read. It does not mark a save done, let one go, delete anything, or take payment.","version":"1.0.0","documentationUrl":"https://www.zeromark.io/docs/connector","provider":{"organization":"ZeroMark","url":"https://www.zeromark.io"},"supportedInterfaces":[{"url":"https://www.zeromark.io/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false},"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"securitySchemes":{"oauth2":{"type":"oauth2","description":"Authorization code with PKCE S256, scope read. A connector key the person created is the same Bearer header.","flows":{"authorizationCode":{"authorizationUrl":"https://www.zeromark.io/oauth/mcp/authorize","tokenUrl":"https://www.zeromark.io/oauth/mcp/token","refreshUrl":"https://www.zeromark.io/oauth/mcp/token","scopes":{"read":"Read the library. Does not decide or delete a save."}}}}},"securityRequirements":[{"schemes":{"oauth2":{"list":["read"]}}}],"skills":[{"id":"search_saves","name":"Search my saves","description":"Search the reader's saved X posts in ZeroMark by keyword and meaning, or list what they saved between two dates. Each result has an id, its x.com link, author, stage and a short summary; pass the id to get_save for the full post. Pass nextCursor back as cursor for more.","tags":["read"],"examples":["Call search_saves"]},{"id":"get_save","name":"Read one save","description":"One saved post in full: text, the post it quotes, author, x.com link, field and intent tags, stage, the reader's takeaway and the Living Memory notes it feeds. Takes a save id, an x.com post link, or a post id.","tags":["read"],"examples":["Call get_save"]},{"id":"list_by_stage","name":"List saves by stage","description":"Saves in one stage. fresh: open, saved in the last 14 days. still_useful: marked Done (newest first), pinned, or judged still current. fading: open and older, or past its moment. let_go: let go. snoozed: hidden until later. Pass nextCursor back as cursor for more.","tags":["read"],"examples":["Call list_by_stage"]},{"id":"library_overview","name":"Library at a glance","description":"How many saves the reader has in each stage, their biggest fields, and how many Living Memory notes. A good first call.","tags":["read"],"examples":["Call library_overview"]},{"id":"get_memory","name":"Read my Living Memory","description":"The reader's Living Memory as Markdown: every note built from saves they marked Done, with their own thoughts, the claims each note holds, and the x.com sources. Long memories come in parts; the first line says the from value for the next part.","tags":["read"],"examples":["Call get_memory"]},{"id":"search","name":"Search saves (deep research)","description":"Search the reader's saved X posts in ZeroMark. Returns ids, titles and x.com links; open one with fetch. The same search as search_saves, in the shape deep research tools expect.","tags":["read"],"examples":["Call search"]},{"id":"fetch","name":"Fetch one save (deep research)","description":"The full text of one saved post by its id from search, with its summary, the reader's takeaway, its Living Memory notes and its x.com link.","tags":["read"],"examples":["Call fetch"]},{"id":"get_taste","name":"Read my taste","description":"The reader's taste in X: what they decided in ZeroMark, one save at a time, and nothing a model inferred. How many saves they kept (Done) and let go, per field and per voice; the latest of each; the claims their Living Memory notes held and later dropped, with dates; and their own note on how to talk to them. The unread pile is not their taste. Use it before recommending or summarizing what they care about. If tasteReady is false there is no taste yet: say so instead of guessing.","tags":["read"],"examples":["Call get_taste"]},{"id":"get_map","name":"Read my Map","description":"The reader's Map: each field with how many saves it holds and the share of their decisions there they kept rather than let go (their taste, decided by them), the shared concepts (pairs of saves in different fields that use the same rare words), and the pins they kept between Living Memory notes. Each save comes with its x.com link.","tags":["read"],"examples":["Call get_map"]},{"id":"get_podcast","name":"Read my latest podcast","description":"The reader's newest saves podcast: what it covered (a week or a month), its outline, the transcript of every finished part, and the link to listen in ZeroMark. Text only; the audio stays in the app.","tags":["read"],"examples":["Call get_podcast"]},{"id":"get_brainstorm","name":"Read my latest brainstorm","description":"The ideas ZeroMark's Brainstorm found in the reader's own saves: each idea with who it is for, why it is theirs, the strongest case and the strongest reason it fails, a first weekend, the saves that sparked it with their x.com links, and whether the reader kept it. Read-only; the reader starts a brainstorm and decides its ideas in ZeroMark.","tags":["read"],"examples":["Call get_brainstorm"]},{"id":"weekly_question","name":"The one save worth acting on this week","description":"Suggests the one open save worth acting on this week, with the reasons and the x.com links, using the same reading ZeroMark's Chat uses. A suggestion: the reader decides, in ZeroMark. Counts as one Chat question on the free plan.","tags":["read"],"examples":["Call weekly_question"]}]}