[{"data":1,"prerenderedAt":2780},["ShallowReactive",2],{"docs.index":3,"docs.page.\u002Fdocs\u002Fagents\u002Freference\u002Fmcp-server":358},[4,20,26,33,43,52,59,65,71,76,82,89,95,100,104,111,115,119,123,132,137,141,147,152,157,163,170,177,183,189,193,199,205,211,217,222,226,230,236,242,247,252,256,260,265,271,277,283,287,294,299,305,310,314,318,322,328,333,338,343,347,353],{"path":5,"title":6,"navTitle":7,"seoTitle":8,"description":9,"type":10,"position":11,"updated":12,"release":13,"related":14,"plans":17},"\u002Fdocs\u002Faccount\u002Fbilling","Upgrade and manage billing","Billing",null,"Move a workspace onto Grove or Forest, understand how seats are charged, and what happens if a payment fails or you cancel.","how-to",2,"2026-09-29","public",[15,16],"\u002Fdocs\u002Faccount\u002Fplans-and-limits","\u002Fdocs\u002Fsharing\u002Finvite-people",[18,19],"grove","forest",{"path":21,"title":22,"navTitle":8,"seoTitle":8,"description":23,"type":24,"position":25,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Faccount","Account and billing","What each plan includes, how billing and seats work, managing your account, and how Treehouse keeps your files safe.","hub",7,{"path":15,"title":27,"navTitle":8,"seoTitle":8,"description":28,"type":29,"position":30,"updated":12,"release":13,"related":31,"plans":8},"Plans and limits","What Seedling, Grove and Forest include, how usage is counted, and what happens when a workspace reaches a limit.","reference",1,[5,16,32],"\u002Fdocs\u002Fsharing\u002Fshare-links",{"path":34,"title":35,"navTitle":8,"seoTitle":8,"description":36,"type":37,"position":38,"updated":12,"release":13,"related":39,"plans":8},"\u002Fdocs\u002Faccount\u002Fsecurity-and-privacy","Security and privacy","How Treehouse encrypts your files, who can see what in a workspace, and how keys, share links and HTML pages are kept in check.","concept",4,[40,32,41,42],"\u002Fdocs\u002Fagents\u002Fconnect\u002Fapi-keys","\u002Fdocs\u002Ffiles\u002Fprivate-files","\u002Fdocs\u002Ffiles\u002Fhtml-pages",{"path":44,"title":45,"navTitle":46,"seoTitle":8,"description":47,"type":10,"position":48,"updated":12,"release":13,"related":49,"plans":8},"\u002Fdocs\u002Faccount\u002Fyour-account","Manage your account","Your account","Create an account, sign in and out, reset a forgotten password, and move between the workspaces you belong to.",3,[50,51,34],"\u002Fdocs\u002Fget-started\u002Fquickstart","\u002Fdocs\u002Fsharing\u002Fcustomise-your-workspace",{"path":40,"title":53,"navTitle":54,"seoTitle":8,"description":55,"type":10,"position":38,"updated":12,"release":13,"related":56,"plans":8},"Manage API keys","API keys","Create a key for each agent, see which keys can reach your workspaces, and revoke the ones you no longer need.",[57,58,34],"\u002Fdocs\u002Fagents\u002Fconnect\u002Fclaude-code","\u002Fdocs\u002Fagents\u002Freference\u002Fauthentication",{"path":57,"title":60,"navTitle":8,"seoTitle":8,"description":61,"type":10,"position":11,"updated":12,"release":13,"related":62,"plans":8},"Connect Claude Code","Give Claude Code access to a workspace through your synced folder, the Treehouse MCP server, or both.",[63,40,64],"\u002Fdocs\u002Fagents\u002Fconnect\u002Fhow-agents-work","\u002Fdocs\u002Fplaybooks\u002Fwrite-your-agents-md",{"path":63,"title":66,"navTitle":67,"seoTitle":8,"description":68,"type":37,"position":30,"updated":12,"release":13,"related":69,"plans":8},"How agents work with Treehouse","How agents work","The two ways an agent can reach a workspace, what it can do there, and how its work shows up for everyone else.",[57,40,70],"\u002Fdocs\u002Fagents\u002Fhandbook",{"path":72,"title":73,"navTitle":74,"seoTitle":8,"description":75,"type":24,"position":30,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fagents\u002Fconnect","Connect an agent","Connect","Give Claude Code, Codex, Cursor or any other agent access to a workspace, with its own key when you want its work labelled.",{"path":77,"title":78,"navTitle":8,"seoTitle":8,"description":79,"type":10,"position":48,"updated":12,"release":13,"related":80,"plans":8},"\u002Fdocs\u002Fagents\u002Fconnect\u002Fother-agents","Connect other agents","Connection settings for Cursor, VS Code, Codex, Gemini CLI, Claude Desktop and any other MCP client.",[57,40,81],"\u002Fdocs\u002Fagents\u002Freference\u002Fmcp-server",{"path":70,"title":83,"navTitle":83,"seoTitle":84,"description":85,"type":24,"position":11,"updated":12,"release":13,"related":86,"plans":8},"Agent handbook","Agent handbook: how agents work in Treehouse","Written for agents. How to reach a Treehouse workspace, the rules that keep everyone's work safe, and the conventions the web app understands.",[81,87,88],"\u002Fdocs\u002Fagents\u002Fhandbook\u002Fversions-and-conflicts","\u002Fdocs\u002Fplaybooks\u002Freview-loop",{"path":87,"title":90,"navTitle":8,"seoTitle":8,"description":91,"type":37,"position":30,"updated":12,"release":13,"related":92,"plans":8},"Versions and conflicts","The concurrency contract every Treehouse client shares - version numbers, compare-and-swap writes, conflicted copies, deletes, moves and restores.",[93,94,81],"\u002Fdocs\u002Ffiles\u002Fconflicted-copies","\u002Fdocs\u002Fagents\u002Freference\u002Frest-api",{"path":96,"title":97,"navTitle":8,"seoTitle":98,"description":99,"type":24,"position":30,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fagents","Agents","Treehouse for agents","Everything an agent needs to work in a Treehouse workspace, and everything you need to connect one.",{"path":58,"title":101,"navTitle":8,"seoTitle":8,"description":102,"type":29,"position":30,"updated":12,"release":13,"related":103,"plans":8},"Authentication","How API keys work, what each kind of key can reach, the device authorisation flow the CLI and desktop app use, and how keys are revoked.",[40,81,94],{"path":105,"title":106,"navTitle":8,"seoTitle":8,"description":107,"type":29,"position":38,"updated":12,"release":13,"related":108,"plans":8},"\u002Fdocs\u002Fagents\u002Freference\u002Fchange-feed","Change feed","Read every change to a workspace in order with a cursor, so a script or agent can react to new and edited files.",[109,110,87],"\u002Fdocs\u002Fsharing\u002Factivity","\u002Fdocs\u002Fplaybooks\u002Froutines",{"path":112,"title":113,"navTitle":8,"seoTitle":8,"description":114,"type":24,"position":48,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fagents\u002Freference","API reference","The protocol reference - authentication, every MCP tool, the REST API and the change feed.",{"path":81,"title":116,"navTitle":8,"seoTitle":8,"description":117,"type":29,"position":11,"updated":12,"release":13,"related":118,"plans":8},"MCP server","Every tool the Treehouse MCP server exposes, with parameters, outputs, limits and the instructions it gives connected agents.",[57,77,87],{"path":94,"title":120,"navTitle":8,"seoTitle":8,"description":121,"type":29,"position":48,"updated":12,"release":13,"related":122,"plans":8},"REST API","Endpoints for reading, writing, moving, searching, sharing and commenting on workspace files over HTTP, with headers, status codes and examples.",[58,87,105],{"path":124,"title":125,"navTitle":126,"seoTitle":8,"description":127,"type":29,"position":128,"updated":12,"release":13,"related":129,"plans":8},"\u002Fdocs\u002Fdesktop\u002Fcli-reference","Sync CLI reference","Sync CLI","Every treehouse command and flag, the files and environment variables the CLI reads, and the safety rules it follows while syncing.",5,[130,131,105],"\u002Fdocs\u002Fdesktop\u002Fsync-with-the-cli","\u002Fdocs\u002Fdesktop\u002Fhow-sync-works",{"path":131,"title":133,"navTitle":8,"seoTitle":8,"description":134,"type":37,"position":11,"updated":12,"release":13,"related":135,"plans":8},"How sync works","What the sync engine does in the background, which files it skips, and how it protects your work when things go wrong.",[93,41,109,136],"\u002Fdocs\u002Fget-started\u002Fhow-treehouse-works",{"path":138,"title":139,"navTitle":8,"seoTitle":8,"description":140,"type":24,"position":128,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fdesktop","Desktop app and sync","Keep a folder on your computer in step with a workspace, using the Mac app or the sync CLI.",{"path":142,"title":143,"navTitle":8,"seoTitle":8,"description":144,"type":10,"position":30,"updated":12,"release":13,"related":145,"plans":8},"\u002Fdocs\u002Fdesktop\u002Finstall-the-desktop-app","Install the desktop app","Download Treehouse for Mac, sign in and pick a folder, and your workspace's files appear on your computer and stay in sync.",[131,146,130],"\u002Fdocs\u002Fdesktop\u002Fmanage-synced-folders",{"path":146,"title":148,"navTitle":8,"seoTitle":8,"description":149,"type":10,"position":48,"updated":12,"release":13,"related":150,"plans":8},"Manage synced folders","Check sync status, pause, move or stop syncing a folder, add another workspace, and sign out, all from the Treehouse icon in your menu bar.",[131,130,151],"\u002Fdocs\u002Fhelp\u002Ftroubleshooting",{"path":130,"title":153,"navTitle":154,"seoTitle":8,"description":155,"type":10,"position":38,"updated":12,"release":13,"related":156,"plans":8},"Sync a folder with the CLI","Sync with the CLI","Install the treehouse command-line tool to sync a folder on Windows, Linux, a server or any machine where the desktop app doesn't run.",[124,131,146],{"path":93,"title":158,"navTitle":8,"seoTitle":8,"description":159,"type":37,"position":160,"updated":12,"release":13,"related":161,"plans":8},"Conflicted copies","When two edits to the same file collide, Treehouse keeps both. Here's what a conflicted copy is, how to spot one and how to resolve it.",9,[162,131,87],"\u002Fdocs\u002Ffiles\u002Fversion-history",{"path":164,"title":165,"navTitle":166,"seoTitle":8,"description":167,"type":10,"position":11,"updated":12,"release":13,"related":168,"plans":8},"\u002Fdocs\u002Ffiles\u002Fcreate-and-edit","Create and edit files","Create and edit","Make new files and folders in the web app, edit markdown, code and HTML, and save your changes.",[169,93,162],"\u002Fdocs\u002Ffiles\u002Ffront-matter",{"path":171,"title":172,"navTitle":173,"seoTitle":8,"description":174,"type":10,"position":128,"updated":12,"release":13,"related":175,"plans":8},"\u002Fdocs\u002Ffiles\u002Ffolder-pages","Turn a folder into a page or calendar","Folder pages and calendars","Give a folder a front page with a README, or show a folder of dated notes as a calendar you can reschedule by dragging.",[169,42,176],"\u002Fdocs\u002Fplaybooks\u002Fshape-your-workspace",{"path":169,"title":178,"navTitle":179,"seoTitle":8,"description":180,"type":29,"position":181,"updated":12,"release":13,"related":182,"plans":8},"Front matter reference","Front matter","The YAML block at the top of a markdown file, and the keys Treehouse reads from it to label, title and schedule your files.",6,[171,164,110],{"path":42,"title":184,"navTitle":185,"seoTitle":8,"description":186,"type":10,"position":25,"updated":12,"release":13,"related":187,"plans":8},"Publish an HTML page","HTML pages","Show HTML files as full pages, decide when their scripts may run, and share them publicly as reports, dashboards or decks.",[32,171,188],"\u002Fdocs\u002Ffiles\u002Fview-files",{"path":190,"title":191,"navTitle":8,"seoTitle":8,"description":192,"type":24,"position":48,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Ffiles","Files and folders","Find, read, write, upload and organise the files in a workspace, and get back anything that changed.",{"path":194,"title":195,"navTitle":196,"seoTitle":8,"description":197,"type":10,"position":38,"updated":12,"release":13,"related":198,"plans":8},"\u002Fdocs\u002Ffiles\u002Forganise-files","Rename, move and organise files","Organise files","Rename, move, reorder and delete files and folders, and give them icons, from the sidebar tree.",[162,41,176],{"path":41,"title":200,"navTitle":201,"seoTitle":8,"description":202,"type":10,"position":203,"updated":12,"release":13,"related":204,"plans":8},"Keep files private","Private files","Make a file or folder visible only to you and your own agents, even in a workspace you share with others.",10,[194,32,63],{"path":206,"title":207,"navTitle":208,"seoTitle":8,"description":209,"type":10,"position":48,"updated":12,"release":13,"related":210,"plans":8},"\u002Fdocs\u002Ffiles\u002Fupload-and-download","Upload and download files","Upload and download","Add files from your computer to a workspace, decide what happens when names clash, and download a copy of any file.",[164,131,15],{"path":162,"title":212,"navTitle":213,"seoTitle":8,"description":214,"type":10,"position":215,"updated":12,"release":13,"related":216,"plans":8},"See and restore earlier versions","Version history","Look through every change to a file, see who made it, view or restore an older version, and catch up on what changed while you were away.",8,[93,109,87],{"path":188,"title":218,"navTitle":219,"seoTitle":8,"description":220,"type":10,"position":30,"updated":12,"release":13,"related":221,"plans":8},"Find and view files","Find and view","Browse the file tree, search by name, and see how Treehouse shows markdown, HTML, code, images and everything else.",[164,171,162],{"path":136,"title":223,"navTitle":8,"seoTitle":8,"description":224,"type":37,"position":48,"updated":12,"release":13,"related":225,"plans":8},"How Treehouse works","Workspaces, versions, conflicted copies and attribution - the handful of ideas the rest of Treehouse is built on.",[162,93,63,87],{"path":227,"title":228,"navTitle":8,"seoTitle":8,"description":229,"type":24,"position":11,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fget-started","Get started","What Treehouse is, how to set up your first workspace, and how it works underneath.",{"path":50,"title":231,"navTitle":8,"seoTitle":8,"description":232,"type":233,"position":11,"updated":12,"release":13,"related":234,"plans":8},"Quickstart","Create a workspace, sync it to your computer, connect an agent and let it set things up. About ten minutes.","guide",[235,57,64],"\u002Fdocs\u002Fget-started\u002Fset-up-with-an-agent",{"path":235,"title":237,"navTitle":238,"seoTitle":8,"description":239,"type":10,"position":38,"updated":12,"release":13,"related":240,"plans":8},"Set up a workspace with an agent","Set up with an agent","Hand a new, empty workspace to an agent. It interviews you, proposes a structure and builds it once you agree.",[176,64,241],"\u002Fdocs\u002Fplaybooks\u002Finbox-and-filing",{"path":243,"title":244,"navTitle":244,"seoTitle":8,"description":245,"type":37,"position":30,"updated":12,"release":13,"related":246,"plans":8},"\u002Fdocs\u002Fget-started\u002Fwhat-is-treehouse","What is Treehouse?","A shared workspace of plain files that people and agents both work in, with the sharing, history and review that plain folders lack.",[50,136,63],{"path":248,"title":249,"navTitle":250,"seoTitle":8,"description":251,"type":29,"position":11,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fhelp\u002Ffaq","Frequently asked questions","FAQ","Short answers to the questions people ask most about Treehouse, agents, sharing and data.",{"path":253,"title":254,"navTitle":8,"seoTitle":8,"description":255,"type":29,"position":48,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fhelp\u002Fglossary","Glossary","The words Treehouse uses, and what each one means in the app and in these docs.",{"path":257,"title":258,"navTitle":8,"seoTitle":8,"description":259,"type":24,"position":215,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fhelp","Help","Fixes for common problems, answers to common questions, and the words Treehouse uses.",{"path":151,"title":261,"navTitle":8,"seoTitle":262,"description":263,"type":10,"position":30,"updated":12,"release":13,"related":264,"plans":8},"Troubleshooting","Troubleshooting Treehouse sync, agents and sharing","The problems people hit most often with sync, agent connections, sharing and limits, and how to fix each one.",[146,57,93],{"path":266,"title":267,"navTitle":8,"seoTitle":268,"description":269,"type":24,"position":270,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs","Treehouse docs","Treehouse documentation","How to set up a shared workspace for your team and your agents, and how to get the most out of it once you have.",0,{"path":272,"title":273,"navTitle":274,"seoTitle":8,"description":275,"type":233,"position":215,"updated":12,"release":13,"related":276,"plans":8},"\u002Fdocs\u002Fplaybooks\u002Fclient-work","Run client work","Client work","A folder per client, agents that prepare the deliverables, and share links that give clients exactly what they should see.",[32,42,88],{"path":241,"title":278,"navTitle":279,"seoTitle":8,"description":280,"type":233,"position":48,"updated":12,"release":13,"related":281,"plans":8},"Run an inbox your agent files","Inbox and filing","Drop anything into Inbox\u002F without deciding where it goes, and have an agent file it by rules you write once.",[110,282,176],"\u002Fdocs\u002Fplaybooks\u002Fsecond-brain",{"path":284,"title":285,"navTitle":8,"seoTitle":8,"description":286,"type":24,"position":181,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fplaybooks","Playbooks","Opinionated patterns for running a workspace with your agents, from the rulebook they follow to the routines that keep it alive.",{"path":288,"title":289,"navTitle":290,"seoTitle":8,"description":291,"type":233,"position":128,"updated":12,"release":13,"related":292,"plans":8},"\u002Fdocs\u002Fplaybooks\u002Fmemory-and-decisions","Give your agents a memory","Memory and decisions","Status pages, decision records and handoff notes that let any agent pick up where the last session left off.",[64,293,171],"\u002Fdocs\u002Fplaybooks\u002Fmultiple-agents",{"path":293,"title":295,"navTitle":296,"seoTitle":8,"description":297,"type":233,"position":25,"updated":12,"release":13,"related":298,"plans":8},"Work with several agents","Several agents","Give each agent its own key and its own lane, hand work over through files, and let versioning catch the collisions.",[40,288,93],{"path":88,"title":300,"navTitle":301,"seoTitle":8,"description":302,"type":233,"position":38,"updated":12,"release":13,"related":303,"plans":8},"Review your agent's work","Review loop","Let an agent draft, review it with comments in the web app, and have the agent work through your feedback thread by thread.",[304,162,57],"\u002Fdocs\u002Fsharing\u002Fcomments",{"path":110,"title":306,"navTitle":307,"seoTitle":8,"description":308,"type":233,"position":181,"updated":12,"release":13,"related":309,"plans":8},"Set up routines","Routines","Recurring agent work, like a morning inbox run or a weekly review, and where the schedule lives when Treehouse doesn't run agents itself.",[241,130,105],{"path":282,"title":311,"navTitle":8,"seoTitle":8,"description":312,"type":233,"position":160,"updated":12,"release":13,"related":313,"plans":8},"Build a second brain","A personal workspace where you capture everything quickly and an agent keeps it filed, linked and useful.",[241,110,171],{"path":176,"title":315,"navTitle":8,"seoTitle":8,"description":316,"type":233,"position":11,"updated":12,"release":13,"related":317,"plans":8},"Shape your workspace","Folder structures that work for people and agents alike, and the handful of habits that keep a workspace easy to navigate as it grows.",[64,171,194],{"path":64,"title":319,"navTitle":8,"seoTitle":8,"description":320,"type":233,"position":30,"updated":12,"release":13,"related":321,"plans":8},"Write your AGENTS.md","The one file every agent reads first. What to put in it so any agent, in any session, works the way your team does.",[176,63,235],{"path":323,"title":324,"navTitle":325,"seoTitle":8,"description":326,"type":24,"position":160,"updated":12,"release":13,"related":327,"plans":8},"\u002Fdocs\u002Fself-hosting","Self-host Treehouse","Self-hosting","Run your own Treehouse server - the architecture, required and optional environment variables, storage and encryption, and connecting clients.",[58,81,124],{"path":109,"title":329,"navTitle":330,"seoTitle":8,"description":331,"type":10,"position":38,"updated":12,"release":13,"related":332,"plans":8},"See what changed in a workspace","Activity","The activity feed shows every change and comment in a workspace, who made it, and whether it came from a person or an agent.",[63,40,162,93],{"path":304,"title":334,"navTitle":335,"seoTitle":8,"description":336,"type":10,"position":48,"updated":12,"release":13,"related":337,"plans":8},"Comment on a document","Comments","Leave comments on passages of a markdown file, reply and resolve threads, and let agents read and act on your feedback.",[88,162,109],{"path":51,"title":339,"navTitle":340,"seoTitle":8,"description":341,"type":10,"position":128,"updated":12,"release":13,"related":342,"plans":8},"Customise your workspace","Customise a workspace","Rename a workspace, give it an icon and colour, create new workspaces, and choose a theme for everyone or just for you.",[15,32],{"path":344,"title":345,"navTitle":8,"seoTitle":8,"description":346,"type":24,"position":38,"updated":12,"release":13,"related":8,"plans":8},"\u002Fdocs\u002Fsharing","Share and collaborate","Invite people into a workspace, share files with anyone by link, comment on documents and see who changed what.",{"path":16,"title":348,"navTitle":349,"seoTitle":8,"description":350,"type":10,"position":30,"updated":12,"release":13,"related":351,"plans":352},"Invite people to a workspace","Invite people","Bring teammates into a workspace with an invite link, see who's a member, and remove people when they no longer need access.",[32,5,40],[18,19],{"path":32,"title":354,"navTitle":355,"seoTitle":8,"description":356,"type":10,"position":11,"updated":12,"release":13,"related":357,"plans":8},"Share a file or folder with a link","Share links","Send members straight to a file, or give anyone read-only access to a file or folder, with an optional password and a pinned version.",[16,42,162,15],{"id":359,"title":116,"body":360,"description":117,"extension":2773,"meta":2774,"navTitle":8,"navigation":2775,"path":81,"plans":8,"position":11,"related":2776,"release":13,"seo":2777,"seoTitle":8,"stem":2778,"type":29,"updated":12,"__hash__":2779},"docs\u002Fdocs\u002Fagents\u002Freference\u002Fmcp-server.md",{"type":361,"value":362,"toc":2734},"minimark",[363,368,440,581,602,606,609,659,665,669,672,680,689,693,763,767,770,773,779,781,784,876,890,893,907,1009,1014,1016,1019,1049,1054,1057,1060,1081,1085,1088,1095,1158,1171,1174,1185,1228,1238,1241,1244,1327,1340,1353,1355,1358,1429,1489,1495,1523,1529,1532,1535,1579,1592,1595,1598,1639,1645,1648,1651,1697,1700,1703,1706,1781,1784,1788,1791,1794,1851,1856,1859,1862,1904,1914,1918,1921,1924,1990,1996,1999,2027,2033,2036,2069,2071,2074,2080,2083,2235,2295,2297,2300,2431,2485,2491,2494,2550,2559,2562,2608,2618,2622,2730],[364,365,367],"h2",{"id":366},"connection","Connection",[369,370,371,384],"table",{},[372,373,374],"thead",{},[375,376,377,381],"tr",{},[378,379,380],"th",{},"Setting",[378,382,383],{},"Value",[385,386,387,399,407,422,430],"tbody",{},[375,388,389,393],{},[390,391,392],"td",{},"Endpoint",[390,394,395],{},[396,397,398],"code",{},"https:\u002F\u002Fapi.trytree.house\u002Fapi\u002Fmcp",[375,400,401,404],{},[390,402,403],{},"Transport",[390,405,406],{},"Streamable HTTP, stateless (no session id), JSON responses",[375,408,409,412],{},[390,410,411],{},"Auth",[390,413,414,417,418,421],{},[396,415,416],{},"x-api-key: \u003Ckey>"," header. ",[396,419,420],{},"Authorization: Bearer"," is not accepted.",[375,423,424,427],{},[390,425,426],{},"OAuth",[390,428,429],{},"Not supported. The key header is the only credential.",[375,431,432,435],{},[390,433,434],{},"Server name",[390,436,437],{},[396,438,439],{},"treehouse",[441,442,448],"pre",{"className":443,"code":444,"filename":445,"language":446,"meta":447,"style":447},"language-json shiki shiki-themes everforest-dark","{\n  \"mcpServers\": {\n    \"treehouse\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fapi.trytree.house\u002Fapi\u002Fmcp\",\n      \"headers\": { \"x-api-key\": \"th_example_key\" }\n    }\n  }\n}\n","mcp.json","json","",[396,449,450,458,477,490,514,533,566,571,576],{"__ignoreMap":447},[451,452,454],"span",{"class":453,"line":30},"line",[451,455,457],{"class":456},"sY0Nt","{\n",[451,459,460,464,468,471,474],{"class":453,"line":11},[451,461,463],{"class":462},"s3WQq","  \"",[451,465,467],{"class":466},"sDOmQ","mcpServers",[451,469,470],{"class":462},"\"",[451,472,473],{"class":462},":",[451,475,476],{"class":456}," {\n",[451,478,479,482,484,486,488],{"class":453,"line":48},[451,480,481],{"class":462},"    \"",[451,483,439],{"class":466},[451,485,470],{"class":462},[451,487,473],{"class":462},[451,489,476],{"class":456},[451,491,492,495,498,500,502,505,509,511],{"class":453,"line":38},[451,493,494],{"class":462},"      \"",[451,496,497],{"class":466},"type",[451,499,470],{"class":462},[451,501,473],{"class":462},[451,503,504],{"class":462}," \"",[451,506,508],{"class":507},"sRC7j","http",[451,510,470],{"class":462},[451,512,513],{"class":462},",\n",[451,515,516,518,521,523,525,527,529,531],{"class":453,"line":128},[451,517,494],{"class":462},[451,519,520],{"class":466},"url",[451,522,470],{"class":462},[451,524,473],{"class":462},[451,526,504],{"class":462},[451,528,398],{"class":507},[451,530,470],{"class":462},[451,532,513],{"class":462},[451,534,535,537,540,542,544,547,549,552,554,556,558,561,563],{"class":453,"line":181},[451,536,494],{"class":462},[451,538,539],{"class":466},"headers",[451,541,470],{"class":462},[451,543,473],{"class":462},[451,545,546],{"class":456}," { ",[451,548,470],{"class":462},[451,550,551],{"class":466},"x-api-key",[451,553,470],{"class":462},[451,555,473],{"class":462},[451,557,504],{"class":462},[451,559,560],{"class":507},"th_example_key",[451,562,470],{"class":462},[451,564,565],{"class":456}," }\n",[451,567,568],{"class":453,"line":25},[451,569,570],{"class":456},"    }\n",[451,572,573],{"class":453,"line":215},[451,574,575],{"class":456},"  }\n",[451,577,578],{"class":453,"line":160},[451,579,580],{"class":456},"}\n",[582,583,584,585,589,590,593,594,597,598,601],"p",{},"The exact configuration format depends on your client; ",[586,587,588],"a",{"href":77},"connect other agents"," has examples. Every tool call is attributed to the key's actor type (",[396,591,592],{},"agent"," or ",[396,595,596],{},"human",") and name, exactly as a REST request would be. See ",[586,599,600],{"href":58},"authentication",".",[364,603,605],{"id":604},"two-tool-sets","Two tool sets",[582,607,608],{},"Which tools a client sees depends on the key it connects with.",[369,610,611,621],{},[372,612,613],{},[375,614,615,618],{},[378,616,617],{},"Key",[378,619,620],{},"Tools",[385,622,623,643],{},[375,624,625,628],{},[390,626,627],{},"Account-wide (created in the web app)",[390,629,630,631,634,635,638,639,642],{},"All the tools below. Every tool except ",[396,632,633],{},"list_workspaces"," and ",[396,636,637],{},"create_workspace"," takes a required ",[396,640,641],{},"workspaceId"," string, checked against your membership on each call.",[375,644,645,648],{},[390,646,647],{},"Workspace-scoped (device flow)",[390,649,650,651,634,653,655,656,658],{},"The same tools without ",[396,652,633],{},[396,654,637],{},", and without a ",[396,657,641],{}," parameter: every call acts on the key's workspace.",[582,660,661,662,664],{},"The parameter tables below omit ",[396,663,641],{},". Add it when you use an account-wide key.",[364,666,668],{"id":667},"server-instructions","Server instructions",[582,670,671],{},"Connected clients receive these instructions with the tool list. They are quoted exactly:",[441,673,678],{"className":674,"code":676,"language":677,"meta":447},[675],"language-text","Treehouse is a shared file workspace for humans and agents. Files are plain bytes; a markdown file may begin with a YAML front-matter block (--- ... ---) carrying metadata.\n\nRead AGENTS.md at the workspace root before doing anything else, if it exists. It carries that workspace's own conventions — how it is organised and what belongs where. In a workspace that has not been set up yet, it instead carries a setup guide: follow it when the user asks you to set up, bootstrap, or organise the workspace.\n\nFront-matter conventions the web UI understands — set them by writing the file, no special API needed:\n- \"date: YYYY-MM-DD\" on a markdown file places it on its folder's Calendar view for that day. Change the date to reschedule it; remove it to take it off the calendar. Only files with a valid date appear there.\n- A folder's README.md (or index.md) front matter can declare \"view: calendar\" to make the folder open as a calendar, and \"title:\" to give the folder a human-readable heading (shown instead of the raw folder name).\n\nAnything the web UI does with front matter is a plain-file operation, so reading and writing files is enough to participate in those. Comments are the exception: they are review threads held by the server, not files, and only the comment tools can see them.\n\nReviewers comment on markdown files by quoting the text they mean — there are no line numbers. When asked to address comments on a file: list_comments for that path, read_file it (note the returned version), write_file your revision with that version as baseVersion, then reply_comment on each thread saying what you changed, and resolve_comment only the threads you actually fixed. Don't resolve what you didn't fix — reply instead. A thread whose anchorStatus is not \"anchored\" refers to text that has since changed: read_file_version at its pinnedVersion to see the document it was written against. Use add_comment to raise a question of your own, quoting the passage it is about.\n","text",[396,679,676],{"__ignoreMap":447},[582,681,682,683,634,686,601],{},"The front-matter conventions are described in ",[586,684,685],{"href":169},"front matter",[586,687,688],{"href":171},"folder pages",[364,690,692],{"id":691},"result-conventions","Result conventions",[694,695,696,711,722,740],"ul",{},[697,698,699,700,703,704,707,708,710],"li",{},"Most tools return a short text summary plus a ",[396,701,702],{},"structuredContent"," object. Read values such as ",[396,705,706],{},"version"," from ",[396,709,702],{},", not by parsing the text: file content can contain anything.",[697,712,713,717,718,721],{},[714,715,716],"strong",{},"Hard errors"," set ",[396,719,720],{},"isError: true"," with a text message: not found, invalid path, file too large, read-only workspace, a refused share, a stale delete, and malformed input. Paths you can't see (another member's private files) are reported as not found.",[697,723,724,727,728,731,732,735,736,739],{},[714,725,726],{},"Recoverable outcomes"," are returned as data with ",[396,729,730],{},"ok: false",", so the agent keeps its work and can retry: a ",[396,733,734],{},"write_file"," version conflict (your content is saved as a conflicted copy), a storage or file-count limit, and an ",[396,737,738],{},"add_comment"," quote that can't be placed.",[697,741,742,743,746,747,750,751,634,753,755,756,759,760,601],{},"Paths are workspace-relative with ",[396,744,745],{},"\u002F"," separators, such as ",[396,748,749],{},"Projects\u002Fplan.md",". A leading ",[396,752,745],{},[396,754,601],{}," segments are ignored; ",[396,757,758],{},"..",", backslashes, null bytes and an empty path are rejected with ",[396,761,762],{},"Invalid path: …",[364,764,766],{"id":765},"workspaces","Workspaces",[768,769,633],"h3",{"id":633},[582,771,772],{},"Lists the workspaces the key can reach. Account-wide keys only. No parameters.",[582,774,775,776,601],{},"Output: ",[396,777,778],{},"{ workspaces: [{ id, name }] }",[768,780,637],{"id":637},[582,782,783],{},"Creates a workspace owned by you, with no other members. Account-wide keys only. Subject to your plan's workspace allowance.",[369,785,786,802],{},[372,787,788],{},[375,789,790,793,796,799],{},[378,791,792],{},"Parameter",[378,794,795],{},"Type",[378,797,798],{},"Required",[378,800,801],{},"Description",[385,803,804,820,838],{},[375,805,806,811,814,817],{},[390,807,808],{},[396,809,810],{},"name",[390,812,813],{},"string",[390,815,816],{},"Yes",[390,818,819],{},"Workspace name.",[375,821,822,827,829,832],{},[390,823,824],{},[396,825,826],{},"icon",[390,828,813],{},[390,830,831],{},"No",[390,833,834,835,601],{},"An emoji or an Iconify name. For an image, create first, then call ",[396,836,837],{},"set_workspace_image_icon",[375,839,840,845,847,849],{},[390,841,842],{},[396,843,844],{},"color",[390,846,813],{},[390,848,831],{},[390,850,851,854,855,854,858,854,861,854,864,854,867,854,870,593,873,601],{},[396,852,853],{},"blue",", ",[396,856,857],{},"violet",[396,859,860],{},"emerald",[396,862,863],{},"amber",[396,865,866],{},"rose",[396,868,869],{},"cyan",[396,871,872],{},"slate",[396,874,875],{},"neutral",[582,877,775,878,881,882,885,886,889],{},[396,879,880],{},"{ id, name }",". New workspaces start with a ",[396,883,884],{},"README.md"," and an ",[396,887,888],{},"AGENTS.md"," setup guide unless the server disables seeding.",[768,891,892],{"id":892},"set_workspace",[582,894,895,896,854,898,593,900,903,904,906],{},"Updates the workspace's display settings. Pass an empty string to clear ",[396,897,826],{},[396,899,844],{},[396,901,902],{},"theme",". An empty ",[396,905,810],{}," is ignored.",[369,908,909,921],{},[372,910,911],{},[375,912,913,915,917,919],{},[378,914,792],{},[378,916,795],{},[378,918,798],{},[378,920,801],{},[385,922,923,936,949,977],{},[375,924,925,929,931,933],{},[390,926,927],{},[396,928,810],{},[390,930,813],{},[390,932,831],{},[390,934,935],{},"New name.",[375,937,938,942,944,946],{},[390,939,940],{},[396,941,826],{},[390,943,813],{},[390,945,831],{},[390,947,948],{},"An emoji or an Iconify name.",[375,950,951,955,957,959],{},[390,952,953],{},[396,954,844],{},[390,956,813],{},[390,958,831],{},[390,960,961,854,963,854,965,854,967,854,969,854,971,854,973,593,975,601],{},[396,962,853],{},[396,964,857],{},[396,966,860],{},[396,968,863],{},[396,970,866],{},[396,972,869],{},[396,974,872],{},[396,976,875],{},[375,978,979,983,985,987],{},[390,980,981],{},[396,982,902],{},[390,984,813],{},[390,986,831],{},[390,988,989,854,992,854,995,854,998,854,1001,854,1004,593,1007,601],{},[396,990,991],{},"light",[396,993,994],{},"dark",[396,996,997],{},"dracula",[396,999,1000],{},"nord",[396,1002,1003],{},"solarized-light",[396,1005,1006],{},"rose-pine",[396,1008,439],{},[582,1010,775,1011,601],{},[396,1012,1013],{},"{ id, name, icon, color, theme }",[768,1015,837],{"id":837},[582,1017,1018],{},"Sets an image as the workspace icon.",[369,1020,1021,1033],{},[372,1022,1023],{},[375,1024,1025,1027,1029,1031],{},[378,1026,792],{},[378,1028,795],{},[378,1030,798],{},[378,1032,801],{},[385,1034,1035],{},[375,1036,1037,1042,1044,1046],{},[390,1038,1039],{},[396,1040,1041],{},"content",[390,1043,813],{},[390,1045,816],{},[390,1047,1048],{},"Base64-encoded PNG, JPEG, GIF or WebP, up to 1 MiB. Square images around 256×256 look best; other shapes are letterboxed, never cropped.",[582,1050,775,1051,601],{},[396,1052,1053],{},"{ id, name, icon }",[768,1055,1056],{"id":1056},"get_usage",[582,1058,1059],{},"Storage and file-count usage against the workspace's plan. No parameters.",[582,1061,775,1062,1065,1066,1069,1070,1073,1074,1077,1078,601],{},[396,1063,1064],{},"{ usedBytes, limitBytes, remainingBytes, warning, usedFiles, limitFiles, remainingFiles }",". Limits and remaining values are ",[396,1067,1068],{},"null"," when unlimited. ",[396,1071,1072],{},"warning"," is ",[396,1075,1076],{},"true"," once the file count reaches 90% of its limit. See ",[586,1079,1080],{"href":15},"plans and limits",[364,1082,1084],{"id":1083},"files","Files",[768,1086,1087],{"id":1087},"list_files",[582,1089,1090,1091,1094],{},"Lists files under an optional folder, sorted by path. Hidden ",[396,1092,1093],{},".keep"," placeholders are omitted.",[369,1096,1097,1109],{},[372,1098,1099],{},[375,1100,1101,1103,1105,1107],{},[378,1102,792],{},[378,1104,795],{},[378,1106,798],{},[378,1108,801],{},[385,1110,1111,1129,1144],{},[375,1112,1113,1118,1120,1122],{},[390,1114,1115],{},[396,1116,1117],{},"prefix",[390,1119,813],{},[390,1121,831],{},[390,1123,1124,1125,1128],{},"Folder to list, such as ",[396,1126,1127],{},"Projects",". Omit for the whole workspace.",[375,1130,1131,1136,1139,1141],{},[390,1132,1133],{},[396,1134,1135],{},"limit",[390,1137,1138],{},"integer",[390,1140,831],{},[390,1142,1143],{},"Maximum entries. Default and maximum 1000.",[375,1145,1146,1151,1153,1155],{},[390,1147,1148],{},[396,1149,1150],{},"offset",[390,1152,1138],{},[390,1154,831],{},[390,1156,1157],{},"Entry to start from, for paging.",[582,1159,1160,1161,1164,1165,1167,1168,601],{},"Output: text only, one line per file in the form ",[396,1162,1163],{},"path\u003CTAB>(v3, 1204 bytes)",". When there are more entries, the last line says how many and which ",[396,1166,1150],{}," to pass next. An empty result is ",[396,1169,1170],{},"(no files)",[768,1172,1173],{"id":1173},"search_files",[582,1175,1176,1177,1180,1181,1184],{},"Fuzzy search over file and folder names and paths, not contents. The characters of the query must appear in order but need not be adjacent: ",[396,1178,1179],{},"clinot"," matches ",[396,1182,1183],{},"Clients\u002Facme\u002Fnotes.md",". Results are ranked best first and there is no paging, so narrow the query instead.",[369,1186,1187,1199],{},[372,1188,1189],{},[375,1190,1191,1193,1195,1197],{},[378,1192,792],{},[378,1194,795],{},[378,1196,798],{},[378,1198,801],{},[385,1200,1201,1215],{},[375,1202,1203,1208,1210,1212],{},[390,1204,1205],{},[396,1206,1207],{},"query",[390,1209,813],{},[390,1211,816],{},[390,1213,1214],{},"Text to match.",[375,1216,1217,1221,1223,1225],{},[390,1218,1219],{},[396,1220,1135],{},[390,1222,1138],{},[390,1224,831],{},[390,1226,1227],{},"Maximum results. Default 50, maximum 200.",[582,1229,775,1230,1233,1234,1237],{},[396,1231,1232],{},"{ results: [{ path, name, isDir }], totalMatches }",". ",[396,1235,1236],{},"totalMatches"," counts every match before the limit. The text summary frames names as untrusted data, because anyone in the workspace can name a file.",[768,1239,1240],{"id":1240},"read_file",[582,1242,1243],{},"Reads a file's current bytes and version.",[369,1245,1246,1258],{},[372,1247,1248],{},[375,1249,1250,1252,1254,1256],{},[378,1251,792],{},[378,1253,795],{},[378,1255,798],{},[378,1257,801],{},[385,1259,1260,1274,1298,1314],{},[375,1261,1262,1267,1269,1271],{},[390,1263,1264],{},[396,1265,1266],{},"path",[390,1268,813],{},[390,1270,816],{},[390,1272,1273],{},"File path.",[375,1275,1276,1281,1283,1285],{},[390,1277,1278],{},[396,1279,1280],{},"encoding",[390,1282,813],{},[390,1284,831],{},[390,1286,1287,1290,1291,1294,1295,1297],{},[396,1288,1289],{},"utf8"," (default) or ",[396,1292,1293],{},"base64",". Use ",[396,1296,1293],{}," for images, PDFs and other binary files.",[375,1299,1300,1305,1307,1309],{},[390,1301,1302],{},[396,1303,1304],{},"maxBytes",[390,1306,1138],{},[390,1308,831],{},[390,1310,1311,1312,601],{},"Read at most this many bytes, starting at ",[396,1313,1150],{},[375,1315,1316,1320,1322,1324],{},[390,1317,1318],{},[396,1319,1150],{},[390,1321,1138],{},[390,1323,831],{},[390,1325,1326],{},"Byte offset to start from.",[582,1328,775,1329,1332,1333,1335,1336,1339],{},[396,1330,1331],{},"{ version, contentType, content }",". Keep ",[396,1334,706],{},": it is the ",[396,1337,1338],{},"baseVersion"," for your next write.",[582,1341,1342,1343,593,1345,1347,1348,1350,1351,601],{},"A single response is capped at 1 MiB. A larger file read without ",[396,1344,1304],{},[396,1346,1150],{}," is refused with its size, and ",[396,1349,1304],{}," above the cap is clamped to it. Read a large file in windows by advancing ",[396,1352,1150],{},[768,1354,734],{"id":734},[582,1356,1357],{},"Creates or updates a file.",[369,1359,1360,1372],{},[372,1361,1362],{},[375,1363,1364,1366,1368,1370],{},[378,1365,792],{},[378,1367,795],{},[378,1369,798],{},[378,1371,801],{},[385,1373,1374,1387,1400,1413],{},[375,1375,1376,1380,1382,1384],{},[390,1377,1378],{},[396,1379,1266],{},[390,1381,813],{},[390,1383,816],{},[390,1385,1386],{},"File path. Missing parent folders are created implicitly.",[375,1388,1389,1393,1395,1397],{},[390,1390,1391],{},[396,1392,1041],{},[390,1394,813],{},[390,1396,816],{},[390,1398,1399],{},"The complete new content.",[375,1401,1402,1406,1408,1410],{},[390,1403,1404],{},[396,1405,1338],{},[390,1407,1138],{},[390,1409,831],{},[390,1411,1412],{},"The version you last read. Omit only when creating a new file.",[375,1414,1415,1419,1421,1423],{},[390,1416,1417],{},[396,1418,1280],{},[390,1420,813],{},[390,1422,831],{},[390,1424,1425,1290,1427,601],{},[396,1426,1289],{},[396,1428,1293],{},[369,1430,1431,1442],{},[372,1432,1433],{},[375,1434,1435,1438],{},[378,1436,1437],{},"Outcome",[378,1439,1440],{},[396,1441,702],{},[385,1443,1444,1454,1468,1479],{},[375,1445,1446,1449],{},[390,1447,1448],{},"Written",[390,1450,1451],{},[396,1452,1453],{},"{ ok: true, version }",[375,1455,1456,1459],{},[390,1457,1458],{},"Version conflict",[390,1460,1461,1464,1465,601],{},[396,1462,1463],{},"{ ok: false, currentVersion, conflictCopyPath }",". Your content was saved at ",[396,1466,1467],{},"conflictCopyPath",[375,1469,1470,1473],{},[390,1471,1472],{},"Storage limit reached",[390,1474,1475,1478],{},[396,1476,1477],{},"{ ok: false, quotaExceeded: true, usedBytes, limitBytes }",". Nothing written.",[375,1480,1481,1484],{},[390,1482,1483],{},"File limit reached",[390,1485,1486,1478],{},[396,1487,1488],{},"{ ok: false, fileCountExceeded: true, usedFiles, limitFiles }",[582,1490,1491,1492,1494],{},"How ",[396,1493,1338],{}," is handled:",[694,1496,1497,1503,1511,1517],{},[697,1498,1499,1502],{},[714,1500,1501],{},"Omitted, path doesn't exist:"," the file is created at version 1.",[697,1504,1505,1508,1509,601],{},[714,1506,1507],{},"Omitted, path exists:"," if your content is byte-for-byte identical, the call succeeds and returns the existing version. If it differs, nothing is overwritten: your content is saved as a conflicted copy and the result is ",[396,1510,730],{},[697,1512,1513,1516],{},[714,1514,1515],{},"Matches the current version:"," the file is updated and the version goes up by one.",[697,1518,1519,1522],{},[714,1520,1521],{},"Stale:"," identical content succeeds without a new version; different content becomes a conflicted copy. If the file was deleted since you read it, your write recreates it at version 1.",[582,1524,1525,1526,1528],{},"A file larger than the workspace's per-file limit is a hard error. A read-only workspace (lapsed subscription) is a hard error. ",[586,1527,90],{"href":87}," explains the rules in full.",[768,1530,1531],{"id":1531},"move_file",[582,1533,1534],{},"Moves or renames one file. Folders are moved by moving their files.",[369,1536,1537,1549],{},[372,1538,1539],{},[375,1540,1541,1543,1545,1547],{},[378,1542,792],{},[378,1544,795],{},[378,1546,798],{},[378,1548,801],{},[385,1550,1551,1565],{},[375,1552,1553,1558,1560,1562],{},[390,1554,1555],{},[396,1556,1557],{},"from",[390,1559,813],{},[390,1561,816],{},[390,1563,1564],{},"Current path.",[375,1566,1567,1572,1574,1576],{},[390,1568,1569],{},[396,1570,1571],{},"to",[390,1573,813],{},[390,1575,816],{},[390,1577,1578],{},"New path.",[582,1580,1581,1582,1584,1585,1587,1588,1591],{},"Output: text only. Fails if ",[396,1583,1571],{}," already exists. There is no ",[396,1586,1338],{},": the move applies to whatever the current version is. The file restarts at ",[714,1589,1590],{},"version 1"," at its new path, and its comment threads move with it. Re-read before writing to the new path.",[768,1593,1594],{"id":1594},"delete_file",[582,1596,1597],{},"Deletes a file.",[369,1599,1600,1612],{},[372,1601,1602],{},[375,1603,1604,1606,1608,1610],{},[378,1605,792],{},[378,1607,795],{},[378,1609,798],{},[378,1611,801],{},[385,1613,1614,1626],{},[375,1615,1616,1620,1622,1624],{},[390,1617,1618],{},[396,1619,1266],{},[390,1621,813],{},[390,1623,816],{},[390,1625,1273],{},[375,1627,1628,1632,1634,1636],{},[390,1629,1630],{},[396,1631,1338],{},[390,1633,1138],{},[390,1635,816],{},[390,1637,1638],{},"The version you last read.",[582,1640,1641,1642,1644],{},"Output: text only. If the file has changed since ",[396,1643,1338],{},", nothing is deleted and the call returns an error naming the current version. Re-read before deciding again.",[768,1646,1647],{"id":1647},"set_file_icon",[582,1649,1650],{},"Sets the icon shown for a file or folder.",[369,1652,1653,1665],{},[372,1654,1655],{},[375,1656,1657,1659,1661,1663],{},[378,1658,792],{},[378,1660,795],{},[378,1662,798],{},[378,1664,801],{},[385,1666,1667,1680],{},[375,1668,1669,1673,1675,1677],{},[390,1670,1671],{},[396,1672,1266],{},[390,1674,813],{},[390,1676,816],{},[390,1678,1679],{},"File or folder path, up to 1024 characters.",[375,1681,1682,1686,1688,1690],{},[390,1683,1684],{},[396,1685,826],{},[390,1687,813],{},[390,1689,831],{},[390,1691,1692,1693,1696],{},"An emoji or an Iconify name such as ",[396,1694,1695],{},"solar:document-bold-duotone",", up to 64 characters. Empty or omitted clears it.",[582,1698,1699],{},"Output: text only.",[768,1701,1702],{"id":1702},"set_private",[582,1704,1705],{},"Makes a file or folder private to the key's owner, or shared again. A private folder hides its whole subtree from other members.",[369,1707,1708,1720],{},[372,1709,1710],{},[375,1711,1712,1714,1716,1718],{},[378,1713,792],{},[378,1715,795],{},[378,1717,798],{},[378,1719,801],{},[385,1721,1722,1734,1760],{},[375,1723,1724,1728,1730,1732],{},[390,1725,1726],{},[396,1727,1266],{},[390,1729,813],{},[390,1731,816],{},[390,1733,1679],{},[375,1735,1736,1741,1743,1745],{},[390,1737,1738],{},[396,1739,1740],{},"kind",[390,1742,813],{},[390,1744,831],{},[390,1746,1747,593,1750,1753,1754,1756,1757,1759],{},[396,1748,1749],{},"file",[396,1751,1752],{},"folder",". Defaults to ",[396,1755,1752],{},", so pass ",[396,1758,1749],{}," for a file.",[375,1761,1762,1767,1770,1772],{},[390,1763,1764],{},[396,1765,1766],{},"private",[390,1768,1769],{},"boolean",[390,1771,831],{},[390,1773,1774,1776,1777,1780],{},[396,1775,1076],{}," (default) to make private, ",[396,1778,1779],{},"false"," to share again.",[582,1782,1783],{},"Output: text only. Only the owner can make a private item shared again.",[364,1785,1787],{"id":1786},"history","History",[768,1789,1790],{"id":1790},"read_file_version",[582,1792,1793],{},"Reads the bytes of an earlier version.",[369,1795,1796,1808],{},[372,1797,1798],{},[375,1799,1800,1802,1804,1806],{},[378,1801,792],{},[378,1803,795],{},[378,1805,798],{},[378,1807,801],{},[385,1809,1810,1822,1835],{},[375,1811,1812,1816,1818,1820],{},[390,1813,1814],{},[396,1815,1266],{},[390,1817,813],{},[390,1819,816],{},[390,1821,1273],{},[375,1823,1824,1828,1830,1832],{},[390,1825,1826],{},[396,1827,706],{},[390,1829,1138],{},[390,1831,816],{},[390,1833,1834],{},"Version number to read.",[375,1836,1837,1841,1843,1845],{},[390,1838,1839],{},[396,1840,1280],{},[390,1842,813],{},[390,1844,831],{},[390,1846,1847,1290,1849,601],{},[396,1848,1289],{},[396,1850,1293],{},[582,1852,775,1853,1855],{},[396,1854,1331],{},". If that version's content isn't available, the call returns an error.",[768,1857,1858],{"id":1858},"restore_file",[582,1860,1861],{},"Restores an earlier version as a new version on top of the history. Nothing is overwritten or removed.",[369,1863,1864,1876],{},[372,1865,1866],{},[375,1867,1868,1870,1872,1874],{},[378,1869,792],{},[378,1871,795],{},[378,1873,798],{},[378,1875,801],{},[385,1877,1878,1890],{},[375,1879,1880,1884,1886,1888],{},[390,1881,1882],{},[396,1883,1266],{},[390,1885,813],{},[390,1887,816],{},[390,1889,1273],{},[375,1891,1892,1897,1899,1901],{},[390,1893,1894],{},[396,1895,1896],{},"targetVersion",[390,1898,1138],{},[390,1900,816],{},[390,1902,1903],{},"The version to bring back.",[582,1905,775,1906,1909,1910,1913],{},[396,1907,1908],{},"{ status: \"ok\", version, restoredFrom }",", or ",[396,1911,1912],{},"{ status: \"conflict\", conflictCopyPath }"," if other writes kept winning and the restored content was saved as a conflicted copy instead.",[364,1915,1917],{"id":1916},"sharing","Sharing",[768,1919,1920],{"id":1920},"create_share",[582,1922,1923],{},"Creates a member link to a file or folder: a link that only workspace members can open.",[369,1925,1926,1938],{},[372,1927,1928],{},[375,1929,1930,1932,1934,1936],{},[378,1931,792],{},[378,1933,795],{},[378,1935,798],{},[378,1937,801],{},[385,1939,1940,1953,1969],{},[375,1941,1942,1946,1948,1950],{},[390,1943,1944],{},[396,1945,1266],{},[390,1947,813],{},[390,1949,816],{},[390,1951,1952],{},"File or folder path.",[375,1954,1955,1959,1961,1963],{},[390,1956,1957],{},[396,1958,1740],{},[390,1960,813],{},[390,1962,816],{},[390,1964,1965,593,1967,601],{},[396,1966,1749],{},[396,1968,1752],{},[375,1970,1971,1976,1978,1980],{},[390,1972,1973],{},[396,1974,1975],{},"access",[390,1977,813],{},[390,1979,831],{},[390,1981,1982,1983,1986,1987,1989],{},"Only ",[396,1984,1985],{},"member"," is accepted. ",[396,1988,13],{}," is refused.",[582,1991,775,1992,1995],{},[396,1993,1994],{},"{ id, path, access, memberUrl }",". Public and password-protected links can only be made by a person signed in to the web app, so a leaked key can't publish your files. Private items can't be shared.",[768,1997,1998],{"id":1998},"list_shares",[369,2000,2001,2013],{},[372,2002,2003],{},[375,2004,2005,2007,2009,2011],{},[378,2006,792],{},[378,2008,795],{},[378,2010,798],{},[378,2012,801],{},[385,2014,2015],{},[375,2016,2017,2021,2023,2025],{},[390,2018,2019],{},[396,2020,1266],{},[390,2022,813],{},[390,2024,816],{},[390,2026,1952],{},[582,2028,775,2029,2032],{},[396,2030,2031],{},"{ shares: [...] }",", the active shares on exactly that path.",[768,2034,2035],{"id":2035},"revoke_share",[369,2037,2038,2050],{},[372,2039,2040],{},[375,2041,2042,2044,2046,2048],{},[378,2043,792],{},[378,2045,795],{},[378,2047,798],{},[378,2049,801],{},[385,2051,2052],{},[375,2053,2054,2059,2061,2063],{},[390,2055,2056],{},[396,2057,2058],{},"shareId",[390,2060,813],{},[390,2062,816],{},[390,2064,2065,2066,601],{},"The share's ",[396,2067,2068],{},"id",[582,2070,1699],{},[364,2072,335],{"id":2073},"comments",[582,2075,2076,2077,2079],{},"Comment threads live on markdown files and are anchored by quoting text, never by line or character position. See ",[586,2078,2073],{"href":304}," for how they look to people.",[768,2081,2082],{"id":2082},"list_comments",[369,2084,2085,2097],{},[372,2086,2087],{},[375,2088,2089,2091,2093,2095],{},[378,2090,792],{},[378,2092,795],{},[378,2094,798],{},[378,2096,801],{},[385,2098,2099,2112,2126,2145,2167,2181,2194,2207,2221],{},[375,2100,2101,2105,2107,2109],{},[390,2102,2103],{},[396,2104,1266],{},[390,2106,813],{},[390,2108,831],{},[390,2110,2111],{},"Only threads on this file.",[375,2113,2114,2119,2121,2123],{},[390,2115,2116],{},[396,2117,2118],{},"threadId",[390,2120,813],{},[390,2122,831],{},[390,2124,2125],{},"Read one thread.",[375,2127,2128,2133,2135,2137],{},[390,2129,2130],{},[396,2131,2132],{},"status",[390,2134,813],{},[390,2136,831],{},[390,2138,2139,593,2142,601],{},[396,2140,2141],{},"open",[396,2143,2144],{},"resolved",[375,2146,2147,2152,2154,2156],{},[390,2148,2149],{},[396,2150,2151],{},"anchorStatus",[390,2153,813],{},[390,2155,831],{},[390,2157,2158,854,2161,593,2164,601],{},[396,2159,2160],{},"anchored",[396,2162,2163],{},"ambiguous",[396,2165,2166],{},"outdated",[375,2168,2169,2174,2176,2178],{},[390,2170,2171],{},[396,2172,2173],{},"author",[390,2175,813],{},[390,2177,831],{},[390,2179,2180],{},"Only threads started by this user id.",[375,2182,2183,2187,2189,2191],{},[390,2184,2185],{},[396,2186,1135],{},[390,2188,1138],{},[390,2190,831],{},[390,2192,2193],{},"Threads per page. Default 50, maximum 200.",[375,2195,2196,2200,2202,2204],{},[390,2197,2198],{},[396,2199,1150],{},[390,2201,1138],{},[390,2203,831],{},[390,2205,2206],{},"Thread to start from.",[375,2208,2209,2214,2216,2218],{},[390,2210,2211],{},[396,2212,2213],{},"entriesLimit",[390,2215,1138],{},[390,2217,831],{},[390,2219,2220],{},"Replies per thread. Default 20, maximum 100.",[375,2222,2223,2228,2230,2232],{},[390,2224,2225],{},[396,2226,2227],{},"entriesOffset",[390,2229,1138],{},[390,2231,831],{},[390,2233,2234],{},"Reply to start from, to read past the first 100.",[582,2236,775,2237,2240,2241,854,2243,854,2245,854,2247,854,2250,854,2253,854,2256,854,2259,2262,2263,2265,2266,2269,2270,854,2272,854,2275,854,2278,2281,2282,1073,2285,2287,2288,2291,2292,2294],{},[396,2238,2239],{},"{ threads, total, more, nextOffset, truncated }",". Each thread has ",[396,2242,2068],{},[396,2244,1266],{},[396,2246,2132],{},[396,2248,2249],{},"anchorKind",[396,2251,2252],{},"quote",[396,2254,2255],{},"contextBefore",[396,2257,2258],{},"contextAfter",[396,2260,2261],{},"currentText"," (the matching text now, or ",[396,2264,1068],{}," once the anchor stops resolving), ",[396,2267,2268],{},"pinnedVersion"," (the version it was written against), ",[396,2271,2151],{},[396,2273,2274],{},"createdBy",[396,2276,2277],{},"entries",[396,2279,2280],{},"entryCount"," and resolution details. ",[396,2283,2284],{},"nextOffset",[396,2286,1068],{}," on the last page. ",[396,2289,2290],{},"truncated: true"," means an ",[396,2293,2151],{}," filter stopped scanning early; narrow the other filters rather than paging.",[768,2296,738],{"id":738},[582,2298,2299],{},"Starts a thread on a markdown file.",[369,2301,2302,2314],{},[372,2303,2304],{},[375,2305,2306,2308,2310,2312],{},[378,2307,792],{},[378,2309,795],{},[378,2311,798],{},[378,2313,801],{},[385,2315,2316,2329,2343,2360,2373,2386,2400,2418],{},[375,2317,2318,2322,2324,2326],{},[390,2319,2320],{},[396,2321,1266],{},[390,2323,813],{},[390,2325,816],{},[390,2327,2328],{},"Markdown file path.",[375,2330,2331,2336,2338,2340],{},[390,2332,2333],{},[396,2334,2335],{},"body",[390,2337,813],{},[390,2339,816],{},[390,2341,2342],{},"The comment, up to 64 KiB.",[375,2344,2345,2349,2351,2357],{},[390,2346,2347],{},[396,2348,2252],{},[390,2350,813],{},[390,2352,2353,2354],{},"For ",[396,2355,2356],{},"range",[390,2358,2359],{},"The exact text being commented on, up to 4 KiB.",[375,2361,2362,2366,2368,2370],{},[390,2363,2364],{},[396,2365,2255],{},[390,2367,813],{},[390,2369,831],{},[390,2371,2372],{},"Text just before the quote (or the point), up to 512 bytes.",[375,2374,2375,2379,2381,2383],{},[390,2376,2377],{},[396,2378,2258],{},[390,2380,813],{},[390,2382,831],{},[390,2384,2385],{},"Text just after, up to 512 bytes.",[375,2387,2388,2393,2395,2397],{},[390,2389,2390],{},[396,2391,2392],{},"occurrence",[390,2394,1138],{},[390,2396,831],{},[390,2398,2399],{},"Which match to use (from 1) when the quote appears more than once.",[375,2401,2402,2406,2408,2410],{},[390,2403,2404],{},[396,2405,1740],{},[390,2407,813],{},[390,2409,831],{},[390,2411,2412,1290,2414,2417],{},[396,2413,2356],{},[396,2415,2416],{},"point",". A point needs both contexts and no quote.",[375,2419,2420,2424,2426,2428],{},[390,2421,2422],{},[396,2423,1338],{},[390,2425,1138],{},[390,2427,831],{},[390,2429,2430],{},"The version you copied the quote from.",[369,2432,2433,2443],{},[372,2434,2435],{},[375,2436,2437,2439],{},[378,2438,1437],{},[378,2440,2441],{},[396,2442,702],{},[385,2444,2445,2455,2465,2475],{},[375,2446,2447,2450],{},[390,2448,2449],{},"Created",[390,2451,2452],{},[396,2453,2454],{},"{ ok: true, thread }",[375,2456,2457,2460],{},[390,2458,2459],{},"Quote appears several times",[390,2461,2462],{},[396,2463,2464],{},"{ ok: false, error: \"anchor_ambiguous\", occurrences }",[375,2466,2467,2470],{},[390,2468,2469],{},"Quote not in the file",[390,2471,2472],{},[396,2473,2474],{},"{ ok: false, error: \"anchor_not_found\" }",[375,2476,2477,2480],{},[390,2478,2479],{},"File changed too much",[390,2481,2482],{},[396,2483,2484],{},"{ ok: false, error: \"base_version_conflict\", baseVersion, currentVersion, reason }",[582,2486,2487,2488,2490],{},"Nothing is created on an ",[396,2489,730],{}," result. A non-markdown file is a hard error.",[768,2492,2493],{"id":2493},"reply_comment",[369,2495,2496,2508],{},[372,2497,2498],{},[375,2499,2500,2502,2504,2506],{},[378,2501,792],{},[378,2503,795],{},[378,2505,798],{},[378,2507,801],{},[385,2509,2510,2523,2536],{},[375,2511,2512,2516,2518,2520],{},[390,2513,2514],{},[396,2515,2118],{},[390,2517,813],{},[390,2519,816],{},[390,2521,2522],{},"The thread.",[375,2524,2525,2529,2531,2533],{},[390,2526,2527],{},[396,2528,2335],{},[390,2530,813],{},[390,2532,816],{},[390,2534,2535],{},"The reply, up to 64 KiB.",[375,2537,2538,2543,2545,2547],{},[390,2539,2540],{},[396,2541,2542],{},"dedupeKey",[390,2544,813],{},[390,2546,831],{},[390,2548,2549],{},"Any string unique to this reply. Send one every time: a retried call with the same key records one reply, not two.",[582,2551,775,2552,1233,2555,2558],{},[396,2553,2554],{},"{ ok: true, entry, deduped }",[396,2556,2557],{},"deduped: true"," means the reply already existed.",[768,2560,2561],{"id":2561},"resolve_comment",[369,2563,2564,2576],{},[372,2565,2566],{},[375,2567,2568,2570,2572,2574],{},[378,2569,792],{},[378,2571,795],{},[378,2573,798],{},[378,2575,801],{},[385,2577,2578,2590],{},[375,2579,2580,2584,2586,2588],{},[390,2581,2582],{},[396,2583,2118],{},[390,2585,813],{},[390,2587,816],{},[390,2589,2522],{},[375,2591,2592,2596,2598,2600],{},[390,2593,2594],{},[396,2595,2144],{},[390,2597,1769],{},[390,2599,816],{},[390,2601,2602,2604,2605,2607],{},[396,2603,1076],{}," to resolve, ",[396,2606,1779],{}," to reopen.",[582,2609,775,2610,2613,2614,2617],{},[396,2611,2612],{},"{ ok: true, resolved, changed, resolvedAt, resolvedAtVersion, resolvedBy }",". Idempotent: ",[396,2615,2616],{},"changed: false"," means it was already in that state.",[364,2619,2621],{"id":2620},"limits","Limits",[369,2623,2624,2633],{},[372,2625,2626],{},[375,2627,2628,2631],{},[378,2629,2630],{},"Limit",[378,2632,383],{},[385,2634,2635,2649,2661,2671,2679,2687,2695,2703,2714,2722],{},[375,2636,2637,2642],{},[390,2638,2639,2641],{},[396,2640,1240],{}," response",[390,2643,2644,2645,634,2647],{},"1 MiB per call; page larger files with ",[396,2646,1304],{},[396,2648,1150],{},[375,2650,2651,2656],{},[390,2652,2653,2655],{},[396,2654,1087],{}," entries",[390,2657,2658,2659],{},"1000 per call; page with ",[396,2660,1150],{},[375,2662,2663,2668],{},[390,2664,2665,2667],{},[396,2666,1173],{}," results",[390,2669,2670],{},"Default 50, maximum 200, no paging",[375,2672,2673,2676],{},[390,2674,2675],{},"File size on write",[390,2677,2678],{},"Your plan's per-file limit",[375,2680,2681,2684],{},[390,2682,2683],{},"Comment body \u002F reply",[390,2685,2686],{},"64 KiB",[375,2688,2689,2692],{},[390,2690,2691],{},"Comment quote",[390,2693,2694],{},"4 KiB",[375,2696,2697,2700],{},[390,2698,2699],{},"Comment context (each side)",[390,2701,2702],{},"512 bytes",[375,2704,2705,2711],{},[390,2706,2707,2708,2710],{},"Threads per ",[396,2709,2082],{}," page",[390,2712,2713],{},"Default 50, maximum 200",[375,2715,2716,2719],{},[390,2717,2718],{},"Replies per thread per page",[390,2720,2721],{},"Default 20, maximum 100",[375,2723,2724,2727],{},[390,2725,2726],{},"Workspace image icon",[390,2728,2729],{},"1 MiB",[2731,2732,2733],"style",{},"html pre.shiki code .sY0Nt, html code.shiki .sY0Nt{--shiki-default:#D3C6AA}html pre.shiki code .s3WQq, html code.shiki .s3WQq{--shiki-default:#859289}html pre.shiki code .sDOmQ, html code.shiki .sDOmQ{--shiki-default:#E69875}html pre.shiki code .sRC7j, html code.shiki .sRC7j{--shiki-default:#A7C080}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":447,"searchDepth":11,"depth":48,"links":2735},[2736,2737,2738,2739,2740,2747,2757,2761,2766,2772],{"id":366,"depth":11,"text":367},{"id":604,"depth":11,"text":605},{"id":667,"depth":11,"text":668},{"id":691,"depth":11,"text":692},{"id":765,"depth":11,"text":766,"children":2741},[2742,2743,2744,2745,2746],{"id":633,"depth":48,"text":633},{"id":637,"depth":48,"text":637},{"id":892,"depth":48,"text":892},{"id":837,"depth":48,"text":837},{"id":1056,"depth":48,"text":1056},{"id":1083,"depth":11,"text":1084,"children":2748},[2749,2750,2751,2752,2753,2754,2755,2756],{"id":1087,"depth":48,"text":1087},{"id":1173,"depth":48,"text":1173},{"id":1240,"depth":48,"text":1240},{"id":734,"depth":48,"text":734},{"id":1531,"depth":48,"text":1531},{"id":1594,"depth":48,"text":1594},{"id":1647,"depth":48,"text":1647},{"id":1702,"depth":48,"text":1702},{"id":1786,"depth":11,"text":1787,"children":2758},[2759,2760],{"id":1790,"depth":48,"text":1790},{"id":1858,"depth":48,"text":1858},{"id":1916,"depth":11,"text":1917,"children":2762},[2763,2764,2765],{"id":1920,"depth":48,"text":1920},{"id":1998,"depth":48,"text":1998},{"id":2035,"depth":48,"text":2035},{"id":2073,"depth":11,"text":335,"children":2767},[2768,2769,2770,2771],{"id":2082,"depth":48,"text":2082},{"id":738,"depth":48,"text":738},{"id":2493,"depth":48,"text":2493},{"id":2561,"depth":48,"text":2561},{"id":2620,"depth":11,"text":2621},"md",{},true,[57,77,87],{"title":116,"description":117},"docs\u002Fagents\u002Freference\u002Fmcp-server","bQLwd2wjogjHEUtQ41c2McjRvLrgb5OUtks_RIZEI4Y",1790706077880]