{"apiVersion":"v1","directorySlug":"stashiro-mcp-9b19edb4bc","title":"Stashiro","description":"Stashiro is a visual workspace for collecting references, building project boards and reusing saved content with its desktop clipboard manager and ChatGPT app.","pageUrl":"https://www.mcpbundles.com/skills/stashiro-mcp-9b19edb4bc","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://www.stashiro.com/api/mcp","hostedMcpUrl":null,"toolCount":39,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.stashiro/stashiro-mcp-9b19edb4bc","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"browse_all_stashiro_spaces_and_boards","description":"Render one page of the Stashiro workspace only when the user explicitly asks to browse Spaces and boards. Internal access checks are combined so empty intermediate pages are never exposed. Continue with the returned cursors until spacesIsDone and boardsIsDone are both true. Never use this tool to find or validate a destination for create, update, move, or delete operations.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","default":50,"maximum":100,"minimum":1},"boardCursor":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}]},"spaceCursor":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}]}}},"title":"Browse All Stashiro Spaces and Boards","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"browse_all_stashiro_spaces_and_boards","displayName":"Browse All Stashiro Spaces and Boards"},{"name":"browse_one_stashiro_space","description":"Render boards from exactly one Space only when the user explicitly asks to browse that Stashiro Space. Never use this tool to find or validate a destination for create, update, move, or delete operations.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["space"],"properties":{"limit":{"type":"integer","default":50,"maximum":100,"minimum":1},"space":{"type":"string","minLength":1},"cursor":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}]},"includeTrashed":{"type":"boolean","default":false}}},"title":"Browse One Stashiro Space","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"browse_one_stashiro_space","displayName":"Browse One Stashiro Space"},{"name":"get_space","description":"Use this when an exact Stashiro Space ID is already known and its current metadata is needed. Use search when only a name or phrase is known.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["spaceId"],"properties":{"spaceId":{"type":"string","minLength":1}}},"title":"Get Stashiro Space","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_space","displayName":"Get Stashiro Space"},{"name":"get_board","description":"Use this when an exact Stashiro board ID is already known and its metadata is needed. Returns active or trashed boards; use search when only a name or phrase is known.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId"],"properties":{"boardId":{"type":"string","minLength":1}}},"title":"Get Stashiro Board","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_board","displayName":"Get Stashiro Board"},{"name":"list_cards","description":"Use this when the user asks to inspect or enumerate cards on one known Stashiro board without rendering their full content. Returns a lightweight page; follow cursor until isDone, and use get_card or show_selected_stashiro_cards for full content or media.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId"],"properties":{"limit":{"type":"integer","default":50,"maximum":100,"minimum":1},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"boardId":{"type":"string","minLength":1}}},"title":"List Stashiro Cards","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_cards","displayName":"List Stashiro Cards"},{"name":"get_card","description":"Use this when exact Stashiro board and card IDs are already known and one card's full current data is needed. Use search when the card is known only by content or title.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","cardId"],"properties":{"cardId":{"type":"string","minLength":1},"boardId":{"type":"string","minLength":1}}},"title":"Get Stashiro Card","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_card","displayName":"Get Stashiro Card"},{"name":"show_stashiro_board","description":"Use this presentation tool whenever the response should display every card type in one unfiltered page of a Stashiro board, regardless of how the board was identified. The response includes cursor and isDone; when isDone is false, call this tool again with the returned cursor if the requested presentation needs more pages. This tool never applies a card-type or card-ID filter.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId"],"properties":{"limit":{"type":"integer","default":50,"maximum":100,"minimum":1},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"boardId":{"type":"string","minLength":1}}},"title":"Show Stashiro Board Cards","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"show_stashiro_board","displayName":"Show Stashiro Board Cards"},{"name":"show_selected_stashiro_cards","description":"Use this read-only presentation tool when one or more existing Stashiro cards are already identified and should appear in the response. Pass opaque cardReferences, or a known boardId with cardIds. It renders the native card UI and never searches, creates, or duplicates content. Use search when cards must first be located by name or content, and show_stashiro_board for an unfiltered board page.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"boardId":{"type":"string","minLength":1},"cardIds":{"type":"array","items":{"type":"string","minLength":1},"maxItems":50,"minItems":1},"cardReferences":{"type":"array","items":{"type":"string","minLength":1},"maxItems":50,"minItems":1}}},"title":"Present Stashiro Cards","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"show_selected_stashiro_cards","displayName":"Present Stashiro Cards"},{"name":"search","description":"Search only existing content saved in Stashiro. Call this when the user explicitly asks to find, show, read, retrieve, describe, preview, or give details about saved Spaces, boards, cards, links, images, or flights. Do not use it for /convert-to-stash unless the user also explicitly asks to search saved Stashiro content. It renders matching saved cards in the native Stashiro UI. Use optional Space or board scope when supplied, and use returned opaque IDs and card data when the request requires m","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"integer","default":20,"maximum":50,"minimum":1},"query":{"type":"string","maxLength":200,"minLength":1},"boardId":{"type":"string","minLength":1},"spaceId":{"type":"string","minLength":1}}},"title":"Search Stashiro","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search","displayName":"Search Stashiro"},{"name":"fetch","description":"Use this data tool when full details are needed for one Stashiro Space, board, or card identified by an opaque result ID. Pass that ID unchanged and use the returned data for the current task.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["id"],"properties":{"id":{"type":"string","minLength":1}}},"title":"Fetch Stashiro Search Result","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"fetch","displayName":"Fetch Stashiro Search Result"},{"name":"present_stashiro_cards","description":"Use this read-only presentation tool as the final answer when Stashiro is selected for a plan, analysis, comparison, research synthesis, or other multi-item content. Complete any needed research first, then call it once instead of returning the deliverable only as prose. It can also convert existing conversation content. Organize the answer into ordered semantic sections and place each card in exactly one section with zero-based cardIndexes. Keep source links with the notes, comparisons, maps, f","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"cards":{"type":"array","items":{"oneOf":[{"type":"object","required":["kind","content"],"properties":{"kind":{"enum":["text","note"],"type":"string"},"content":{"type":"string","maxLength":20000,"minLength":1}}},{"type":"object","required":["kind","url"],"properties":{"url":{"type":"string","format":"uri","maxLength":8192},"kind":{"type":"string","const":"link"},"previewImageUrl":{"type":"string","format":"uri","maxLength":8192}}},{"type":"object","required":["kind","download_url","file_id"],"properties":{"kind":{"type":"string","const":"image"},"file_id":{"type":"string","minLength":1},"file_name":{"type":"string","maxLength":255,"minLength":1},"mime_type":{"type":"string","minLength":1},"download_url":{"type":"string","format":"uri"}}},{"type":"object","required":["kind","columns","rows"],"properties":{"kind":{"type":"string","const":"table"},"rows":{"type":"array","items":{"type":"array","items":{"type":"string","maxLength":2000},"maxItems":20,"minItems":1},"maxItems":100,"minItems":1},"columns":{"type":"array","items":{"type":"string","maxLength":120},"maxItems":20,"minItems":1}}},{"type":"object","required":["kind","title","type","series"],"properties":{"kind":{"type":"string","const":"chart"},"type":{"enum":["bar","horizontal_bar","stacked_bar","line","area","stacked_area","donut","pie","scatter","bubble","radar","heatmap","histogram","lollipop"],"type":"string"},"unit":{"type":"string","maxLength":40},"series":{"type":"array","items":{"type":"object","required":["name","data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"x":{"type":"number"},"size":{"type":"number","minimum":0},"label":{"type":"string","maxLength":120,"minLength":1},"value":{"type":"number"}}},"maxItems":40,"minItems":1},"name":{"type":"string","maxLength":80,"minLength":1},"color":{"type":"string","maxLength":32}}},"maxItems":8,"minItems":1},"insight":{"type":"string","maxLength":360},"subtitle":{"type":"string","maxLength":240}}},{"type":"object","required":["kind","carrier","flightNumber","date","departure","arrival"],"properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"kind":{"type":"string","const":"flight"},"stops":{"type":"integer","maximum":8,"minimum":0},"status":{"enum":["scheduled","on_time","delayed","in_flight","cancelled","landed"],"type":"string"},"arrival":{"type":"object","required":["iata","scheduledAt"],"properties":{"city":{"type":"string","maxLength":100,"minLength":1},"gate":{"type":"string","maxLength":40},"iata":{"type":"string","maxLength":4,"minLength":3},"actualAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"terminal":{"type":"string","maxLength":40},"estimatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"scheduledAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},"carrier":{"type":"object","required":["name"],"properties":{"iata":{"type":"string","maxLength":3,"minLength":2},"name":{"type":"string","maxLength":120,"minLength":1}}},"departure":{"type":"object","required":["iata","scheduledAt"],"properties":{"city":{"type":"string","maxLength":100,"minLength":1},"gate":{"type":"string","maxLength":40},"iata":{"type":"string","maxLength":4,"minLength":3},"actualAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"terminal":{"type":"string","maxLength":40},"estimatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"scheduledAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},"sourceUrl":{"type":"string","format":"uri"},"flightNumber":{"type":"string","maxLength":32,"minLength":1},"statusObservedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},{"type":"object","required":["kind"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lng":{"type":"number","maximum":180,"minimum":-180},"kind":{"type":"string","const":"map"},"stops":{"type":"array","items":{"type":"object","required":["label","lat","lng"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lng":{"type":"number","maximum":180,"minimum":-180},"label":{"type":"string","maxLength":240,"minLength":1},"route":{"type":"integer","maximum":21,"minimum":1}}},"maxItems":40,"minItems":1},"placeName":{"type":"string","maxLength":240,"minLength":1}}}]},"default":[],"maxItems":50},"limit":{"type":"integer","default":50,"maximum":100,"minimum":1},"links":{"type":"array","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","maxLength":8192},"previewImageUrl":{"type":"string","format":"uri","maxLength":8192}}},"default":[],"maxItems":50},"notes":{"type":"array","items":{"type":"object","required":["content"],"properties":{"content":{"type":"string","maxLength":20000,"minLength":1}}},"default":[],"maxItems":50},"images":{"type":"array","items":{"type":"object","required":["download_url","file_id"],"properties":{"file_id":{"type":"string","minLength":1},"file_name":{"type":"string","maxLength":255,"minLength":1},"mime_type":{"type":"string","minLength":1},"download_url":{"type":"string","format":"uri"}}},"default":[],"maxItems":50},"sections":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","default":"","maxLength":20000},"heading":{"type":"string","default":"","maxLength":180},"cardIndexes":{"type":"array","items":{"type":"integer","maximum":49,"minimum":0},"default":[],"maxItems":50}}},"default":[],"maxItems":50},"boardCursor":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}]},"spaceCursor":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}]},"preferredBoardId":{"type":"string","minLength":1}}},"title":"Present an answer with Stashiro cards","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"present_stashiro_cards","displayName":"Present an answer with Stashiro cards"},{"name":"save_capture","description":"Save the exact native draft cards and destination confirmed in the Stashiro capture UI. requestId makes retries safe.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId"],"properties":{"cards":{"type":"array","items":{"oneOf":[{"type":"object","required":["kind","content"],"properties":{"kind":{"enum":["text","note"],"type":"string"},"content":{"type":"string","maxLength":20000,"minLength":1}}},{"type":"object","required":["kind","url"],"properties":{"url":{"type":"string","format":"uri","maxLength":8192},"kind":{"type":"string","const":"link"},"previewImageUrl":{"type":"string","format":"uri","maxLength":8192}}},{"type":"object","required":["kind","download_url","file_id"],"properties":{"kind":{"type":"string","const":"image"},"file_id":{"type":"string","minLength":1},"file_name":{"type":"string","maxLength":255,"minLength":1},"mime_type":{"type":"string","minLength":1},"download_url":{"type":"string","format":"uri"}}},{"type":"object","required":["kind","columns","rows"],"properties":{"kind":{"type":"string","const":"table"},"rows":{"type":"array","items":{"type":"array","items":{"type":"string","maxLength":2000},"maxItems":20,"minItems":1},"maxItems":100,"minItems":1},"columns":{"type":"array","items":{"type":"string","maxLength":120},"maxItems":20,"minItems":1}}},{"type":"object","required":["kind","title","type","series"],"properties":{"kind":{"type":"string","const":"chart"},"type":{"enum":["bar","horizontal_bar","stacked_bar","line","area","stacked_area","donut","pie","scatter","bubble","radar","heatmap","histogram","lollipop"],"type":"string"},"unit":{"type":"string","maxLength":40},"series":{"type":"array","items":{"type":"object","required":["name","data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"x":{"type":"number"},"size":{"type":"number","minimum":0},"label":{"type":"string","maxLength":120,"minLength":1},"value":{"type":"number"}}},"maxItems":40,"minItems":1},"name":{"type":"string","maxLength":80,"minLength":1},"color":{"type":"string","maxLength":32}}},"maxItems":8,"minItems":1},"insight":{"type":"string","maxLength":360},"subtitle":{"type":"string","maxLength":240}}},{"type":"object","required":["kind","carrier","flightNumber","date","departure","arrival"],"properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"kind":{"type":"string","const":"flight"},"stops":{"type":"integer","maximum":8,"minimum":0},"status":{"enum":["scheduled","on_time","delayed","in_flight","cancelled","landed"],"type":"string"},"arrival":{"type":"object","required":["iata","scheduledAt"],"properties":{"city":{"type":"string","maxLength":100,"minLength":1},"gate":{"type":"string","maxLength":40},"iata":{"type":"string","maxLength":4,"minLength":3},"actualAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"terminal":{"type":"string","maxLength":40},"estimatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"scheduledAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},"carrier":{"type":"object","required":["name"],"properties":{"iata":{"type":"string","maxLength":3,"minLength":2},"name":{"type":"string","maxLength":120,"minLength":1}}},"departure":{"type":"object","required":["iata","scheduledAt"],"properties":{"city":{"type":"string","maxLength":100,"minLength":1},"gate":{"type":"string","maxLength":40},"iata":{"type":"string","maxLength":4,"minLength":3},"actualAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"terminal":{"type":"string","maxLength":40},"estimatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"scheduledAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},"sourceUrl":{"type":"string","format":"uri"},"flightNumber":{"type":"string","maxLength":32,"minLength":1},"statusObservedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},{"type":"object","required":["kind"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lng":{"type":"number","maximum":180,"minimum":-180},"kind":{"type":"string","const":"map"},"stops":{"type":"array","items":{"type":"object","required":["label","lat","lng"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lng":{"type":"number","maximum":180,"minimum":-180},"label":{"type":"string","maxLength":240,"minLength":1},"route":{"type":"integer","maximum":21,"minimum":1}}},"maxItems":40,"minItems":1},"placeName":{"type":"string","maxLength":240,"minLength":1}}}]},"default":[],"maxItems":50},"links":{"type":"array","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","maxLength":8192},"previewImageUrl":{"type":"string","format":"uri","maxLength":8192}}},"default":[],"maxItems":50},"notes":{"type":"array","items":{"type":"object","required":["content"],"properties":{"content":{"type":"string","maxLength":20000,"minLength":1}}},"default":[],"maxItems":50},"images":{"type":"array","items":{"type":"object","required":["download_url","file_id"],"properties":{"file_id":{"type":"string","minLength":1},"file_name":{"type":"string","maxLength":255,"minLength":1},"mime_type":{"type":"string","minLength":1},"download_url":{"type":"string","format":"uri"}}},"default":[],"maxItems":50},"boardId":{"type":"string","minLength":1},"sections":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","default":"","maxLength":20000},"heading":{"type":"string","default":"","maxLength":180},"cardIndexes":{"type":"array","items":{"type":"integer","maximum":49,"minimum":0},"default":[],"maxItems":50}}},"default":[],"maxItems":50},"requestId":{"type":"string","maxLength":180,"minLength":1}}},"title":"Save reviewed items to Stashiro","logicalName":"save_capture","displayName":"Save reviewed items to Stashiro","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_space","description":"Create a new Space only when the user explicitly asks for one. Pass the returned spaceId unchanged as create_board.space.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name"],"properties":{"name":{"type":"string","maxLength":80,"minLength":1}}},"title":"Create Stashiro Space","logicalName":"create_space","displayName":"Create Stashiro Space","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rename_space","description":"Use this when the user asks to rename one owned Stashiro Space. Requires the exact Space ID and changes only its name.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["spaceId","name"],"properties":{"name":{"type":"string","maxLength":80,"minLength":1},"spaceId":{"type":"string","minLength":1}}},"title":"Rename Stashiro Space","logicalName":"rename_space","displayName":"Rename Stashiro Space","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_space_icon","description":"Use this when the user asks to change an owned Stashiro Space icon. Pass a Lucide name such as lucide:briefcase or an emoji value such as emoji:🍃.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["spaceId","icon"],"properties":{"icon":{"type":"string","maxLength":31,"minLength":1},"spaceId":{"type":"string","minLength":1}}},"title":"Set Stashiro Space Icon","logicalName":"set_space_icon","displayName":"Set Stashiro Space Icon","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"reorder_spaces","description":"Use this when the user asks to change the sidebar order of owned Stashiro Spaces. This does not move or reorder boards inside those Spaces.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["spaceId","sortOrder"],"properties":{"spaceId":{"type":"string","minLength":1},"sortOrder":{"type":"number"}}},"maxItems":100,"minItems":1}}},"title":"Reorder Stashiro Spaces","logicalName":"reorder_spaces","displayName":"Reorder Stashiro Spaces","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_space","description":"Use this only after the user explicitly confirms deletion of one owned Stashiro Space. The Space is removed and every board still inside it is moved to Trash. Boards moved elsewhere first are preserved.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["spaceId"],"properties":{"spaceId":{"type":"string","minLength":1}}},"title":"Delete Stashiro Space","logicalName":"delete_space","displayName":"Delete Stashiro Space","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_board","description":"Create a native Stashiro canvas or list board directly in the named Space. Pass its returned space:<id> search reference, exact raw ID, or unique exact name in space; do not browse the workspace first.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name","space"],"properties":{"name":{"type":"string","maxLength":80,"minLength":1},"space":{"type":"string","minLength":1},"boardType":{"enum":["canvas","list"],"type":"string","default":"canvas"}}},"title":"Create Stashiro Board","logicalName":"create_board","displayName":"Create Stashiro Board","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"rename_board","description":"Use this when the user asks to rename one Stashiro board. Requires the exact board ID and changes only its name.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","name"],"properties":{"name":{"type":"string","maxLength":80,"minLength":1},"boardId":{"type":"string","minLength":1}}},"title":"Rename Stashiro Board","logicalName":"rename_board","displayName":"Rename Stashiro Board","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"move_board","description":"Use this when the user asks to move one owned Stashiro board into another existing Space. Requires exact board and destination Space IDs; it does not reorder the board within that Space.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","spaceId"],"properties":{"boardId":{"type":"string","minLength":1},"spaceId":{"type":"string","minLength":1}}},"title":"Move Stashiro Board","logicalName":"move_board","displayName":"Move Stashiro Board","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"set_board_pinned","description":"Use this when the user asks to pin or unpin one owned Stashiro board in the sidebar. Use reorder_pinned_boards for the relative order of multiple pinned boards.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","pinned"],"properties":{"pinned":{"type":"boolean"},"boardId":{"type":"string","minLength":1},"pinOrder":{"type":"number"}}},"title":"Pin or Unpin Stashiro Board","logicalName":"set_board_pinned","displayName":"Pin or Unpin Stashiro Board","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"reorder_pinned_boards","description":"Use this when the user asks to change the relative sidebar order of pinned Stashiro boards. Every entry must be an owned pinned board.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["boardId","pinOrder"],"properties":{"boardId":{"type":"string","minLength":1},"pinOrder":{"type":"number"}}},"maxItems":100,"minItems":1}}},"title":"Reorder Pinned Stashiro Boards","logicalName":"reorder_pinned_boards","displayName":"Reorder Pinned Stashiro Boards","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"reorder_boards_in_space","description":"Use this when the user asks to change board tab order inside one Stashiro Space. Every supplied board must belong to that same Space; this does not move boards between Spaces.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["boardId","tabOrder"],"properties":{"boardId":{"type":"string","minLength":1},"tabOrder":{"type":"number"}}},"maxItems":100,"minItems":1}}},"title":"Reorder Stashiro Boards in Space","logicalName":"reorder_boards_in_space","displayName":"Reorder Stashiro Boards in Space","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"trash_board","description":"Use this when the user asks to remove an owned Stashiro board but may need recovery. Moves the board and its cards to recoverable trash; prefer this over permanent deletion.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId"],"properties":{"boardId":{"type":"string","minLength":1}}},"title":"Move Stashiro Board to Trash","logicalName":"trash_board","displayName":"Move Stashiro Board to Trash","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"restore_board","description":"Use this when the user asks to restore an owned Stashiro board from recoverable trash.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId"],"properties":{"boardId":{"type":"string","minLength":1}}},"title":"Restore Stashiro Board","logicalName":"restore_board","displayName":"Restore Stashiro Board","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_board_permanently","description":"Use this only after the user explicitly confirms permanent deletion of an owned Stashiro board. Irreversibly deletes the board and all of its cards; use trash_board for a recoverable removal.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId"],"properties":{"boardId":{"type":"string","minLength":1}}},"title":"Permanently Delete Stashiro Board","logicalName":"delete_board_permanently","displayName":"Permanently Delete Stashiro Board","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_card","description":"Use this when the user asks to add a heading, note, comment, or board reference to an existing Stashiro board. Text is for a short single-line label; note is for multiline prose. List boards accept only text and note through this tool; comments and board references require a canvas. Use the dedicated tools for links, images, tables, charts, flights, and connectors. Map creation is not exposed. requestId makes retries safe.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId","kind","content"],"properties":{"x":{"type":"number","default":0},"y":{"type":"number","default":0},"kind":{"enum":["text","note","comment","board_reference"],"type":"string"},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0},"boardId":{"type":"string","minLength":1},"content":{"type":"string"},"requestId":{"type":"string","maxLength":252,"minLength":1},"backgroundColor":{"type":"string","maxLength":64},"boardReferenceId":{"type":"string","minLength":1}}},"title":"Create Stashiro Card","logicalName":"create_card","displayName":"Create Stashiro Card","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_link_card","description":"Use this when the user asks to save an ordinary URL as a Stashiro link card. For a flight-tracking URL use create_flight_card and retain the URL as sourceUrl. On a list board the link is placed in the list; on a canvas it uses the supplied position.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId","url"],"properties":{"x":{"type":"number","default":0},"y":{"type":"number","default":0},"url":{"type":"string","format":"uri","maxLength":8192},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0},"boardId":{"type":"string","minLength":1},"requestId":{"type":"string","maxLength":252,"minLength":1},"stackIndex":{"type":"number"},"placeOnCanvas":{"type":"boolean","default":true}}},"title":"Add Link to Stashiro","logicalName":"create_link_card","displayName":"Add Link to Stashiro","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_card","description":"Use this when the user asks to edit an existing Stashiro card's text, appearance, size, position, list placement, or layer index. Do not replace serialized table, chart, flight, or connector content with prose.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["cardId"],"properties":{"x":{"type":"number"},"y":{"type":"number"},"width":{"type":"number","exclusiveMinimum":0},"cardId":{"type":"string","minLength":1},"height":{"type":"number","exclusiveMinimum":0},"content":{"type":"string"},"clearWidth":{"type":"boolean","default":false},"stackIndex":{"type":"number"},"clearHeight":{"type":"boolean","default":false},"placedOnBoard":{"type":"boolean"},"backgroundColor":{"type":"string","maxLength":64},"clearBackgroundColor":{"type":"boolean","default":false}}},"title":"Update Stashiro Card","logicalName":"update_card","displayName":"Update Stashiro Card","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"move_card_to_board","description":"Use this when the user asks to move one Stashiro card to another board owned by the same account. Delete any connector cards attached to it first and recreate meaningful relationships on the destination canvas. List boards accept links, notes, images, and audio.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["cardId","targetBoardId"],"properties":{"x":{"type":"number"},"y":{"type":"number"},"cardId":{"type":"string","minLength":1},"stackIndex":{"type":"number"},"placeOnCanvas":{"type":"boolean","default":true},"targetBoardId":{"type":"string","minLength":1}}},"title":"Move Stashiro Card to Board","logicalName":"move_card_to_board","displayName":"Move Stashiro Card to Board","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"reorder_cards","description":"Use this when the user asks to change Stashiro card layer order on a canvas or distribution order in a bento list. This does not move cards between boards.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["cardId","stackIndex"],"properties":{"cardId":{"type":"string","minLength":1},"stackIndex":{"type":"number"}}},"maxItems":100,"minItems":1}}},"title":"Reorder Stashiro Cards","logicalName":"reorder_cards","displayName":"Reorder Stashiro Cards","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delete_card","description":"Use this only when the user asks to permanently delete one Stashiro card or canvas item. This operation is irreversible.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["cardId"],"properties":{"cardId":{"type":"string","minLength":1}}},"title":"Delete Stashiro Card","logicalName":"delete_card","displayName":"Delete Stashiro Card","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_connector","description":"Use this when the user asks to connect two related cards on the same Stashiro canvas board, or when a connector materially clarifies a requested sequence, dependency, or flow. Use arrow for direction, plain for a neutral relationship, and dashed for a tentative or indirect relationship. For a clickable URL use create_link_card instead.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId","fromCardId","toCardId"],"properties":{"color":{"type":"string","default":"#94a3b8","pattern":"^#[0-9a-fA-F]{6}$"},"curve":{"type":"number","default":0},"boardId":{"type":"string","minLength":1},"toAnchor":{"enum":["auto","top","right","bottom","left"],"type":"string","default":"auto"},"toCardId":{"type":"string","minLength":1},"lineStyle":{"enum":["plain","arrow","dashed"],"type":"string","default":"arrow"},"requestId":{"type":"string","maxLength":252,"minLength":1},"fromAnchor":{"enum":["auto","top","right","bottom","left"],"type":"string","default":"auto"},"fromCardId":{"type":"string","minLength":1},"strokeWidth":{"type":"number","default":2,"maximum":8,"minimum":1}}},"title":"Connect Stashiro Cards","logicalName":"create_connector","displayName":"Connect Stashiro Cards","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_table_card","description":"Use this when the user asks to place structured records on a Stashiro canvas board and 2 or more entities share 2 or more comparable fields. Creates one native table; keep the user's scope and do not split comparable records into notes.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId","columns","rows"],"properties":{"x":{"type":"number","default":0},"y":{"type":"number","default":0},"rows":{"type":"array","items":{"type":"array","items":{"type":"string","maxLength":2000},"maxItems":20,"minItems":1},"maxItems":200,"minItems":1},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0},"boardId":{"type":"string","minLength":1},"columns":{"type":"array","items":{"type":"string","maxLength":120},"maxItems":20,"minItems":1},"requestId":{"type":"string","maxLength":252,"minLength":1},"stackIndex":{"type":"number"}}},"title":"Create Stashiro Table","logicalName":"create_table_card","displayName":"Create Stashiro Table","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_map_card","description":"Create a native Stashiro map on a canvas board after the user explicitly confirms a write. Provide coordinates for one place or for every ordered route stop.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId"],"properties":{"x":{"type":"number","default":0},"y":{"type":"number","default":0},"lat":{"type":"number","maximum":90,"minimum":-90},"lng":{"type":"number","maximum":180,"minimum":-180},"stops":{"type":"array","items":{"type":"object","required":["label","lat","lng"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lng":{"type":"number","maximum":180,"minimum":-180},"label":{"type":"string","maxLength":240,"minLength":1},"route":{"type":"integer","maximum":21,"minimum":1}}},"maxItems":40,"minItems":1},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0},"boardId":{"type":"string","minLength":1},"placeName":{"type":"string","maxLength":240,"minLength":1},"requestId":{"type":"string","maxLength":252,"minLength":1}}},"title":"Create Stashiro Map","logicalName":"create_map_card","displayName":"Create Stashiro Map","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_chart_card","description":"Use this when the user asks for a chart on a Stashiro canvas board or a visual comparison, trend, composition, distribution, matrix, or relationship communicates the requested data better than prose. Use create_table_card when exact row values are primary. Scatter and bubble use x horizontally and value vertically; for heatmaps each series is a row; pie and donut use the first series.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId","title","type","series"],"properties":{"x":{"type":"number","default":0},"y":{"type":"number","default":0},"type":{"enum":["bar","horizontal_bar","stacked_bar","line","area","stacked_area","donut","pie","scatter","bubble","radar","heatmap","histogram","lollipop"],"type":"string"},"unit":{"type":"string","maxLength":40},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0},"series":{"type":"array","items":{"type":"object","required":["name","data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"x":{"type":"number"},"size":{"type":"number","minimum":0},"label":{"type":"string","maxLength":120,"minLength":1},"value":{"type":"number"}}},"maxItems":40,"minItems":1},"name":{"type":"string","maxLength":80,"minLength":1},"color":{"type":"string","maxLength":32}}},"maxItems":8,"minItems":1},"boardId":{"type":"string","minLength":1},"insight":{"type":"string","maxLength":360},"subtitle":{"type":"string","maxLength":240},"requestId":{"type":"string","maxLength":252,"minLength":1}}},"title":"Create Stashiro Chart","logicalName":"create_chart_card","displayName":"Create Stashiro Chart","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_flight_card","description":"Use this when the user asks to save or show a specific flight on a Stashiro canvas board, or provides a flight-tracking link. Preserve that link in sourceUrl. Supply exact scheduled timestamps with UTC offsets and include sourced actual or estimated timestamps for live data. For EN ROUTE use in_flight and the active occurrence, never the next scheduled flight. Do not infer status; non-scheduled status requires statusObservedAt. Stashiro derives English lifecycle labels, duration, and progress fr","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId","carrier","flightNumber","date","departure","arrival"],"properties":{"x":{"type":"number","default":0},"y":{"type":"number","default":0},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"stops":{"type":"integer","maximum":8,"minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0},"status":{"enum":["scheduled","on_time","delayed","in_flight","cancelled","landed"],"type":"string"},"arrival":{"type":"object","required":["iata","scheduledAt"],"properties":{"city":{"type":"string","maxLength":100,"minLength":1},"gate":{"type":"string","maxLength":40},"iata":{"type":"string","maxLength":4,"minLength":3},"actualAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"terminal":{"type":"string","maxLength":40},"estimatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"scheduledAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},"boardId":{"type":"string","minLength":1},"carrier":{"type":"object","required":["name"],"properties":{"iata":{"type":"string","maxLength":3,"minLength":2},"name":{"type":"string","maxLength":120,"minLength":1}}},"departure":{"type":"object","required":["iata","scheduledAt"],"properties":{"city":{"type":"string","maxLength":100,"minLength":1},"gate":{"type":"string","maxLength":40},"iata":{"type":"string","maxLength":4,"minLength":3},"actualAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"terminal":{"type":"string","maxLength":40},"estimatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"},"scheduledAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},"requestId":{"type":"string","maxLength":252,"minLength":1},"sourceUrl":{"type":"string","format":"uri"},"flightNumber":{"type":"string","maxLength":32,"minLength":1},"statusObservedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d{1,3})?)?(?:Z|[+-]\\d{2}:\\d{2})$"}}},"title":"Create Stashiro Flight","logicalName":"create_flight_card","displayName":"Create Stashiro Flight","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"upload_image_card","description":"Add a ChatGPT-generated or user-attached image to a Stashiro board. Use when an image is available and the user wants it added to a board. Resolve the image and board from conversation context; if multiple images match, ask which. Attach the actual image to the image file parameter, never a local path. Do not add decorative images or expand scope. requestId makes retries safe.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["boardId","requestId","image"],"properties":{"x":{"type":"number","default":0},"y":{"type":"number","default":0},"image":{"type":"object","required":["download_url","file_id"],"properties":{"file_id":{"type":"string","minLength":1},"file_name":{"type":"string","maxLength":255,"minLength":1},"mime_type":{"type":"string","minLength":1},"download_url":{"type":"string","format":"uri"}}},"width":{"type":"number","default":320,"exclusiveMinimum":0},"boardId":{"type":"string","minLength":1},"requestId":{"type":"string","maxLength":252,"minLength":1},"stackIndex":{"type":"number"}}},"title":"Upload Image to Stashiro","logicalName":"upload_image_card","displayName":"Upload Image to Stashiro","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_card_media","description":"Use this when the user asks to view, inspect, or use media stored in an accessible Stashiro image or audio card. Returns short-lived authorized URLs; do not persist or expose them beyond the current task.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["cardId"],"properties":{"cardId":{"type":"string","minLength":1}}},"title":"Get Stashiro Card Media","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_card_media","displayName":"Get Stashiro Card Media"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Stashiro&config=eyJ1cmwiOiAiaHR0cHM6Ly93d3cuc3Rhc2hpcm8uY29tL2FwaS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Stashiro%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.stashiro.com%2Fapi%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Stashiro%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.stashiro.com%2Fapi%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Stashiro&connectorUrl=https%3A%2F%2Fwww.stashiro.com%2Fapi%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Stashiro\" --url \"https://www.stashiro.com/api/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/stashiro-mcp-9b19edb4bc","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/stashiro-mcp-9b19edb4bc/tools/{tool}","mcpServerUrl":"https://www.stashiro.com/api/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/stashiro-mcp-9b19edb4bc?live=1"}