[{"data":1,"prerenderedAt":1315},["ShallowReactive",2],{"docs:/docs/agents/mcp-setup":3},{"id":4,"title":5,"body":6,"description":1308,"extension":1309,"meta":1310,"navigation":398,"path":1311,"seo":1312,"stem":1313,"__hash__":1314},"docs/docs/agents/mcp-setup.md","MCP Setup for AI Agents",{"type":7,"value":8,"toc":1286},"minimark",[9,13,22,44,49,74,78,93,192,198,214,218,225,287,291,313,320,574,578,646,650,657,662,726,730,792,796,858,862,934,938,970,974,1056,1060,1112,1116,1138,1142,1166,1170,1173,1181,1185,1203,1209,1218,1222,1225,1275,1282],[10,11,5],"h1",{"id":12},"mcp-setup-for-ai-agents",[14,15,16,17,21],"p",{},"NoLag provides a ",[18,19,20],"strong",{},"Model Context Protocol (MCP)"," server that lets AI agents manage your real-time infrastructure directly. Connect Claude Desktop, Cursor, or any MCP-compatible client to create apps, rooms, actors, publish messages, and dispatch tasks, all through natural language.",[23,24,26],"callout",{"type":25},"info",[14,27,28,31,32,39,40,43],{},[18,29,30],{},"Prerequisites."," You need a NoLag account with a project-scoped API key. Create one in the ",[33,34,38],"a",{"href":35,"rel":36},"https://portal.nolag.app",[37],"nofollow","Portal",": open your project and go to ",[18,41,42],{},"API Keys",". The secret half is shown once.",[45,46,48],"h2",{"id":47},"quick-start","Quick Start",[50,51,52,60,68,71],"ol",{},[53,54,55,56],"li",{},"Create a project in the ",[33,57,59],{"href":35,"rel":58},[37],"NoLag Portal",[53,61,62,63,67],{},"Generate a project-scoped API key (format: ",[64,65,66],"code",{},"nlg_live_yourKeyId.yourSecret",")",[53,69,70],{},"Add the NoLag MCP server to your AI client's configuration (see below)",[53,72,73],{},"Ask your AI agent to \"list my NoLag apps\" or \"create an agent actor\" to verify",[45,75,77],{"id":76},"claude-desktop-claude-code","Claude Desktop / Claude Code",[14,79,80,81,84,85,88,89,92],{},"Add this to your configuration file (",[64,82,83],{},"~/Library/Application Support/Claude/claude_desktop_config.json"," on macOS, ",[64,86,87],{},"%APPDATA%\\Claude\\claude_desktop_config.json"," on Windows for Claude Desktop, or ",[64,90,91],{},".mcp.json"," in your project root for Claude Code):",[94,95,100],"pre",{"className":96,"code":97,"language":98,"meta":99,"style":99},"language-json shiki shiki-themes github-light github-dark","{\n  \"mcpServers\": {\n    \"nolag\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"mcp-remote\",\n        \"https://api.nolag.app/mcp/sse?token=nlg_live_yourKeyId.yourSecret\"\n      ]\n    }\n  }\n}\n","json","",[64,101,102,111,121,129,145,154,162,168,174,180,186],{"__ignoreMap":99},[103,104,107],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"sVt8B","{\n",[103,112,114,118],{"class":105,"line":113},2,[103,115,117],{"class":116},"sj4cs","  \"mcpServers\"",[103,119,120],{"class":109},": {\n",[103,122,124,127],{"class":105,"line":123},3,[103,125,126],{"class":116},"    \"nolag\"",[103,128,120],{"class":109},[103,130,132,135,138,142],{"class":105,"line":131},4,[103,133,134],{"class":116},"      \"command\"",[103,136,137],{"class":109},": ",[103,139,141],{"class":140},"sZZnC","\"npx\"",[103,143,144],{"class":109},",\n",[103,146,148,151],{"class":105,"line":147},5,[103,149,150],{"class":116},"      \"args\"",[103,152,153],{"class":109},": [\n",[103,155,157,160],{"class":105,"line":156},6,[103,158,159],{"class":140},"        \"mcp-remote\"",[103,161,144],{"class":109},[103,163,165],{"class":105,"line":164},7,[103,166,167],{"class":140},"        \"https://api.nolag.app/mcp/sse?token=nlg_live_yourKeyId.yourSecret\"\n",[103,169,171],{"class":105,"line":170},8,[103,172,173],{"class":109},"      ]\n",[103,175,177],{"class":105,"line":176},9,[103,178,179],{"class":109},"    }\n",[103,181,183],{"class":105,"line":182},10,[103,184,185],{"class":109},"  }\n",[103,187,189],{"class":105,"line":188},11,[103,190,191],{"class":109},"}\n",[14,193,194,195,197],{},"Replace ",[64,196,66],{}," with your actual API key.",[23,199,200],{"type":25},[14,201,202,205,206,209,210,213],{},[18,203,204],{},"Note."," ",[64,207,208],{},"mcp-remote"," is a third-party npm package that bridges the SSE transport to stdio for clients that only speak stdio. ",[64,211,212],{},"npx"," installs it on first run.",[45,215,217],{"id":216},"cursor","Cursor",[14,219,220,221,224],{},"Add this to your Cursor MCP configuration (",[64,222,223],{},".cursor/mcp.json","):",[94,226,227],{"className":96,"code":97,"language":98,"meta":99,"style":99},[64,228,229,233,239,245,255,261,267,271,275,279,283],{"__ignoreMap":99},[103,230,231],{"class":105,"line":106},[103,232,110],{"class":109},[103,234,235,237],{"class":105,"line":113},[103,236,117],{"class":116},[103,238,120],{"class":109},[103,240,241,243],{"class":105,"line":123},[103,242,126],{"class":116},[103,244,120],{"class":109},[103,246,247,249,251,253],{"class":105,"line":131},[103,248,134],{"class":116},[103,250,137],{"class":109},[103,252,141],{"class":140},[103,254,144],{"class":109},[103,256,257,259],{"class":105,"line":147},[103,258,150],{"class":116},[103,260,153],{"class":109},[103,262,263,265],{"class":105,"line":156},[103,264,159],{"class":140},[103,266,144],{"class":109},[103,268,269],{"class":105,"line":164},[103,270,167],{"class":140},[103,272,273],{"class":105,"line":170},[103,274,173],{"class":109},[103,276,277],{"class":105,"line":176},[103,278,179],{"class":109},[103,280,281],{"class":105,"line":182},[103,282,185],{"class":109},[103,284,285],{"class":105,"line":188},[103,286,191],{"class":109},[45,288,290],{"id":289},"custom-mcp-clients-http","Custom MCP Clients (HTTP)",[14,292,293,294,297,298,301,302,305,306,297,309,312],{},"NoLag supports both ",[18,295,296],{},"SSE transport"," (",[64,299,300],{},"GET /mcp/sse",", with tool calls posted to the ",[64,303,304],{},"/mcp/message"," URL the stream announces) and ",[18,307,308],{},"plain HTTP",[64,310,311],{},"POST /mcp",") for MCP. Use SSE for streaming clients; use HTTP for simple request/response integrations.",[14,314,315,316,319],{},"The handshake and the tool catalog are public. Only ",[64,317,318],{},"tools/call"," needs your key.",[94,321,325],{"className":322,"code":323,"language":324,"meta":99,"style":99},"language-bash shiki shiki-themes github-light github-dark","# Initialize session (no key needed)\ncurl -X POST https://api.nolag.app/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"1\",\n    \"method\": \"initialize\",\n    \"params\": {}\n  }'\n\n# List available tools (no key needed)\ncurl -X POST https://api.nolag.app/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"2\",\n    \"method\": \"tools/list\",\n    \"params\": {}\n  }'\n\n# Create an agent actor (key required)\ncurl -X POST https://api.nolag.app/mcp \\\n  -H \"Authorization: Bearer nlg_live_yourKeyId.yourSecret\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"3\",\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"nolag_create_agent\",\n      \"arguments\": {\n        \"name\": \"my-first-agent\",\n        \"capabilities\": [\"drafting\", \"research\"]\n      }\n    }\n  }'\n","bash",[64,326,327,333,351,361,369,374,379,384,389,394,400,405,418,427,434,439,445,451,456,461,466,472,485,495,504,511,516,522,528,534,540,546,552,558,564,569],{"__ignoreMap":99},[103,328,329],{"class":105,"line":106},[103,330,332],{"class":331},"sJ8bj","# Initialize session (no key needed)\n",[103,334,335,339,342,345,348],{"class":105,"line":113},[103,336,338],{"class":337},"sScJk","curl",[103,340,341],{"class":116}," -X",[103,343,344],{"class":140}," POST",[103,346,347],{"class":140}," https://api.nolag.app/mcp",[103,349,350],{"class":116}," \\\n",[103,352,353,356,359],{"class":105,"line":123},[103,354,355],{"class":116},"  -H",[103,357,358],{"class":140}," \"Content-Type: application/json\"",[103,360,350],{"class":116},[103,362,363,366],{"class":105,"line":131},[103,364,365],{"class":116},"  -d",[103,367,368],{"class":140}," '{\n",[103,370,371],{"class":105,"line":147},[103,372,373],{"class":140},"    \"jsonrpc\": \"2.0\",\n",[103,375,376],{"class":105,"line":156},[103,377,378],{"class":140},"    \"id\": \"1\",\n",[103,380,381],{"class":105,"line":164},[103,382,383],{"class":140},"    \"method\": \"initialize\",\n",[103,385,386],{"class":105,"line":170},[103,387,388],{"class":140},"    \"params\": {}\n",[103,390,391],{"class":105,"line":176},[103,392,393],{"class":140},"  }'\n",[103,395,396],{"class":105,"line":182},[103,397,399],{"emptyLinePlaceholder":398},true,"\n",[103,401,402],{"class":105,"line":188},[103,403,404],{"class":331},"# List available tools (no key needed)\n",[103,406,408,410,412,414,416],{"class":105,"line":407},12,[103,409,338],{"class":337},[103,411,341],{"class":116},[103,413,344],{"class":140},[103,415,347],{"class":140},[103,417,350],{"class":116},[103,419,421,423,425],{"class":105,"line":420},13,[103,422,355],{"class":116},[103,424,358],{"class":140},[103,426,350],{"class":116},[103,428,430,432],{"class":105,"line":429},14,[103,431,365],{"class":116},[103,433,368],{"class":140},[103,435,437],{"class":105,"line":436},15,[103,438,373],{"class":140},[103,440,442],{"class":105,"line":441},16,[103,443,444],{"class":140},"    \"id\": \"2\",\n",[103,446,448],{"class":105,"line":447},17,[103,449,450],{"class":140},"    \"method\": \"tools/list\",\n",[103,452,454],{"class":105,"line":453},18,[103,455,388],{"class":140},[103,457,459],{"class":105,"line":458},19,[103,460,393],{"class":140},[103,462,464],{"class":105,"line":463},20,[103,465,399],{"emptyLinePlaceholder":398},[103,467,469],{"class":105,"line":468},21,[103,470,471],{"class":331},"# Create an agent actor (key required)\n",[103,473,475,477,479,481,483],{"class":105,"line":474},22,[103,476,338],{"class":337},[103,478,341],{"class":116},[103,480,344],{"class":140},[103,482,347],{"class":140},[103,484,350],{"class":116},[103,486,488,490,493],{"class":105,"line":487},23,[103,489,355],{"class":116},[103,491,492],{"class":140}," \"Authorization: Bearer nlg_live_yourKeyId.yourSecret\"",[103,494,350],{"class":116},[103,496,498,500,502],{"class":105,"line":497},24,[103,499,355],{"class":116},[103,501,358],{"class":140},[103,503,350],{"class":116},[103,505,507,509],{"class":105,"line":506},25,[103,508,365],{"class":116},[103,510,368],{"class":140},[103,512,514],{"class":105,"line":513},26,[103,515,373],{"class":140},[103,517,519],{"class":105,"line":518},27,[103,520,521],{"class":140},"    \"id\": \"3\",\n",[103,523,525],{"class":105,"line":524},28,[103,526,527],{"class":140},"    \"method\": \"tools/call\",\n",[103,529,531],{"class":105,"line":530},29,[103,532,533],{"class":140},"    \"params\": {\n",[103,535,537],{"class":105,"line":536},30,[103,538,539],{"class":140},"      \"name\": \"nolag_create_agent\",\n",[103,541,543],{"class":105,"line":542},31,[103,544,545],{"class":140},"      \"arguments\": {\n",[103,547,549],{"class":105,"line":548},32,[103,550,551],{"class":140},"        \"name\": \"my-first-agent\",\n",[103,553,555],{"class":105,"line":554},33,[103,556,557],{"class":140},"        \"capabilities\": [\"drafting\", \"research\"]\n",[103,559,561],{"class":105,"line":560},34,[103,562,563],{"class":140},"      }\n",[103,565,567],{"class":105,"line":566},35,[103,568,179],{"class":140},[103,570,572],{"class":105,"line":571},36,[103,573,393],{"class":140},[45,575,577],{"id":576},"transports","Transports",[579,580,581,600],"table",{},[582,583,584],"thead",{},[585,586,587,591,594,597],"tr",{},[588,589,590],"th",{},"Transport",[588,592,593],{},"Endpoint",[588,595,596],{},"Auth",[588,598,599],{},"Use Case",[601,602,603,630],"tbody",{},[585,604,605,609,617,627],{},[606,607,608],"td",{},"SSE via mcp-remote (recommended)",[606,610,611,613,614],{},[64,612,300],{},", then ",[64,615,616],{},"POST /mcp/message?sessionId=...",[606,618,619,622,623,626],{},[64,620,621],{},"?token="," query parameter or ",[64,624,625],{},"Authorization"," header",[606,628,629],{},"Claude Desktop, Claude Code, Cursor, and other MCP clients",[585,631,632,635,639,643],{},[606,633,634],{},"HTTP",[606,636,637],{},[64,638,311],{},[606,640,641,626],{},[64,642,625],{},[606,644,645],{},"Simple integrations, scripts, testing",[45,647,649],{"id":648},"available-tools","Available Tools",[14,651,652,653,656],{},"The NoLag MCP server exposes ",[18,654,655],{},"35 tools"," for managing your real-time infrastructure:",[658,659,661],"h3",{"id":660},"app-management","App Management",[579,663,664,674],{},[582,665,666],{},[585,667,668,671],{},[588,669,670],{},"Tool",[588,672,673],{},"Description",[601,675,676,686,696,706,716],{},[585,677,678,683],{},[606,679,680],{},[64,681,682],{},"nolag_list_apps",[606,684,685],{},"List all apps in your project",[585,687,688,693],{},[606,689,690],{},[64,691,692],{},"nolag_create_app",[606,694,695],{},"Create a new app (optionally from a blueprint)",[585,697,698,703],{},[606,699,700],{},[64,701,702],{},"nolag_get_app",[606,704,705],{},"Get details about a specific app",[585,707,708,713],{},[606,709,710],{},[64,711,712],{},"nolag_update_app",[606,714,715],{},"Update an app's name or description",[585,717,718,723],{},[606,719,720],{},[64,721,722],{},"nolag_delete_app",[606,724,725],{},"Soft-delete an app",[658,727,729],{"id":728},"room-management","Room Management",[579,731,732,740],{},[582,733,734],{},[585,735,736,738],{},[588,737,670],{},[588,739,673],{},[601,741,742,752,762,772,782],{},[585,743,744,749],{},[606,745,746],{},[64,747,748],{},"nolag_list_rooms",[606,750,751],{},"List all rooms in an app",[585,753,754,759],{},[606,755,756],{},[64,757,758],{},"nolag_create_room",[606,760,761],{},"Create a new dynamic room",[585,763,764,769],{},[606,765,766],{},[64,767,768],{},"nolag_get_room",[606,770,771],{},"Get room details",[585,773,774,779],{},[606,775,776],{},[64,777,778],{},"nolag_update_room",[606,780,781],{},"Update a room",[585,783,784,789],{},[606,785,786],{},[64,787,788],{},"nolag_delete_room",[606,790,791],{},"Delete a dynamic room (static rooms cannot be deleted)",[658,793,795],{"id":794},"actor-management","Actor Management",[579,797,798,806],{},[582,799,800],{},[585,801,802,804],{},[588,803,670],{},[588,805,673],{},[601,807,808,818,828,838,848],{},[585,809,810,815],{},[606,811,812],{},[64,813,814],{},"nolag_list_actors",[606,816,817],{},"List all actors in your project",[585,819,820,825],{},[606,821,822],{},[64,823,824],{},"nolag_create_actor",[606,826,827],{},"Create a new actor (device, user, service, agent, etc.)",[585,829,830,835],{},[606,831,832],{},[64,833,834],{},"nolag_get_actor",[606,836,837],{},"Get actor details",[585,839,840,845],{},[606,841,842],{},[64,843,844],{},"nolag_update_actor",[606,846,847],{},"Update an actor",[585,849,850,855],{},[606,851,852],{},[64,853,854],{},"nolag_delete_actor",[606,856,857],{},"Delete an actor",[658,859,861],{"id":860},"agent-specific","Agent-Specific",[579,863,864,872],{},[582,865,866],{},[585,867,868,870],{},[588,869,670],{},[588,871,673],{},[601,873,874,884,894,904,914,924],{},[585,875,876,881],{},[606,877,878],{},[64,879,880],{},"nolag_create_agent",[606,882,883],{},"Create an AI agent actor with a persistent session and capability tags",[585,885,886,891],{},[606,887,888],{},[64,889,890],{},"nolag_create_orchestrator",[606,892,893],{},"Create an orchestrator actor for coordinating agents",[585,895,896,901],{},[606,897,898],{},[64,899,900],{},"nolag_create_agents_app",[606,902,903],{},"Create an app from the Agents blueprint",[585,905,906,911],{},[606,907,908],{},[64,909,910],{},"nolag_dispatch_task",[606,912,913],{},"Publish a task envelope to a room's tasks topic",[585,915,916,921],{},[606,917,918],{},[64,919,920],{},"nolag_list_agent_events",[606,922,923],{},"Query the agent event stream with severity/category filters",[585,925,926,931],{},[606,927,928],{},[64,929,930],{},"nolag_get_blackboard_state",[606,932,933],{},"Read the current shared state for a room",[658,935,937],{"id":936},"messaging","Messaging",[579,939,940,948],{},[582,941,942],{},[585,943,944,946],{},[588,945,670],{},[588,947,673],{},[601,949,950,960],{},[585,951,952,957],{},[606,953,954],{},[64,955,956],{},"nolag_publish",[606,958,959],{},"Publish a message to a room/topic",[585,961,962,967],{},[606,963,964],{},[64,965,966],{},"nolag_get_messages",[606,968,969],{},"Get recent messages from a room/topic",[658,971,973],{"id":972},"scopes","Scopes",[579,975,976,984],{},[582,977,978],{},[585,979,980,982],{},[588,981,670],{},[588,983,673],{},[601,985,986,996,1006,1016,1026,1036,1046],{},[585,987,988,993],{},[606,989,990],{},[64,991,992],{},"nolag_create_scope",[606,994,995],{},"Create an access scope for tenant isolation",[585,997,998,1003],{},[606,999,1000],{},[64,1001,1002],{},"nolag_list_scopes",[606,1004,1005],{},"List all access scopes in the project",[585,1007,1008,1013],{},[606,1009,1010],{},[64,1011,1012],{},"nolag_get_scope",[606,1014,1015],{},"Get details about a specific access scope",[585,1017,1018,1023],{},[606,1019,1020],{},[64,1021,1022],{},"nolag_update_scope",[606,1024,1025],{},"Update a scope's name, description, metadata, or active flag (the slug cannot change)",[585,1027,1028,1033],{},[606,1029,1030],{},[64,1031,1032],{},"nolag_delete_scope",[606,1034,1035],{},"Delete a scope (fails while actors are still assigned to it)",[585,1037,1038,1043],{},[606,1039,1040],{},[64,1041,1042],{},"nolag_list_scope_actors",[606,1044,1045],{},"List the actors assigned to a scope",[585,1047,1048,1053],{},[606,1049,1050],{},[64,1051,1052],{},"nolag_set_actor_scope",[606,1054,1055],{},"Assign an actor to a scope or unscope them",[658,1057,1059],{"id":1058},"webhooks","Webhooks",[579,1061,1062,1070],{},[582,1063,1064],{},[585,1065,1066,1068],{},[588,1067,670],{},[588,1069,673],{},[601,1071,1072,1082,1092,1102],{},[585,1073,1074,1079],{},[606,1075,1076],{},[64,1077,1078],{},"nolag_configure_webhooks",[606,1080,1081],{},"Configure hydration and trigger webhooks for an app",[585,1083,1084,1089],{},[606,1085,1086],{},[64,1087,1088],{},"nolag_get_webhook_config",[606,1090,1091],{},"Get current webhook configuration",[585,1093,1094,1099],{},[606,1095,1096],{},[64,1097,1098],{},"nolag_list_webhook_dlq",[606,1100,1101],{},"List failed webhook requests",[585,1103,1104,1109],{},[606,1105,1106],{},[64,1107,1108],{},"nolag_retry_webhook_dlq",[606,1110,1111],{},"Retry a failed webhook",[658,1113,1115],{"id":1114},"code-generation","Code Generation",[579,1117,1118,1126],{},[582,1119,1120],{},[585,1121,1122,1124],{},[588,1123,670],{},[588,1125,673],{},[601,1127,1128],{},[585,1129,1130,1135],{},[606,1131,1132],{},[64,1133,1134],{},"nolag_generate_code",[606,1136,1137],{},"Generate SDK client code for a specific use case",[45,1139,1141],{"id":1140},"authentication","Authentication",[14,1143,1144,1147,1148,1147,1151,1154,1155,1158,1159,1161,1162,1165],{},[64,1145,1146],{},"initialize",", ",[64,1149,1150],{},"notifications/initialized",[64,1152,1153],{},"ping",", and ",[64,1156,1157],{},"tools/list"," are served without a key, so any client or directory can introspect the server. ",[64,1160,318],{}," requires a ",[18,1163,1164],{},"project-scoped API key",". Organization-level and system keys are rejected. There are two ways to send the key:",[658,1167,1169],{"id":1168},"option-1-authorization-header-recommended","Option 1: Authorization Header (recommended)",[14,1171,1172],{},"Works on every endpoint.",[94,1174,1179],{"className":1175,"code":1177,"language":1178,"meta":99},[1176],"language-text","Authorization: Bearer nlg_live_yourKeyId.yourSecret\n","text",[64,1180,1177],{"__ignoreMap":99},[658,1182,1184],{"id":1183},"option-2-query-parameter-sse-transport-only","Option 2: Query Parameter (SSE transport only)",[14,1186,1187,1189,1190,1193,1194,1196,1197,1199,1200,1202],{},[64,1188,300],{}," and ",[64,1191,1192],{},"POST /mcp/message"," also read the key from a ",[64,1195,621],{}," query parameter, for clients such as ",[64,1198,208],{}," that cannot set custom headers. ",[64,1201,311],{}," does not; it reads the header only.",[94,1204,1207],{"className":1205,"code":1206,"language":1178,"meta":99},[1176],"https://api.nolag.app/mcp/sse?token=nlg_live_yourKeyId.yourSecret\n",[64,1208,1206],{"__ignoreMap":99},[23,1210,1212],{"type":1211},"warning",[14,1213,1214,1217],{},[18,1215,1216],{},"Security."," Your API key grants full project access. Never expose it in client-side code or public repositories.",[45,1219,1221],{"id":1220},"agent-workflow-example","Agent Workflow Example",[14,1223,1224],{},"Here is a typical workflow using MCP to set up a multi-agent system:",[50,1226,1227,1235,1243,1251,1259,1267],{},[53,1228,1229,205,1232,1234],{},[18,1230,1231],{},"Create an agents app:",[64,1233,900],{}," with name \"my-workflow\"; note the returned slug, which carries a random suffix",[53,1236,1237,205,1240,1242],{},[18,1238,1239],{},"Create an orchestrator:",[64,1241,890],{}," with name \"dispatcher\"",[53,1244,1245,205,1248,1250],{},[18,1246,1247],{},"Create worker agents:",[64,1249,880],{}," with capabilities like \"drafting\", \"research\"",[53,1252,1253,205,1256,1258],{},[18,1254,1255],{},"Dispatch tasks:",[64,1257,910],{}," to send work to connected agents",[53,1260,1261,205,1264,1266],{},[18,1262,1263],{},"Monitor:",[64,1265,920],{}," to see what agents are doing",[53,1268,1269,205,1272,1274],{},[18,1270,1271],{},"Check state:",[64,1273,930],{}," to see shared agent state",[14,1276,1277,1278,1281],{},"Each agent connects using the ",[64,1279,1280],{},"@nolag/agents"," SDK with its access token (returned once by the create tools above). The MCP service manages infrastructure; agents use the SDK for real-time coordination.",[1283,1284,1285],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":99,"searchDepth":113,"depth":113,"links":1287},[1288,1289,1290,1291,1292,1293,1303,1307],{"id":47,"depth":113,"text":48},{"id":76,"depth":113,"text":77},{"id":216,"depth":113,"text":217},{"id":289,"depth":113,"text":290},{"id":576,"depth":113,"text":577},{"id":648,"depth":113,"text":649,"children":1294},[1295,1296,1297,1298,1299,1300,1301,1302],{"id":660,"depth":123,"text":661},{"id":728,"depth":123,"text":729},{"id":794,"depth":123,"text":795},{"id":860,"depth":123,"text":861},{"id":936,"depth":123,"text":937},{"id":972,"depth":123,"text":973},{"id":1058,"depth":123,"text":1059},{"id":1114,"depth":123,"text":1115},{"id":1140,"depth":113,"text":1141,"children":1304},[1305,1306],{"id":1168,"depth":123,"text":1169},{"id":1183,"depth":123,"text":1184},{"id":1220,"depth":113,"text":1221},"How to connect Claude Desktop, Cursor, or any MCP client to NoLag for AI agent infrastructure management.","md",{},"/docs/agents/mcp-setup",{"title":5,"description":1308},"docs/agents/mcp-setup","aa36N6A8jU9FTKMxWe1Tpk_gc7f38KnrFTPAWKkffq4",1789869418503]