[{"data":1,"prerenderedAt":888},["ShallowReactive",2],{"navigation_docs":3,"-guide-mcp-servers":104,"-guide-mcp-servers-surround":883},[4,48],{"title":5,"path":6,"stem":7,"children":8,"icon":47},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Registry and paths","\u002Fguide\u002Fregistry","1.guide\u002F02.registry",{"title":16,"path":17,"stem":18},"Running another harness","\u002Fguide\u002Finvoke","1.guide\u002F03.invoke",{"title":20,"path":21,"stem":22},"MCP servers","\u002Fguide\u002Fmcp-servers","1.guide\u002F04.mcp-servers",{"title":24,"path":25,"stem":26},"Instructions files","\u002Fguide\u002Fagents-sync","1.guide\u002F05.agents-sync",{"title":28,"path":29,"stem":30},"CLI","\u002Fguide\u002Fcli","1.guide\u002F06.cli",{"title":32,"path":33,"stem":34},"Agents","\u002Fguide\u002Fagents","1.guide\u002F07.agents",{"title":36,"path":37,"stem":38},"Sessions","\u002Fguide\u002Fsessions","1.guide\u002F08.sessions",{"title":40,"path":41,"stem":42},"Custom harnesses","\u002Fguide\u002Fcustom","1.guide\u002F09.custom",{"title":44,"path":45,"stem":46},"Explorer","\u002Fguide\u002Fexplorer","1.guide\u002F10.explorer","i-solar-book-2-linear",{"title":49,"path":50,"stem":51,"children":52,"icon":103},"Harnesses","\u002Fharnesses","2.harnesses\u002F00.index",[53,55,59,63,67,71,75,79,83,87,91,95,99],{"title":54,"path":50,"stem":51},"Overview",{"title":56,"path":57,"stem":58},"Claude Code","\u002Fharnesses\u002Fclaude","2.harnesses\u002F01.claude",{"title":60,"path":61,"stem":62},"Codex CLI","\u002Fharnesses\u002Fcodex","2.harnesses\u002F02.codex",{"title":64,"path":65,"stem":66},"Gemini CLI","\u002Fharnesses\u002Fgemini","2.harnesses\u002F03.gemini",{"title":68,"path":69,"stem":70},"Antigravity CLI","\u002Fharnesses\u002Fantigravity","2.harnesses\u002F04.antigravity",{"title":72,"path":73,"stem":74},"Grok CLI","\u002Fharnesses\u002Fgrok","2.harnesses\u002F05.grok",{"title":76,"path":77,"stem":78},"OpenCode","\u002Fharnesses\u002Fopencode","2.harnesses\u002F06.opencode",{"title":80,"path":81,"stem":82},"Pi","\u002Fharnesses\u002Fpi","2.harnesses\u002F07.pi",{"title":84,"path":85,"stem":86},"OMP","\u002Fharnesses\u002Fomp","2.harnesses\u002F08.omp",{"title":88,"path":89,"stem":90},"Cursor","\u002Fharnesses\u002Fcursor","2.harnesses\u002F09.cursor",{"title":92,"path":93,"stem":94},"GitHub Copilot","\u002Fharnesses\u002Fgithub-copilot","2.harnesses\u002F10.github-copilot",{"title":96,"path":97,"stem":98},"Mastra Code","\u002Fharnesses\u002Fmastracode","2.harnesses\u002F11.mastracode",{"title":100,"path":101,"stem":102},"Freebuff","\u002Fharnesses\u002Ffreebuff","2.harnesses\u002F12.freebuff","i-solar-library-linear",{"id":105,"title":20,"body":106,"description":876,"extension":877,"links":878,"meta":879,"navigation":181,"path":21,"seo":881,"stem":22,"__hash__":882},"docs\u002F1.guide\u002F04.mcp-servers.md",{"type":107,"value":108,"toc":870},"minimark",[109,114,123,295,324,328,523,533,537,547,593,671,683,702,706,842,866],[110,111,113],"h2",{"id":112},"four-dialects-one-shape","Four dialects, one shape",[115,116,117,118,122],"p",{},"Each harness keeps its MCP servers in its own file and its own shape. Claude, Codex, Gemini, Grok, Pi's cousins and most others use the ",[119,120,121],"code",{},"{ command, args, env, url }"," family, in JSON or TOML. OpenCode nests them differently, Copilot reads the VS Code file, Antigravity has its own. The registry records the file, the format, the object key and the dialect per harness; the library reads and writes through that:",[124,125,130],"pre",{"className":126,"code":127,"language":128,"meta":129,"style":129},"language-ts shiki shiki-themes github-light github-light poimandres","import { getHarness, listMcpServers } from \"@agntn\u002Fharnesses\";\n\nfor (const listing of listMcpServers(getHarness(\"codex\"))) {\n  listing.path; \u002F\u002F \"\u002Fhome\u002Fdev\u002F.codex\u002Fconfig.toml\"\n  listing.exists; \u002F\u002F false when the file is not there yet\n  listing.servers; \u002F\u002F McpServerConfig[]: { name, transport, command?, args?, env?, url?, headers?, enabled? }\n  listing.error; \u002F\u002F set when the file exists but would not parse\n}\n","ts","",[119,131,132,176,183,224,244,259,274,289],{"__ignoreMap":129},[133,134,137,141,145,149,152,155,158,162,166,170,173],"span",{"class":135,"line":136},"line",1,[133,138,140],{"class":139},"sP0CR","import",[133,142,144],{"class":143},"sKlNE"," {",[133,146,148],{"class":147},"snHMy"," getHarness",[133,150,151],{"class":143},",",[133,153,154],{"class":147}," listMcpServers",[133,156,157],{"class":143}," }",[133,159,161],{"class":160},"stCPd"," from",[133,163,165],{"class":164},"scVjq"," \"",[133,167,169],{"class":168},"sQ7BG","@agntn\u002Fharnesses",[133,171,172],{"class":164},"\"",[133,174,175],{"class":143},";\n",[133,177,179],{"class":135,"line":178},2,[133,180,182],{"emptyLinePlaceholder":181},true,"\n",[133,184,186,189,192,196,200,203,206,209,212,214,216,219,221],{"class":135,"line":185},3,[133,187,188],{"class":160},"for",[133,190,191],{"class":143}," (",[133,193,195],{"class":194},"s1TYA","const",[133,197,199],{"class":198},"saoiD"," listing",[133,201,202],{"class":194}," of",[133,204,154],{"class":205},"sULi6",[133,207,208],{"class":143},"(",[133,210,211],{"class":205},"getHarness",[133,213,208],{"class":143},[133,215,172],{"class":164},[133,217,218],{"class":168},"codex",[133,220,172],{"class":164},[133,222,223],{"class":143},"))) {\n",[133,225,227,231,234,237,240],{"class":135,"line":226},4,[133,228,230],{"class":229},"spVlQ","  listing",[133,232,233],{"class":143},".",[133,235,236],{"class":229},"path",[133,238,239],{"class":143},"; ",[133,241,243],{"class":242},"sjhu3","\u002F\u002F \"\u002Fhome\u002Fdev\u002F.codex\u002Fconfig.toml\"\n",[133,245,247,249,251,254,256],{"class":135,"line":246},5,[133,248,230],{"class":229},[133,250,233],{"class":143},[133,252,253],{"class":229},"exists",[133,255,239],{"class":143},[133,257,258],{"class":242},"\u002F\u002F false when the file is not there yet\n",[133,260,262,264,266,269,271],{"class":135,"line":261},6,[133,263,230],{"class":229},[133,265,233],{"class":143},[133,267,268],{"class":229},"servers",[133,270,239],{"class":143},[133,272,273],{"class":242},"\u002F\u002F McpServerConfig[]: { name, transport, command?, args?, env?, url?, headers?, enabled? }\n",[133,275,277,279,281,284,286],{"class":135,"line":276},7,[133,278,230],{"class":229},[133,280,233],{"class":143},[133,282,283],{"class":229},"error",[133,285,239],{"class":143},[133,287,288],{"class":242},"\u002F\u002F set when the file exists but would not parse\n",[133,290,292],{"class":135,"line":291},8,[133,293,294],{"class":143},"}\n",[115,296,297,300,301,304,305,308,309,312,313,308,316,319,320,323],{},[119,298,299],{},"transport"," is ",[119,302,303],{},"stdio",", ",[119,306,307],{},"http"," or ",[119,310,311],{},"sse",", inferred from ",[119,314,315],{},"command",[119,317,318],{},"url"," when the file doesn't say. ",[119,321,322],{},"enabled"," is present only for harnesses that track an on\u002Foff state per server. Unparseable files are reported, not thrown, so one broken TOML doesn't hide the other eleven harnesses.",[110,325,327],{"id":326},"add-and-remove","Add and remove",[124,329,331],{"className":126,"code":330,"language":128,"meta":129,"style":129},"import { addMcpServer, removeMcpServer } from \"@agntn\u002Fharnesses\";\n\naddMcpServer(getHarness(\"omp\"), {\n  name: \"probe\",\n  transport: \"stdio\",\n  command: \"node\",\n  args: [\"srv.mjs\", \"mcp\"],\n});\n\u002F\u002F { path: \"\u002Fhome\u002Fdev\u002F.omp\u002Fagent\u002Fmcp.json\", replaced: false }\n\nremoveMcpServer(getHarness(\"omp\"), \"probe\", \"user\");\n\u002F\u002F { path: \"...\", removed: true }\n",[119,332,333,359,363,384,402,417,433,462,467,473,478,517],{"__ignoreMap":129},[133,334,335,337,339,342,344,347,349,351,353,355,357],{"class":135,"line":136},[133,336,140],{"class":139},[133,338,144],{"class":143},[133,340,341],{"class":147}," addMcpServer",[133,343,151],{"class":143},[133,345,346],{"class":147}," removeMcpServer",[133,348,157],{"class":143},[133,350,161],{"class":160},[133,352,165],{"class":164},[133,354,169],{"class":168},[133,356,172],{"class":164},[133,358,175],{"class":143},[133,360,361],{"class":135,"line":178},[133,362,182],{"emptyLinePlaceholder":181},[133,364,365,368,370,372,374,376,379,381],{"class":135,"line":185},[133,366,367],{"class":205},"addMcpServer",[133,369,208],{"class":143},[133,371,211],{"class":205},[133,373,208],{"class":143},[133,375,172],{"class":164},[133,377,378],{"class":168},"omp",[133,380,172],{"class":164},[133,382,383],{"class":143},"), {\n",[133,385,386,389,392,394,397,399],{"class":135,"line":226},[133,387,388],{"class":147},"  name",[133,390,391],{"class":143},":",[133,393,165],{"class":164},[133,395,396],{"class":168},"probe",[133,398,172],{"class":164},[133,400,401],{"class":143},",\n",[133,403,404,407,409,411,413,415],{"class":135,"line":246},[133,405,406],{"class":147},"  transport",[133,408,391],{"class":143},[133,410,165],{"class":164},[133,412,303],{"class":168},[133,414,172],{"class":164},[133,416,401],{"class":143},[133,418,419,422,424,426,429,431],{"class":135,"line":261},[133,420,421],{"class":147},"  command",[133,423,391],{"class":143},[133,425,165],{"class":164},[133,427,428],{"class":168},"node",[133,430,172],{"class":164},[133,432,401],{"class":143},[133,434,435,438,440,443,445,448,450,452,454,457,459],{"class":135,"line":276},[133,436,437],{"class":147},"  args",[133,439,391],{"class":143},[133,441,442],{"class":143}," [",[133,444,172],{"class":164},[133,446,447],{"class":168},"srv.mjs",[133,449,172],{"class":164},[133,451,151],{"class":143},[133,453,165],{"class":164},[133,455,456],{"class":168},"mcp",[133,458,172],{"class":164},[133,460,461],{"class":143},"],\n",[133,463,464],{"class":135,"line":291},[133,465,466],{"class":143},"});\n",[133,468,470],{"class":135,"line":469},9,[133,471,472],{"class":242},"\u002F\u002F { path: \"\u002Fhome\u002Fdev\u002F.omp\u002Fagent\u002Fmcp.json\", replaced: false }\n",[133,474,476],{"class":135,"line":475},10,[133,477,182],{"emptyLinePlaceholder":181},[133,479,481,484,486,488,490,492,494,496,499,501,503,505,507,509,512,514],{"class":135,"line":480},11,[133,482,483],{"class":205},"removeMcpServer",[133,485,208],{"class":143},[133,487,211],{"class":205},[133,489,208],{"class":143},[133,491,172],{"class":164},[133,493,378],{"class":168},[133,495,172],{"class":164},[133,497,498],{"class":143},"), ",[133,500,172],{"class":164},[133,502,396],{"class":168},[133,504,172],{"class":164},[133,506,304],{"class":143},[133,508,172],{"class":164},[133,510,511],{"class":168},"user",[133,513,172],{"class":164},[133,515,516],{"class":143},");\n",[133,518,520],{"class":135,"line":519},12,[133,521,522],{"class":242},"\u002F\u002F { path: \"...\", removed: true }\n",[115,524,525,526,528,529,532],{},"Scope is ",[119,527,511],{}," by default, ",[119,530,531],{},"project"," targets the project file. JSON files are rewritten whole, atomically. TOML files get a surgical edit: the server's table is inserted, replaced or removed and everything else, comments included, stays byte for byte. A harness without a config file for that scope throws before touching anything.",[110,534,536],{"id":535},"sync-from-one-file","Sync from one file",[115,538,539,542,543,546],{},[119,540,541],{},"~\u002F.config\u002Fagntn\u002Fmcp.jsonc"," is the master list. ",[119,544,545],{},"$XDG_CONFIG_HOME"," is honoured. JSONC, so comments are fine.",[124,548,552],{"className":549,"code":550,"language":551,"meta":129,"style":129},"language-jsonc shiki shiki-themes github-light github-light poimandres","{\n  \"excludes\": [\"codex\"],\n  \"mcpServers\": {\n    \"harnesses\": { \"command\": \"npx\", \"args\": [\"-y\", \"@agntn\u002Fharnesses\", \"mcp\"] },\n    \"wiki\": { \"command\": \"~\u002F.local\u002Fbin\u002Fwiki-mcp\", \"env\": { \"WIKI_ROOT\": \"${HOME}\u002Fwiki\" } },\n    \"remote\": { \"url\": \"https:\u002F\u002Fexample.test\u002Fmcp\", \"headers\": { \"Authorization\": \"Bearer …\" } }\n  }\n}\n","jsonc",[119,553,554,559,564,569,574,579,584,589],{"__ignoreMap":129},[133,555,556],{"class":135,"line":136},[133,557,558],{},"{\n",[133,560,561],{"class":135,"line":178},[133,562,563],{},"  \"excludes\": [\"codex\"],\n",[133,565,566],{"class":135,"line":185},[133,567,568],{},"  \"mcpServers\": {\n",[133,570,571],{"class":135,"line":226},[133,572,573],{},"    \"harnesses\": { \"command\": \"npx\", \"args\": [\"-y\", \"@agntn\u002Fharnesses\", \"mcp\"] },\n",[133,575,576],{"class":135,"line":246},[133,577,578],{},"    \"wiki\": { \"command\": \"~\u002F.local\u002Fbin\u002Fwiki-mcp\", \"env\": { \"WIKI_ROOT\": \"${HOME}\u002Fwiki\" } },\n",[133,580,581],{"class":135,"line":261},[133,582,583],{},"    \"remote\": { \"url\": \"https:\u002F\u002Fexample.test\u002Fmcp\", \"headers\": { \"Authorization\": \"Bearer …\" } }\n",[133,585,586],{"class":135,"line":276},[133,587,588],{},"  }\n",[133,590,591],{"class":135,"line":291},[133,592,294],{},[124,594,596],{"className":126,"code":595,"language":128,"meta":129,"style":129},"import { getAllHarnesses, syncMcpServers } from \"@agntn\u002Fharnesses\";\n\nconst report = syncMcpServers(getAllHarnesses());\nreport.targets[0]; \u002F\u002F { id, path, results: [{ name, action: \"added\" | \"replaced\" | \"removed\" | \"unchanged\" }] }\n",[119,597,598,624,628,648],{"__ignoreMap":129},[133,599,600,602,604,607,609,612,614,616,618,620,622],{"class":135,"line":136},[133,601,140],{"class":139},[133,603,144],{"class":143},[133,605,606],{"class":147}," getAllHarnesses",[133,608,151],{"class":143},[133,610,611],{"class":147}," syncMcpServers",[133,613,157],{"class":143},[133,615,161],{"class":160},[133,617,165],{"class":164},[133,619,169],{"class":168},[133,621,172],{"class":164},[133,623,175],{"class":143},[133,625,626],{"class":135,"line":178},[133,627,182],{"emptyLinePlaceholder":181},[133,629,630,632,635,638,640,642,645],{"class":135,"line":185},[133,631,195],{"class":194},[133,633,634],{"class":198}," report",[133,636,637],{"class":194}," =",[133,639,611],{"class":205},[133,641,208],{"class":143},[133,643,644],{"class":205},"getAllHarnesses",[133,646,647],{"class":143},"());\n",[133,649,650,653,655,658,661,665,668],{"class":135,"line":226},[133,651,652],{"class":229},"report",[133,654,233],{"class":143},[133,656,657],{"class":229},"targets",[133,659,660],{"class":143},"[",[133,662,664],{"class":663},"siHFe","0",[133,666,667],{"class":143},"]; ",[133,669,670],{"class":242},"\u002F\u002F { id, path, results: [{ name, action: \"added\" | \"replaced\" | \"removed\" | \"unchanged\" }] }\n",[115,672,673,674,678,679,682],{},"The rule is ",[675,676,677],"em",{},"exactly this list",". For every harness with a user scope config file, servers on the master list are added or replaced, and servers not on it are removed. A harness under ",[119,680,681],{},"excludes"," keeps its own servers, but names on the master list are withdrawn from it, so a name means the same thing everywhere. Harnesses with no known config file are reported as skipped.",[115,684,685,688,689,692,693,304,695,688,698,701],{},[119,686,687],{},"~"," and ",[119,690,691],{},"${HOME}"," in ",[119,694,315],{},[119,696,697],{},"args",[119,699,700],{},"env"," values expand to absolute paths at sync time. Harnesses spawn MCP servers without a shell, so a tilde in the written config is a server that never starts, and the error message on the harness side rarely says so.",[110,703,705],{"id":704},"in-the-cli","In the CLI",[124,707,711],{"className":708,"code":709,"language":710,"meta":129,"style":129},"language-bash shiki shiki-themes github-light github-light poimandres","harnesses mcp-servers list                 # every harness, every file\nharnesses mcp-servers list codex --json\nharnesses mcp-servers add omp probe --command node --args \"srv.mjs mcp\"\nharnesses mcp-servers add pi remote --url https:\u002F\u002Fexample.test\u002Fmcp --scope project\nharnesses mcp-servers remove omp probe\nharnesses mcp-servers sync                 # all harnesses\nharnesses mcp-servers sync gemini          # one\n","bash",[119,712,713,729,744,776,802,816,828],{"__ignoreMap":129},[133,714,715,719,723,726],{"class":135,"line":136},[133,716,718],{"class":717},"sseY5","harnesses",[133,720,722],{"class":721},"sX7Zv"," mcp-servers",[133,724,725],{"class":721}," list",[133,727,728],{"class":242},"                 # every harness, every file\n",[133,730,731,733,735,737,740],{"class":135,"line":178},[133,732,718],{"class":717},[133,734,722],{"class":721},[133,736,725],{"class":721},[133,738,739],{"class":721}," codex",[133,741,743],{"class":742},"sqT1Y"," --json\n",[133,745,746,748,750,753,756,759,762,765,768,770,773],{"class":135,"line":185},[133,747,718],{"class":717},[133,749,722],{"class":721},[133,751,752],{"class":721}," add",[133,754,755],{"class":721}," omp",[133,757,758],{"class":721}," probe",[133,760,761],{"class":742}," --command",[133,763,764],{"class":721}," node",[133,766,767],{"class":742}," --args",[133,769,165],{"class":164},[133,771,772],{"class":168},"srv.mjs mcp",[133,774,775],{"class":164},"\"\n",[133,777,778,780,782,784,787,790,793,796,799],{"class":135,"line":226},[133,779,718],{"class":717},[133,781,722],{"class":721},[133,783,752],{"class":721},[133,785,786],{"class":721}," pi",[133,788,789],{"class":721}," remote",[133,791,792],{"class":742}," --url",[133,794,795],{"class":721}," https:\u002F\u002Fexample.test\u002Fmcp",[133,797,798],{"class":742}," --scope",[133,800,801],{"class":721}," project\n",[133,803,804,806,808,811,813],{"class":135,"line":246},[133,805,718],{"class":717},[133,807,722],{"class":721},[133,809,810],{"class":721}," remove",[133,812,755],{"class":721},[133,814,815],{"class":721}," probe\n",[133,817,818,820,822,825],{"class":135,"line":261},[133,819,718],{"class":717},[133,821,722],{"class":721},[133,823,824],{"class":721}," sync",[133,826,827],{"class":242},"                 # all harnesses\n",[133,829,830,832,834,836,839],{"class":135,"line":276},[133,831,718],{"class":717},[133,833,722],{"class":721},[133,835,824],{"class":721},[133,837,838],{"class":721}," gemini",[133,840,841],{"class":242},"          # one\n",[115,843,844,847,848,851,852,688,854,857,858,861,862,865],{},[119,845,846],{},"list"," in the CLI and the ",[119,849,850],{},"harnesses_mcp_list"," tool replace every ",[119,853,700],{},[119,855,856],{},"headers"," value with ",[119,859,860],{},"\u003Credacted>","; a token in an MCP config is still a token. The library's ",[119,863,864],{},"listMcpServers"," keeps them, because an edit has to write them back.",[867,868,869],"style",{},"html pre.shiki code .sP0CR, html code.shiki .sP0CR{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7}html pre.shiki code .sKlNE, html code.shiki .sKlNE{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#A6ACCD}html pre.shiki code .snHMy, html code.shiki .snHMy{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#ADD7FF}html pre.shiki code .stCPd, html code.shiki .stCPd{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#A6ACCD}html pre.shiki code .scVjq, html code.shiki .scVjq{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#A6ACCD}html pre.shiki code .sQ7BG, html code.shiki .sQ7BG{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#5DE4C7}html pre.shiki code .s1TYA, html code.shiki .s1TYA{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#91B4D5}html pre.shiki code .saoiD, html code.shiki .saoiD{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#E4F0FB}html pre.shiki code .sULi6, html code.shiki .sULi6{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#E4F0FBD0}html pre.shiki code .spVlQ, html code.shiki .spVlQ{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E4F0FB}html pre.shiki code .sjhu3, html code.shiki .sjhu3{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#767C9DB0;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .siHFe, html code.shiki .siHFe{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#5DE4C7}html pre.shiki code .sseY5, html code.shiki .sseY5{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#91B4D5}html pre.shiki code .sX7Zv, html code.shiki .sX7Zv{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#ADD7FF}html pre.shiki code .sqT1Y, html code.shiki .sqT1Y{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#ADD7FF}",{"title":129,"searchDepth":178,"depth":178,"links":871},[872,873,874,875],{"id":112,"depth":178,"text":113},{"id":326,"depth":178,"text":327},{"id":535,"depth":178,"text":536},{"id":704,"depth":178,"text":705},"Read every harness's MCP list in one shape, edit one entry, or reset them all to a master file.","md",null,{"icon":880},"i-solar-server-linear",{"title":20,"description":876},"U241kKnX4LcGh5tWHHKOPOWeuM30wRMCAH6MYeWD3JA",[884,886],{"title":16,"path":17,"stem":18,"description":885,"children":-1},"One invoke call, six modes without fallback, timeouts that clean up the whole process group, native model listing.",{"title":24,"path":25,"stem":26,"description":887,"children":-1},"One AGENTS.md behind every harness's global CLAUDE.md, GEMINI.md and AGENTS.md, as symlinks, with a doctor mode.",1788622197937]