[{"data":1,"prerenderedAt":1631},["ShallowReactive",2],{"nav-docs":3,"page-/docs/admin/ai/mcp":964,"surround-/docs/admin/ai/mcp":1625,"raw-/docs/admin/ai/mcp":1628},[4,56,287,615,718,857,890,947],{"title":5,"path":6,"stem":7,"children":8,"page":55},"Space Builder","/getting-started","00.getting-started",[9,13,17,23,29,33,38,42,46,50],{"title":10,"path":11,"stem":12,"children":-1},"Introducing SpaceBuilder","/getting-started/overview","00.getting-started/00.overview",{"title":14,"path":15,"stem":16,"children":-1},"Create a SetFN Account","/getting-started/create-setfn-account","00.getting-started/05.create-setfn-account",{"title":18,"path":19,"stem":20,"tags":21,"children":-1},"Installing on Linux","/getting-started/install-linux","00.getting-started/10.install-linux",[22],"recommended",{"title":24,"path":25,"stem":26,"tags":27,"children":-1},"Installing with Docker","/getting-started/install-docker","00.getting-started/12.install-docker",[28],"preparing",{"title":30,"path":31,"stem":32,"children":-1},"Installing on Windows","/getting-started/install-windows","00.getting-started/14.install-windows",{"title":34,"path":35,"stem":36,"tags":37,"children":-1},"Installing on macOS","/getting-started/install-macos","00.getting-started/16.install-macos",[28],{"title":39,"path":40,"stem":41,"children":-1},"Initial Setup","/getting-started/initial-setup","00.getting-started/20.initial-setup",{"title":43,"path":44,"stem":45,"children":-1},"License Activation","/getting-started/license-activation","00.getting-started/30.license-activation",{"title":47,"path":48,"stem":49,"children":-1},"Checking Your Access Address (Local/Internal Network)","/getting-started/access-url","00.getting-started/35.access-url",{"title":51,"path":52,"stem":53,"tags":54,"children":-1},"Choosing an External Access Method","/getting-started/access-domain","00.getting-started/40.access-domain",[22],false,{"title":57,"path":58,"stem":59,"children":60,"page":-1},"Space management","/admin","10.admin",[61,64,77,135,164,201,221,234,241,270],{"title":62,"path":58,"stem":63,"children":-1},"Explore the Administrator Menus","10.admin/00.index",{"title":65,"path":66,"stem":67,"children":68,"page":55},"Admin Home","/admin/home","10.admin/00.home",[69,73],{"title":70,"path":71,"stem":72,"children":-1},"Accessing the Admin Page","/admin/home/admin-page-access","10.admin/00.home/00.admin-page-access",{"title":74,"path":75,"stem":76,"children":-1},"License Management","/admin/home/license","10.admin/00.home/20.license",{"title":78,"path":79,"stem":80,"children":81,"page":55},"User management","/admin/user-management","10.admin/10.user-management",[82,86,92,96,100,104,108,112,116,120,125,130],{"title":83,"path":84,"stem":85,"children":-1},"Set signup policy and default permissions","/admin/user-management/signup-policy","10.admin/10.user-management/02.signup-policy",{"title":87,"path":88,"stem":89,"tags":90,"children":-1},"Register signup terms","/admin/user-management/signup-terms","10.admin/10.user-management/04.signup-terms",[91],"new",{"title":93,"path":94,"stem":95,"children":-1},"Creating a User Account","/admin/user-management/invite-new-member","10.admin/10.user-management/10.invite-new-member",{"title":97,"path":98,"stem":99,"children":-1},"Editing a User Account","/admin/user-management/edit-member","10.admin/10.user-management/11.edit-member",{"title":101,"path":102,"stem":103,"children":-1},"Adding an Admin","/admin/user-management/add-new-admin","10.admin/10.user-management/12.add-new-admin",{"title":105,"path":106,"stem":107,"children":-1},"Team Management","/admin/user-management/team","10.admin/10.user-management/22.team",{"title":109,"path":110,"stem":111,"children":-1},"Level management","/admin/user-management/level","10.admin/10.user-management/24.level",{"title":113,"path":114,"stem":115,"children":-1},"Checking Access Logs","/admin/user-management/access-log","10.admin/10.user-management/30.access-log",{"title":117,"path":118,"stem":119,"children":-1},"Configure Account & Security policies","/admin/user-management/account-security","10.admin/10.user-management/32.account-security",{"title":121,"path":122,"stem":123,"tags":124,"children":-1},"Configure CAPTCHA","/admin/user-management/captcha","10.admin/10.user-management/33.captcha",[91],{"title":126,"path":127,"stem":128,"tags":129,"children":-1},"Configure notice delivery","/admin/user-management/notice-settings","10.admin/10.user-management/34.notice-settings",[91],{"title":131,"path":132,"stem":133,"tags":134,"children":-1},"Send bulk notices to members","/admin/user-management/bulk-mail","10.admin/10.user-management/36.bulk-mail",[91],{"title":136,"path":137,"stem":138,"children":139,"page":55},"Service Configuration","/admin/service-config","10.admin/20.service-config",[140,144,148,152,156,160],{"title":141,"path":142,"stem":143,"children":-1},"File Area Settings","/admin/service-config/file-area","10.admin/20.service-config/10.file-area",{"title":145,"path":146,"stem":147,"children":-1},"Webhook Settings","/admin/service-config/webhook-settings","10.admin/20.service-config/16.webhook-settings",{"title":149,"path":150,"stem":151,"children":-1},"Community Settings","/admin/service-config/community-space","10.admin/20.service-config/22.community-space",{"title":153,"path":154,"stem":155,"children":-1},"AI Chatbot Policy Settings","/admin/service-config/community-ai-chatbot","10.admin/20.service-config/24.community-ai-chatbot",{"title":157,"path":158,"stem":159,"children":-1},"Email Settings","/admin/service-config/email-settings","10.admin/20.service-config/30.email-settings",{"title":161,"path":162,"stem":163,"children":-1},"Branding Settings","/admin/service-config/brand","10.admin/20.service-config/40.brand",{"title":165,"path":166,"stem":167,"children":168},"Knowledge Services","/admin/knowledge","10.admin/30.knowledge/00.index",[169,171,177,181,185,189,193,197],{"title":170,"path":166,"stem":167,"children":-1},"Knowledge Services overview",{"title":172,"path":173,"stem":174,"children":175},"Ingestion & Indexing","/admin/knowledge/indexing","10.admin/30.knowledge/10.indexing",[176],{"title":172,"path":173,"stem":174,"children":-1},{"title":178,"path":179,"stem":180,"children":-1},"Search Management","/admin/knowledge/search","10.admin/30.knowledge/20.search",{"title":182,"path":183,"stem":184,"children":-1},"Knowledge Storage","/admin/knowledge/storage","10.admin/30.knowledge/30.storage",{"title":186,"path":187,"stem":188,"children":-1},"Operating Knowledge Storage","/admin/knowledge/storage-operations","10.admin/30.knowledge/32.storage-operations",{"title":190,"path":191,"stem":192,"children":-1},"Connect Qdrant","/admin/knowledge/qdrant","10.admin/30.knowledge/34.qdrant",{"title":194,"path":195,"stem":196,"children":-1},"Setting Up a Qdrant Server","/admin/knowledge/qdrant-server-setup","10.admin/30.knowledge/35.qdrant-server-setup",{"title":198,"path":199,"stem":200,"children":-1},"Connect Milvus","/admin/knowledge/milvus","10.admin/30.knowledge/36.milvus",{"title":202,"path":203,"stem":204,"children":205},"AI Services","/admin/ai","10.admin/35.ai/00.index",[206,208,212,217],{"title":207,"path":203,"stem":204,"children":-1},"Manage AI Services",{"title":209,"path":210,"stem":211,"children":-1},"Configure Models & Runtime","/admin/ai/models","10.admin/35.ai/10.models",{"title":213,"path":214,"stem":215,"tags":216,"children":-1},"Configure Tools & Integrations","/admin/ai/integrations","10.admin/35.ai/20.integrations",[91],{"title":218,"path":219,"stem":220,"children":-1},"Manage the MCP Server","/admin/ai/mcp","10.admin/35.ai/30.mcp",{"title":222,"path":223,"stem":224,"children":225,"page":55},"plugin","/admin/plugin","10.admin/40.plugin",[226,230],{"title":227,"path":228,"stem":229,"children":-1},"Managing Plugins","/admin/plugin/overview","10.admin/40.plugin/00.overview",{"title":231,"path":232,"stem":233,"children":-1},"Extension Plugin Settings","/admin/plugin/settings","10.admin/40.plugin/10.settings",{"title":235,"path":236,"stem":237,"children":238,"tags":240},"Review Operations & Audit Logs","/admin/operations","10.admin/45.operations/00.index",[239],{"title":235,"path":236,"stem":237,"tags":240,"children":-1},[91],{"title":242,"path":243,"stem":244,"children":245,"page":55},"Security Management","/admin/security","10.admin/50.security",[246,250,254,258,262,266],{"title":247,"path":248,"stem":249,"children":-1},"Security Overview","/admin/security/overview","10.admin/50.security/00.overview",{"title":251,"path":252,"stem":253,"children":-1},"Checking the Audit Log","/admin/security/audit-log","10.admin/50.security/05.audit-log",{"title":255,"path":256,"stem":257,"children":-1},"Block Management","/admin/security/block-management","10.admin/50.security/10.block-management",{"title":259,"path":260,"stem":261,"children":-1},"Security Settings","/admin/security/security-setting","10.admin/50.security/12.security-setting",{"title":263,"path":264,"stem":265,"children":-1},"Process pending device approvals","/admin/security/device-approvals","10.admin/50.security/14.device-approvals",{"title":267,"path":268,"stem":269,"children":-1},"IP Access Restriction","/admin/security/ip-restriction","10.admin/50.security/16.ip-restriction",{"title":271,"path":272,"stem":273,"children":274,"page":55},"System management","/admin/system-admin","10.admin/60.system-admin",[275,279,283],{"title":276,"path":277,"stem":278,"children":-1},"Device Information","/admin/system-admin/device-info","10.admin/60.system-admin/10.device-info",{"title":280,"path":281,"stem":282,"children":-1},"Server Restart and System Maintenance","/admin/system-admin/server-restart","10.admin/60.system-admin/12.server-restart",{"title":284,"path":285,"stem":286,"children":-1},"Background Services","/admin/system-admin/background-service","10.admin/60.system-admin/14.background-service",{"title":288,"path":289,"stem":290,"children":291,"page":55},"Use workspace","/workspace","20.workspace",[292,325,342,404,520,567,597],{"title":293,"path":294,"stem":295,"children":296,"page":55},"menu","/workspace/menu","20.workspace/05.menu",[297,301,305,309,313,317,321],{"title":298,"path":299,"stem":300,"children":-1},"Workspace Overview","/workspace/menu/overview","20.workspace/05.menu/00.overview",{"title":302,"path":303,"stem":304,"children":-1},"Team Space","/workspace/menu/team-space","20.workspace/05.menu/05.team-space",{"title":306,"path":307,"stem":308,"children":-1},"Client Space","/workspace/menu/client-space","20.workspace/05.menu/06.client-space",{"title":310,"path":311,"stem":312,"children":-1},"Favorites","/workspace/menu/favorites","20.workspace/05.menu/10.favorites",{"title":314,"path":315,"stem":316,"children":-1},"Recent Documents","/workspace/menu/recent","20.workspace/05.menu/20.recent",{"title":318,"path":319,"stem":320,"children":-1},"External Share","/workspace/menu/external-share","20.workspace/05.menu/30.external-share",{"title":322,"path":323,"stem":324,"children":-1},"Trash","/workspace/menu/trash","20.workspace/05.menu/40.trash",{"title":326,"path":327,"stem":328,"children":329,"page":55},"Account","/workspace/account","20.workspace/10.account",[330,334,338],{"title":331,"path":332,"stem":333,"children":-1},"Sign Up and Log In","/workspace/account/signup","20.workspace/10.account/10.signup",{"title":335,"path":336,"stem":337,"children":-1},"Resetting Your Password","/workspace/account/reset-password","20.workspace/10.account/20.reset-password",{"title":339,"path":340,"stem":341,"children":-1},"Account Settings","/workspace/account/account-settings","20.workspace/10.account/30.account-settings",{"title":343,"path":344,"stem":345,"children":346,"page":55},"folder","/workspace/folder","20.workspace/20.folder",[347,351,355,359,363,369,373,377,382,386,390,394,400],{"title":348,"path":349,"stem":350,"children":-1},"Folder Basics","/workspace/folder/basic","20.workspace/20.folder/10.basic",{"title":352,"path":353,"stem":354,"children":-1},"Creating Multiple Folders at Once","/workspace/folder/bulk-folder-creation","20.workspace/20.folder/12.bulk-folder-creation",{"title":356,"path":357,"stem":358,"children":-1},"Filter","/workspace/folder/filter","20.workspace/20.folder/13.filter",{"title":360,"path":361,"stem":362,"children":-1},"Configuring Folder View Options","/workspace/folder/folder-view-options","20.workspace/20.folder/14.folder-view-options",{"title":364,"path":365,"stem":366,"tags":367,"children":-1},"Folder Web View","/workspace/folder/folder-web-view","20.workspace/20.folder/16.folder-web-view",[368],"hot",{"title":370,"path":371,"stem":372,"children":-1},"Folder Organization","/workspace/folder/folder-organize","20.workspace/20.folder/17.folder-organize",{"title":374,"path":375,"stem":376,"children":-1},"Folder Notice (README)","/workspace/folder/folder-readme","20.workspace/20.folder/18.folder-readme",{"title":378,"path":379,"stem":380,"tags":381,"children":-1},"Exporting Folder/File Lists","/workspace/folder/folder-export","20.workspace/20.folder/20.folder-export",[368],{"title":383,"path":384,"stem":385,"children":-1},"Setting Level-Based Access Permissions","/workspace/folder/level-access-permissions","20.workspace/20.folder/24.level-access-permissions",{"title":387,"path":388,"stem":389,"children":-1},"Setting Team-Based Access Permissions","/workspace/folder/team-access-permissions","20.workspace/20.folder/26.team-access-permissions",{"title":391,"path":392,"stem":393,"children":-1},"Folder Webhooks","/workspace/folder/webhook","20.workspace/20.folder/30.webhook",{"title":395,"path":396,"stem":397,"children":398},"Configure folder knowledge indexing","/workspace/folder/knowledge-index","20.workspace/20.folder/32.knowledge-index",[399],{"title":395,"path":396,"stem":397,"children":-1},{"title":401,"path":402,"stem":403,"children":-1},"Work Automation Folder","/workspace/folder/automation","20.workspace/20.folder/40.automation",{"title":405,"path":406,"stem":407,"children":408,"page":55},"file","/workspace/file","20.workspace/30.file",[409,413,418,422,426,430,434,438,442,447,451,455,460,464,468,472,476,480,484,488,492,496,500,504,508,512,516],{"title":410,"path":411,"stem":412,"children":-1},"File Management Basics","/workspace/file/overview","20.workspace/30.file/00.overview",{"title":414,"path":415,"stem":416,"tags":417,"children":-1},"Checking the List While Viewing a File","/workspace/file/list-in-file","20.workspace/30.file/05.list-in-file",[368],{"title":419,"path":420,"stem":421,"children":-1},"Viewing and Editing Markdown and Text Files","/workspace/file/text-file-viewer","20.workspace/30.file/10.text-file-viewer",{"title":423,"path":424,"stem":425,"children":-1},"Viewing HTML Files","/workspace/file/html-viewer","20.workspace/30.file/11.html-viewer",{"title":427,"path":428,"stem":429,"children":-1},"Viewing and Editing CSV Files","/workspace/file/csv-viewer","20.workspace/30.file/12.csv-viewer",{"title":431,"path":432,"stem":433,"children":-1},"Viewing Image/Video Files","/workspace/file/image-file-viewer","20.workspace/30.file/13.image-file-viewer",{"title":435,"path":436,"stem":437,"children":-1},"Viewing Office/PDF Files","/workspace/file/office-viewer","20.workspace/30.file/14.office-viewer",{"title":439,"path":440,"stem":441,"children":-1},"Pasting Web Pages (HTML)","/workspace/file/paste-html","20.workspace/30.file/20.paste-html",{"title":443,"path":444,"stem":445,"tags":446,"children":-1},"Pasting Screenshots","/workspace/file/paste-screenshot","20.workspace/30.file/21.paste-screenshot",[368],{"title":448,"path":449,"stem":450,"children":-1},"Pasting Markdown (MD)","/workspace/file/paste-md","20.workspace/30.file/22.paste-md",{"title":452,"path":453,"stem":454,"children":-1},"Screen Recording","/workspace/file/screen-recording","20.workspace/30.file/23.screen-recording",{"title":456,"path":457,"stem":458,"tags":459,"children":-1},"Quick Note","/workspace/file/quick-note","20.workspace/30.file/24.quick-note",[91,368],{"title":461,"path":462,"stem":463,"children":-1},"File Tags","/workspace/file/file-tag","20.workspace/30.file/33.file-tag",{"title":465,"path":466,"stem":467,"children":-1},"Bulk Renaming Files","/workspace/file/bulk-name-revise","20.workspace/30.file/34.bulk-name-revise",{"title":469,"path":470,"stem":471,"children":-1},"File Conversion","/workspace/file/file-convert-overview","20.workspace/30.file/40.file-convert-overview",{"title":473,"path":474,"stem":475,"children":-1},"Template Files","/workspace/file/templates","20.workspace/30.file/41.templates",{"title":477,"path":478,"stem":479,"children":-1},"To-Do List","/workspace/file/template-todo","20.workspace/30.file/42.template-todo",{"title":481,"path":482,"stem":483,"children":-1},"Approval Form","/workspace/file/template-approval","20.workspace/30.file/43.template-approval",{"title":485,"path":486,"stem":487,"children":-1},"Kanban Board","/workspace/file/template-kanban","20.workspace/30.file/44.template-kanban",{"title":489,"path":490,"stem":491,"children":-1},"Timeline","/workspace/file/template-timeline","20.workspace/30.file/45.template-timeline",{"title":493,"path":494,"stem":495,"children":-1},"Memo","/workspace/file/template-memo","20.workspace/30.file/46.template-memo",{"title":497,"path":498,"stem":499,"children":-1},"AI Chat File","/workspace/file/ai-chat-file","20.workspace/30.file/47.ai-chat-file",{"title":501,"path":502,"stem":503,"children":-1},"Checking the File Change History","/workspace/file/audit-trail","20.workspace/30.file/50.audit-trail",{"title":505,"path":506,"stem":507,"children":-1},"File Version Control","/workspace/file/version-trail","20.workspace/30.file/51.version-trail",{"title":509,"path":510,"stem":511,"children":-1},"Edit Lock","/workspace/file/file-lock","20.workspace/30.file/52.file-lock",{"title":513,"path":514,"stem":515,"children":-1},"File Encryption","/workspace/file/file-encrypt","20.workspace/30.file/53.file-encrypt",{"title":517,"path":518,"stem":519,"children":-1},"Register disk files","/workspace/file/disk-file-registration","20.workspace/30.file/60.disk-file-registration",{"title":521,"path":522,"stem":523,"children":524,"page":55},"Collaboration","/workspace/cooperation","20.workspace/35.cooperation",[525,529,533,537,542,546,550,554,559,563],{"title":526,"path":527,"stem":528,"children":-1},"File/Folder Comments","/workspace/cooperation/file-comments","20.workspace/35.cooperation/00.file-comments",{"title":530,"path":531,"stem":532,"children":-1},"Chat","/workspace/cooperation/chat","20.workspace/35.cooperation/10.chat",{"title":534,"path":535,"stem":536,"children":-1},"Collaboration Chat and Edit Lock","/workspace/cooperation/collaboration-chat","20.workspace/35.cooperation/11.collaboration-chat",{"title":538,"path":539,"stem":540,"tags":541,"children":-1},"Following a Team Member's Location","/workspace/cooperation/follow-team-location","20.workspace/35.cooperation/12.follow-team-location",[368],{"title":543,"path":544,"stem":545,"children":-1},"Mentions","/workspace/cooperation/mention","20.workspace/35.cooperation/14.mention",{"title":547,"path":548,"stem":549,"children":-1},"Direct Messages","/workspace/cooperation/dm","20.workspace/35.cooperation/16.dm",{"title":551,"path":552,"stem":553,"children":-1},"Notification Inbox","/workspace/cooperation/notification-inbox","20.workspace/35.cooperation/18.notification-inbox",{"title":555,"path":556,"stem":557,"tags":558,"children":-1},"Checking Team Activity","/workspace/cooperation/file-activity","20.workspace/35.cooperation/30.file-activity",[368],{"title":560,"path":561,"stem":562,"children":-1},"Creating an External Share Link","/workspace/cooperation/share-link-creation","20.workspace/35.cooperation/40.share-link-creation",{"title":564,"path":565,"stem":566,"children":-1},"Sending an External Share Link by Email","/workspace/cooperation/share-link-email","20.workspace/35.cooperation/42.share-link-email",{"title":568,"path":569,"stem":570,"children":571,"page":55},"Search","/workspace/search","20.workspace/40.search",[572,576,581,585,589,593],{"title":573,"path":574,"stem":575,"children":-1},"File Search","/workspace/search/search","20.workspace/40.search/00.search",{"title":577,"path":578,"stem":579,"tags":580,"children":-1},"Context Search (AI Search)","/workspace/search/context-search","20.workspace/40.search/10.context-search",[368],{"title":582,"path":583,"stem":584,"children":-1},"Image Search","/workspace/search/image-search","20.workspace/40.search/20.image-search",{"title":586,"path":587,"stem":588,"children":-1},"Chat Search","/workspace/search/chat-search","20.workspace/40.search/30.chat-search",{"title":590,"path":591,"stem":592,"children":-1},"Comment Search","/workspace/search/comment-search","20.workspace/40.search/40.comment-search",{"title":594,"path":595,"stem":596,"children":-1},"Synonym Search","/workspace/search/synonym-search","20.workspace/40.search/50.synonym-search",{"title":598,"path":599,"stem":600,"children":601,"page":55},"AI","/workspace/ai","20.workspace/50.ai",[602,606,611],{"title":603,"path":604,"stem":605,"children":-1},"AI Features Summary","/workspace/ai/overview","20.workspace/50.ai/00.overview",{"title":607,"path":608,"stem":609,"tags":610,"children":-1},"Requesting Work from the Local AI","/workspace/ai/ai-work","20.workspace/50.ai/10.ai-work",[368],{"title":612,"path":613,"stem":614,"children":-1},"Using External AI","/workspace/ai/external-ai","20.workspace/50.ai/20.external-ai",{"title":616,"path":617,"stem":618,"children":619,"page":55},"Webspace","/webspace","40.webspace",[620,624,628,632,636,640,645,649,653,657,661,690],{"title":621,"path":622,"stem":623,"children":-1},"What is WebSpace?","/webspace/overview","40.webspace/00.overview",{"title":625,"path":626,"stem":627,"children":-1},"Deploying a Website","/webspace/website-release","40.webspace/10.website-release",{"title":629,"path":630,"stem":631,"children":-1},"Create a schema file (.sfn)","/webspace/create-database","40.webspace/20.create-database",{"title":633,"path":634,"stem":635,"children":-1},"Build APIs and deploy a database","/webspace/api-overview","40.webspace/24.api-overview",{"title":637,"path":638,"stem":639,"children":-1},"Checking the Frontend Sample","/webspace/frontend-example","40.webspace/26.frontend-example",{"title":641,"path":642,"stem":643,"tags":644,"children":-1},"Building an Internal Team Web Service","/webspace/internal-webservice","40.webspace/32.internal-webservice",[368],{"title":646,"path":647,"stem":648,"children":-1},"Building a Publicly Accessible Web Service","/webspace/external-webservice","40.webspace/34.external-webservice",{"title":650,"path":651,"stem":652,"children":-1},"Import and export SQL","/webspace/sql-converter","40.webspace/42.sql-converter",{"title":654,"path":655,"stem":656,"children":-1},"Developer Tip 2: Code Converter","/webspace/code-converter","40.webspace/44.code-converter",{"title":658,"path":659,"stem":660,"children":-1},"Performance and scaling","/webspace/performance","40.webspace/48.performance",{"title":662,"path":663,"stem":664,"children":665,"page":55},"Webspace Management","/webspace/admin","40.webspace/50.admin",[666,670,674,678,682,686],{"title":667,"path":668,"stem":669,"children":-1},"Get started with WebSpace administration","/webspace/admin/overview","40.webspace/50.admin/00.overview",{"title":671,"path":672,"stem":673,"children":-1},"Operations","/webspace/admin/operations","40.webspace/50.admin/10.operations",{"title":675,"path":676,"stem":677,"children":-1},"Workspace access","/webspace/admin/workspace-access","40.webspace/50.admin/20.workspace-access",{"title":679,"path":680,"stem":681,"children":-1},"API & site security","/webspace/admin/api-site-security","40.webspace/50.admin/30.api-site-security",{"title":683,"path":684,"stem":685,"children":-1},"Services and capacity","/webspace/admin/service-capacity","40.webspace/50.admin/40.service-capacity",{"title":687,"path":688,"stem":689,"children":-1},"Deployment management and frontend releases","/webspace/admin/deployments","40.webspace/50.admin/50.deployments",{"title":691,"path":692,"stem":693,"children":694,"page":55},"Try WebSpace","/webspace/examples","40.webspace/60.examples",[695,699,703,708,713],{"title":696,"path":697,"stem":698,"children":-1},"WebSpace examples","/webspace/examples/overview","40.webspace/60.examples/00.overview",{"title":700,"path":701,"stem":702,"children":-1},"Build a real-time Gomoku game","/webspace/examples/realtime-gomoku","40.webspace/60.examples/20.realtime-gomoku",{"title":704,"path":705,"stem":706,"tags":707,"children":-1},"Build a resource board from folder files","/webspace/examples/folder-board","40.webspace/60.examples/30.folder-board",[91],{"title":709,"path":710,"stem":711,"tags":712,"children":-1},"Build a shared monster raid","/webspace/examples/monster-raid","40.webspace/60.examples/40.monster-raid",[91],{"title":714,"path":715,"stem":716,"tags":717,"children":-1},"Deploy an AI support chat sample","/webspace/examples/ai-support-chat","40.webspace/60.examples/50.ai-support-chat",[91],{"title":719,"path":720,"stem":721,"children":722,"page":55},"Using plugin","/plugin","50.plugin",[723,727,744,788,806,836],{"title":724,"path":725,"stem":726,"children":-1},"Plugin Overview","/plugin/overview","50.plugin/00.overview",{"title":728,"path":729,"stem":730,"children":731,"page":55},"Calendar","/plugin/calendar","50.plugin/10.calendar",[732,736,740],{"title":733,"path":734,"stem":735,"children":-1},"Calendar Introduction","/plugin/calendar/overview","50.plugin/10.calendar/00.overview",{"title":737,"path":738,"stem":739,"children":-1},"Creating, Editing, and Deleting Events","/plugin/calendar/create-event","50.plugin/10.calendar/10.create-event",{"title":741,"path":742,"stem":743,"children":-1},"Checking Activity History","/plugin/calendar/file-activity","50.plugin/10.calendar/40.file-activity",{"title":745,"path":746,"stem":747,"children":748,"page":55},"Email","/plugin/email","50.plugin/20.email",[749,753,756,760,764,768,772,776,780,784],{"title":750,"path":751,"stem":752,"children":-1},"Email Introduction","/plugin/email/overview","50.plugin/20.email/00.overview",{"title":157,"path":754,"stem":755,"children":-1},"/plugin/email/setfn-email-setting","50.plugin/20.email/05.setfn-email-setting",{"title":757,"path":758,"stem":759,"children":-1},"Connect an External Email Account","/plugin/email/external-email","50.plugin/20.email/07.external-email",{"title":761,"path":762,"stem":763,"children":-1},"Basic Email Functionality","/plugin/email/email-basic","50.plugin/20.email/10.email-basic",{"title":765,"path":766,"stem":767,"children":-1},"Composing and Sending Email","/plugin/email/email-compose","50.plugin/20.email/20.email-compose",{"title":769,"path":770,"stem":771,"children":-1},"Attaching Files","/plugin/email/email-attachment","50.plugin/20.email/30.email-attachment",{"title":773,"path":774,"stem":775,"children":-1},"Mail Folder Management","/plugin/email/email-folders","50.plugin/20.email/40.email-folders",{"title":777,"path":778,"stem":779,"children":-1},"Automatic Email Classification","/plugin/email/email-auto-classify","50.plugin/20.email/50.email-auto-classify",{"title":781,"path":782,"stem":783,"children":-1},"Email File Archiving and Sharing","/plugin/email/email-open-in-space","50.plugin/20.email/60.email-open-in-space",{"title":785,"path":786,"stem":787,"children":-1},"Email Security","/plugin/email/email-security","50.plugin/20.email/70.email-security",{"title":789,"path":790,"stem":791,"children":792,"page":55},"Workflow","/plugin/workflow","50.plugin/30.workflow",[793,797,802],{"title":794,"path":795,"stem":796,"children":-1},"Workflow Introduction","/plugin/workflow/overview","50.plugin/30.workflow/00.overview",{"title":798,"path":799,"stem":800,"tags":801,"children":-1},"Creating a New Workflow","/plugin/workflow/new-workflow","50.plugin/30.workflow/10.new-workflow",[368],{"title":803,"path":804,"stem":805,"children":-1},"Checking Execution History","/plugin/workflow/execution-history","50.plugin/30.workflow/20.execution-history",{"title":807,"path":808,"stem":809,"children":810,"page":55},"Pinetuning (AI learning)","/plugin/fine-tuning","50.plugin/40.fine-tuning",[811,816,820,824,828,832],{"title":812,"path":813,"stem":814,"tags":815,"children":-1},"Fine-tuning Introduction","/plugin/fine-tuning/overview","50.plugin/40.fine-tuning/00.overview",[368],{"title":817,"path":818,"stem":819,"children":-1},"Preprocessing Training Data","/plugin/fine-tuning/pre-processing","50.plugin/40.fine-tuning/10.pre-processing",{"title":821,"path":822,"stem":823,"children":-1},"Training","/plugin/fine-tuning/training","50.plugin/40.fine-tuning/20.training",{"title":825,"path":826,"stem":827,"children":-1},"Evaluation","/plugin/fine-tuning/evaluation","50.plugin/40.fine-tuning/30.evaluation",{"title":829,"path":830,"stem":831,"children":-1},"Chat Test","/plugin/fine-tuning/chat-test","50.plugin/40.fine-tuning/40.chat-test",{"title":833,"path":834,"stem":835,"children":-1},"Export","/plugin/fine-tuning/export","50.plugin/40.fine-tuning/50.export",{"title":837,"path":838,"stem":839,"children":840,"page":55},"EDC (data collection)","/plugin/edc","50.plugin/50.edc",[841,845,849,853],{"title":842,"path":843,"stem":844,"children":-1},"EDC Introduction","/plugin/edc/overview","50.plugin/50.edc/00.overview",{"title":846,"path":847,"stem":848,"children":-1},"Data Entry, Audit Trail","/plugin/edc/data-entry","50.plugin/50.edc/10.data-entry",{"title":850,"path":851,"stem":852,"children":-1},"Builder","/plugin/edc/builder","50.plugin/50.edc/20.builder",{"title":854,"path":855,"stem":856,"children":-1},"User/Site Settings","/plugin/edc/account","50.plugin/50.edc/30.account",{"title":858,"path":859,"stem":860,"children":861,"page":55},"FAQ","/faq","99.FAQ",[862,866,870,874,878,882,886],{"title":863,"path":864,"stem":865,"children":-1},"SetFN vs Cloud Services Comparison","/faq/comparison-cloud","99.FAQ/10.comparison-cloud",{"title":867,"path":868,"stem":869,"children":-1},"SetFN vs NAS Comparison","/faq/comparison-nas","99.FAQ/20.comparison-nas",{"title":871,"path":872,"stem":873,"children":-1},"Security Policy","/faq/security-policy","99.FAQ/30.security-policy",{"title":875,"path":876,"stem":877,"children":-1},"Why Is SetFN Fast","/faq/why-fast","99.FAQ/40.why-fast",{"title":879,"path":880,"stem":881,"children":-1},"License FAQ","/faq/license-faq","99.FAQ/50.license-faq",{"title":883,"path":884,"stem":885,"children":-1},"AI Features FAQ","/faq/ai-faq","99.FAQ/60.ai-faq",{"title":887,"path":888,"stem":889,"children":-1},"Troubleshooting Guide","/faq/troubleshooting","99.FAQ/70.troubleshooting",{"title":891,"path":892,"stem":893,"children":894,"page":55},"Applied (draft)","/draft","draft",[895,899,903,907,911,915,919,923,927,931,935,939,943],{"title":896,"path":897,"stem":898,"children":-1},"Example 1. Building an Introduction Page","/draft/static-intro","draft/05.static-intro",{"title":900,"path":901,"stem":902,"children":-1},"Example 2. Building a Notice Board","/draft/public-notice-board","draft/07.public-notice-board",{"title":904,"path":905,"stem":906,"children":-1},"Example 3. Building a Coffee Chat Booking System","/draft/coffee-chat-booking","draft/08.coffee-chat-booking",{"title":908,"path":909,"stem":910,"children":-1},"Example 4. Building a Leave Request System","/draft/leave-request","draft/09.leave-request",{"title":912,"path":913,"stem":914,"children":-1},"Example 5. Building Real-Time Team Chat","/draft/team-chat","draft/10.team-chat",{"title":916,"path":917,"stem":918,"children":-1},"Example 6. Building a Job Application Intake","/draft/client-submission","draft/11.client-submission",{"title":920,"path":921,"stem":922,"children":-1},"Example 7. Building an Issue Tracker with Team and Level Conditions","/draft/crm-basic","draft/12.crm-basic",{"title":924,"path":925,"stem":926,"children":-1},"Example 8. Building a Status Filter and Stats Summary Screen","/draft/crm-search-filter","draft/13.crm-search-filter",{"title":928,"path":929,"stem":930,"children":-1},"Example 9. Building Real-Time Community Chat with Moderation","/draft/community-moderation","draft/14.community-moderation",{"title":932,"path":933,"stem":934,"children":-1},"Example 10. Building a Real-Time Attendance Check / Poll","/draft/attendance-poll","draft/15.attendance-poll",{"title":936,"path":937,"stem":938,"children":-1},"Example 11. Building a Debate Battle","/draft/debate-battle","draft/16.debate-battle",{"title":940,"path":941,"stem":942,"children":-1},"Example 13. Building an Announcement Read Receipt","/draft/announcement-read","draft/18.announcement-read",{"title":944,"path":945,"stem":946,"children":-1},"Example 14. Building an Inventory Management System","/draft/inventory-management","draft/19.inventory-management",{"title":948,"path":949,"stem":950,"children":951,"page":55},"SJAUTO","/sjauto","sjauto",[952,956,960],{"title":953,"path":954,"stem":955,"children":-1},"Access the Administrator Page","/sjauto/admin-page-access","sjauto/00.admin-page-access",{"title":957,"path":958,"stem":959,"children":-1},"Sign Up and Sign In","/sjauto/signup","sjauto/10.signup",{"title":961,"path":962,"stem":963,"children":-1},"AI Chat Files","/sjauto/ai-chat-file","sjauto/ai-chat-file",{"id":965,"title":218,"body":966,"cover":1607,"description":1608,"extension":1609,"image":1607,"meta":1610,"navigation":1612,"path":219,"seo":1613,"stem":220,"tags":1607,"thumbnail":1607,"__hash__":1624},"docs_en/10.admin/35.ai/30.mcp.md",{"type":967,"value":968,"toc":1598},"minimal",[969,973,986,991,1004,1008,1030,1036,1043,1046,1049,1053,1056,1142,1145,1151,1174,1179,1216,1221,1237,1242,1258,1263,1300,1304,1309,1316,1320,1331,1334,1395,1398,1408,1415,1461,1503,1513,1524,1554,1560,1564,1572,1576,1594],[970,971,218],"h1",{"id":972},"manage-the-mcp-server",[974,975,976,977,981,982,985],"p",{},"An MCP server is a server that lets external AI clients such as ",[978,979,980],"code",{},"Codex"," and ",[978,983,984],{},"Claude Code"," call workspace features—files, search, team activity, and more—in a standardized way.",[987,988,990],"h2",{"id":989},"before-you-begin","Before you begin",[992,993,994,998,1001],"ul",{},[995,996,997],"li",{},"Required permission: administrator",[995,999,1000],{},"Identify the member, actions, spaces, and folder paths that the connection key should allow.",[995,1002,1003],{},"Review what data may be sent to the external AI provider.",[987,1005,1007],{"id":1006},"open-the-mcp-settings","Open the MCP settings",[1009,1010,1011,1014,1024],"ol",{},[995,1012,1013],{},"Open the administrator page.",[995,1015,1016,1017,1019,1020,1023],{},"Select ",[978,1018,202],{}," > ",[978,1021,1022],{},"Tools & Integrations",".",[995,1025,1026,1027,1023],{},"Expand ",[978,1028,1029],{},"MCP Server",[1031,1032,1033],"danger",{},[974,1034,1035],{},"When using MCP features, data such as document content may be sent to an external AI provider.\nPlease pay attention to data security.",[974,1037,1038],{},[1039,1040],"img",{"alt":1041,"src":1042},"Tools and Integrations in AI Services","./_screenshots/admin-ai-integrations_en.png",[974,1044,1045],{},"Management happens in two stages. First, the administrator defines the maximum scope allowed across the organization. Each connection key for a member then receives a narrower set of actions, spaces, and paths.",[1047,1048],"hr",{},[987,1050,1052],{"id":1051},"_1-organization-wide-feature-settings","1. Organization-Wide Feature Settings",[974,1054,1055],{},"Define the maximum allowed scope that applies to all external AI connections. Features not allowed here cannot be enabled by users on their individual keys either.",[1057,1058,1059,1075],"table",{},[1060,1061,1062],"thead",{},[1063,1064,1065,1069,1072],"tr",{},[1066,1067,1068],"th",{},"Allowed Tool",[1066,1070,1071],{},"Description",[1066,1073,1074],{},"Count",[1076,1077,1078,1090,1101,1112,1122,1132],"tbody",{},[1063,1079,1080,1084,1087],{},[1081,1082,1083],"td",{},"Basic information",[1081,1085,1086],{},"Checks the current location, time, and task approval status.",[1081,1088,1089],{},"3",[1063,1091,1092,1095,1098],{},[1081,1093,1094],{},"Read files",[1081,1096,1097],{},"Views folder and file contents.",[1081,1099,1100],{},"5",[1063,1102,1103,1106,1109],{},[1081,1104,1105],{},"File/document search",[1081,1107,1108],{},"Finds material by file name or document content.",[1081,1110,1111],{},"2",[1063,1113,1114,1117,1120],{},[1081,1115,1116],{},"Team information",[1081,1118,1119],{},"Looks up team conversations and activity history. Related content may be sent to the external AI provider.",[1081,1121,1111],{},[1063,1123,1124,1127,1130],{},[1081,1125,1126],{},"Change files/folders",[1081,1128,1129],{},"Creates, edits, and moves files and folders.",[1081,1131,1100],{},[1063,1133,1134,1136,1139],{},[1081,1135,322],{},[1081,1137,1138],{},"Moves approved files to a recoverable trash. Folders are not supported.",[1081,1140,1141],{},"1",[974,1143,1144],{},"Each allowed tool consists of the following detailed features (tools).",[974,1146,1147],{},[1148,1149,1150],"strong",{},"Basic Information",[992,1152,1153,1160,1167],{},[995,1154,1155,1156,1159],{},"Check task approval status (",[978,1157,1158],{},"getApprovalStatus","): Checks whether a change task is allowed to proceed · a required tool for the approval flow",[995,1161,1162,1163,1166],{},"Check current location (",[978,1164,1165],{},"getCurrentPath","): Checks the currently viewed virtual folder location",[995,1168,1169,1170,1173],{},"Check current time (",[978,1171,1172],{},"getCurrentTime","): Checks the server's current date and time",[974,1175,1176],{},[1148,1177,1178],{},"Read Files",[992,1180,1181,1188,1195,1202,1209],{},[995,1182,1183,1184,1187],{},"View folder contents (",[978,1185,1186],{},"listResources","): Checks the files and subfolders within a folder",[995,1189,1190,1191,1194],{},"Read file (",[978,1192,1193],{},"readFile","): Reads file contents or gets the download address for a large file",[995,1196,1197,1198,1201],{},"Read large text file (",[978,1199,1200],{},"readTextFileRange","): Reads a large text file in parts",[995,1203,1204,1205,1208],{},"View favorites (",[978,1206,1207],{},"listFavoriteResources","): Checks documents registered as favorites",[995,1210,1211,1212,1215],{},"View recent documents (",[978,1213,1214],{},"listRecentResources","): Checks recently opened documents",[974,1217,1218],{},[1148,1219,1220],{},"File/Document Search",[992,1222,1223,1230],{},[995,1224,1225,1226,1229],{},"Find files (",[978,1227,1228],{},"internalFindFiles","): Finds files by name or file type",[995,1231,1232,1233,1236],{},"Search document content (",[978,1234,1235],{},"internalSearchContent","): Quickly searches for content within documents",[974,1238,1239],{},[1148,1240,1241],{},"Team Information",[992,1243,1244,1251],{},[995,1245,1246,1247,1250],{},"Search team conversations (",[978,1248,1249],{},"searchChat","): Finds content within team conversations you can view",[995,1252,1253,1254,1257],{},"Check team activity history (",[978,1255,1256],{},"getAuditLogs","): Checks the task history of teams you can view",[974,1259,1260],{},[1148,1261,1262],{},"Change Files/Folders",[992,1264,1265,1272,1279,1286,1293],{},[995,1266,1267,1268,1271],{},"Apply a partial text edit (",[978,1269,1270],{},"applyPatch","): Edits only the necessary parts of text so it doesn't conflict with other changes",[995,1273,1274,1275,1278],{},"Create folder (",[978,1276,1277],{},"createFolder","): Creates a new folder",[995,1280,1281,1282,1285],{},"Create file (",[978,1283,1284],{},"createFile","): Creates a new file",[995,1287,1288,1289,1292],{},"Update file content (",[978,1290,1291],{},"updateFile","): Edits the content of an existing file",[995,1294,1295,1296,1299],{},"Move file/folder (",[978,1297,1298],{},"moveFile","): Moves the location of a file or folder",[974,1301,1302],{},[1148,1303,322],{},[992,1305,1306],{},[995,1307,1308],{},"Move file to trash: Moves a file to trash after approval",[974,1310,1311,1312,1315],{},"You can adjust all tools at once with Select All/Deselect All, or configure them individually per tool. After configuring, click the ",[978,1313,1314],{},"Save"," button.",[987,1317,1319],{"id":1318},"_2-external-ai-connection-keys-for-members","2. External AI connection keys for members",[974,1321,1322,1323,1326,1327,1330],{},"Under ",[978,1324,1325],{},"External AI Connection Keys for Members",", an administrator selects a member and issues a key for a specific purpose. The key cannot allow actions or spaces beyond the organization policy or that member's existing permissions. Select ",[978,1328,1329],{},"Issue Key"," to create a key.",[974,1332,1333],{},"When issuing a key, you can configure the following.",[1057,1335,1336,1345],{},[1060,1337,1338],{},[1063,1339,1340,1343],{},[1066,1341,1342],{},"Item",[1066,1344,1071],{},[1076,1346,1347,1355,1363,1371,1379,1387],{},[1063,1348,1349,1352],{},[1081,1350,1351],{},"Member",[1081,1353,1354],{},"Specifies the user account that connects with this key.",[1063,1356,1357,1360],{},[1081,1358,1359],{},"Key name",[1081,1361,1362],{},"Identifies the purpose of the key.",[1063,1364,1365,1368],{},[1081,1366,1367],{},"Expiration date",[1081,1369,1370],{},"Specifies the period during which this key is valid.",[1063,1372,1373,1376],{},[1081,1374,1375],{},"Allowed task scope",[1081,1377,1378],{},"Narrows down which of the organization's allowed tools this key can actually use.",[1063,1380,1381,1384],{},[1081,1382,1383],{},"Space",[1081,1385,1386],{},"Specifies the team folder or personal folder this key can access.",[1063,1388,1389,1392],{},[1081,1390,1391],{},"Path",[1081,1393,1394],{},"Specifies the folder path allowed for access.",[974,1396,1397],{},"After issuance, the original key, MCP endpoint, and CLI setup command are provided together. The original key is shown only once, so save it in a secure location immediately.",[1399,1400,1405],"pre",{"className":1401,"code":1403,"language":1404},[1402],"language-text","MCP endpoint: https://my-company.setfn.me/api/mcp\n","text",[978,1406,1403],{"__ignoreMap":1407},"",[974,1409,1410,1411,1414],{},"First, set the issued key as the ",[978,1412,1413],{},"SETFN_MCP_TOKEN"," environment variable, then register it using the command appropriate for the client you're using.",[1399,1416,1420],{"className":1417,"code":1418,"language":1419,"meta":1407,"style":1407},"language-bash shiki shiki-themes github-light github-dark monokai","# Codex CLI\ncodex mcp add setfn --url \"https://my-company.setfn.me/api/mcp\" --bearer-token-env-var SETFN_MCP_TOKEN\n","bash",[978,1421,1422,1431],{"__ignoreMap":1407},[1423,1424,1427],"span",{"class":1425,"line":1426},"line",1,[1423,1428,1430],{"class":1429},"s8-w5","# Codex CLI\n",[1423,1432,1434,1438,1442,1445,1448,1452,1455,1458],{"class":1425,"line":1433},2,[1423,1435,1437],{"class":1436},"srTi1","codex",[1423,1439,1441],{"class":1440},"sstjo"," mcp",[1423,1443,1444],{"class":1440}," add",[1423,1446,1447],{"class":1440}," setfn",[1423,1449,1451],{"class":1450},"s7F3e"," --url",[1423,1453,1454],{"class":1440}," \"https://my-company.setfn.me/api/mcp\"",[1423,1456,1457],{"class":1450}," --bearer-token-env-var",[1423,1459,1460],{"class":1440}," SETFN_MCP_TOKEN\n",[1399,1462,1464],{"className":1417,"code":1463,"language":1419,"meta":1407,"style":1407},"# Claude Code\nclaude mcp add --transport http setfn \"https://my-company.setfn.me/api/mcp\" --header \"Authorization: Bearer $SETFN_MCP_TOKEN\"\n",[978,1465,1466,1471],{"__ignoreMap":1407},[1423,1467,1468],{"class":1425,"line":1426},[1423,1469,1470],{"class":1429},"# Claude Code\n",[1423,1472,1473,1476,1478,1480,1483,1486,1488,1490,1493,1496,1500],{"class":1425,"line":1433},[1423,1474,1475],{"class":1436},"claude",[1423,1477,1441],{"class":1440},[1423,1479,1444],{"class":1440},[1423,1481,1482],{"class":1450}," --transport",[1423,1484,1485],{"class":1440}," http",[1423,1487,1447],{"class":1440},[1423,1489,1454],{"class":1440},[1423,1491,1492],{"class":1450}," --header",[1423,1494,1495],{"class":1440}," \"Authorization: Bearer ",[1423,1497,1499],{"class":1498},"sMOD_","$SETFN_MCP_TOKEN",[1423,1501,1502],{"class":1440},"\"\n",[974,1504,1505,1506,1509,1510,1512],{},"You can use the ",[978,1507,1508],{},"Copy CLI Setup"," button to copy the above configuration as-is. Once registered this way, whether it's ",[978,1511,980],{}," or another MCP client, it can immediately call workspace features within the permission scope of the issued key.",[974,1514,1515,1516,1519,1520,1523],{},"Even after issuing a key, you can ",[1148,1517,1518],{},"rotate"," or ",[1148,1521,1522],{},"revoke"," it at any time.",[1057,1525,1526,1536],{},[1060,1527,1528],{},[1063,1529,1530,1533],{},[1066,1531,1532],{},"Action",[1066,1534,1535],{},"Meaning",[1076,1537,1538,1546],{},[1063,1539,1540,1543],{},[1081,1541,1542],{},"Rotate",[1081,1544,1545],{},"Invalidates the existing key and issues a new key with the same configuration (permissions, space, path). This is a safe way to replace a key that may have been exposed, without breaking the integration.",[1063,1547,1548,1551],{},[1081,1549,1550],{},"Revoke",[1081,1552,1553],{},"Immediately invalidates the key. No further requests can be authenticated with this key.",[974,1555,1556,1557,1559],{},"When you rotate a key, you must also update the ",[978,1558,1413],{}," value and the key registered with the client to the newly issued value.",[987,1561,1563],{"id":1562},"security-precautions","Security Precautions",[992,1565,1566,1569],{},[995,1567,1568],{},"We recommend not exposing the MCP endpoint directly to the outside. If external integration is required, apply HTTPS, authentication tokens, IP restrictions, and permission scope limits, and restrict callable tools to only the necessary scope.",[995,1570,1571],{},"In particular, it is safer to use MCP servers connected to high-impact tools—such as file access, code execution, sending email, or running workflows—only from an internal network or a trusted network.",[987,1573,1575],{"id":1574},"related-documents","Related Documents",[992,1577,1578,1584,1589],{},[995,1579,1580],{},[1581,1582,207],"a",{"href":1583},"/docs/admin/ai/",[995,1585,1586],{},[1581,1587,213],{"href":1588},"/docs/admin/ai/integrations/",[995,1590,1591],{},[1581,1592,339],{"href":1593},"/docs/workspace/account/account-settings/",[1595,1596,1597],"style",{},"html pre.shiki code .s8-w5, html code.shiki .s8-w5{--shiki-default:#6A737D;--shiki-dark:#6A737D;--shiki-sepia:#88846F}html pre.shiki code .srTi1, html code.shiki .srTi1{--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sstjo, html code.shiki .sstjo{--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .s7F3e, html code.shiki .s7F3e{--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}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 .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .sMOD_, html code.shiki .sMOD_{--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}",{"title":1407,"searchDepth":1433,"depth":1599,"links":1600},3,[1601,1602,1603,1604,1605,1606],{"id":989,"depth":1433,"text":990},{"id":1006,"depth":1433,"text":1007},{"id":1051,"depth":1433,"text":1052},{"id":1318,"depth":1433,"text":1319},{"id":1562,"depth":1433,"text":1563},{"id":1574,"depth":1433,"text":1575},null,"Learn how administrators set the organization's MCP tool scope and issue external AI connection keys for members.","md",{"slug":1611},"/admin/ai/mcp/",true,{"title":1614,"description":1615,"ogType":1616,"twitterCard":1617,"keywords":1618},"Manage the MCP Server | Admin Docs","Explains how admins define the maximum organization-wide allowed scope, and how each user issues an external AI connection key within that scope, so that external AI clients such as Codex and Claude Code can call workspace features via MCP.","article","summary_large_image",[1619,1620,1621,1622,1623,980,984],"MCP server management","MCP","Organization-wide feature settings","Per-user external AI connection keys","Key issuance","JB7tFQOZyrKSNPD_634-08abspa_r8DictR-QGvHJhs",[1626,1627],{"title":213,"path":214,"stem":215,"children":-1},{"title":227,"path":228,"stem":229,"children":-1},{"title":218,"filename":1629,"content":1630},"mcp","# Manage the MCP Server\r\n\r\nAn MCP server is a server that lets external AI clients such as `Codex` and `Claude Code` call workspace features—files, search, team activity, and more—in a standardized way.\r\n\r\n## Before you begin\r\n\r\n- Required permission: administrator\r\n- Identify the member, actions, spaces, and folder paths that the connection key should allow.\r\n- Review what data may be sent to the external AI provider.\r\n\r\n## Open the MCP settings\r\n\r\n1. Open the administrator page.\r\n2. Select `AI Services` > `Tools & Integrations`.\r\n3. Expand `MCP Server`.\r\n\r\n::danger\r\nWhen using MCP features, data such as document content may be sent to an external AI provider.\r\nPlease pay attention to data security.\r\n::\r\n\r\n![Tools and Integrations in AI Services](./_screenshots/admin-ai-integrations_en.png)\r\n\r\nManagement happens in two stages. First, the administrator defines the maximum scope allowed across the organization. Each connection key for a member then receives a narrower set of actions, spaces, and paths.\r\n\r\n---\r\n\r\n## 1. Organization-Wide Feature Settings\r\n\r\nDefine the maximum allowed scope that applies to all external AI connections. Features not allowed here cannot be enabled by users on their individual keys either.\r\n\r\n| Allowed Tool | Description | Count |\r\n|------|------|------|\r\n| Basic information | Checks the current location, time, and task approval status. | 3 |\r\n| Read files | Views folder and file contents. | 5 |\r\n| File/document search | Finds material by file name or document content. | 2 |\r\n| Team information | Looks up team conversations and activity history. Related content may be sent to the external AI provider. | 2 |\r\n| Change files/folders | Creates, edits, and moves files and folders. | 5 |\r\n| Trash | Moves approved files to a recoverable trash. Folders are not supported. | 1 |\r\n\r\nEach allowed tool consists of the following detailed features (tools).\r\n\r\n**Basic Information**\r\n- Check task approval status (`getApprovalStatus`): Checks whether a change task is allowed to proceed · a required tool for the approval flow\r\n- Check current location (`getCurrentPath`): Checks the currently viewed virtual folder location\r\n- Check current time (`getCurrentTime`): Checks the server's current date and time\r\n\r\n**Read Files**\r\n- View folder contents (`listResources`): Checks the files and subfolders within a folder\r\n- Read file (`readFile`): Reads file contents or gets the download address for a large file\r\n- Read large text file (`readTextFileRange`): Reads a large text file in parts\r\n- View favorites (`listFavoriteResources`): Checks documents registered as favorites\r\n- View recent documents (`listRecentResources`): Checks recently opened documents\r\n\r\n**File/Document Search**\r\n- Find files (`internalFindFiles`): Finds files by name or file type\r\n- Search document content (`internalSearchContent`): Quickly searches for content within documents\r\n\r\n**Team Information**\r\n- Search team conversations (`searchChat`): Finds content within team conversations you can view\r\n- Check team activity history (`getAuditLogs`): Checks the task history of teams you can view\r\n\r\n**Change Files/Folders**\r\n- Apply a partial text edit (`applyPatch`): Edits only the necessary parts of text so it doesn't conflict with other changes\r\n- Create folder (`createFolder`): Creates a new folder\r\n- Create file (`createFile`): Creates a new file\r\n- Update file content (`updateFile`): Edits the content of an existing file\r\n- Move file/folder (`moveFile`): Moves the location of a file or folder\r\n\r\n**Trash**\r\n- Move file to trash: Moves a file to trash after approval\r\n\r\nYou can adjust all tools at once with Select All/Deselect All, or configure them individually per tool. After configuring, click the `Save` button.\r\n\r\n## 2. External AI connection keys for members\r\n\r\nUnder `External AI Connection Keys for Members`, an administrator selects a member and issues a key for a specific purpose. The key cannot allow actions or spaces beyond the organization policy or that member's existing permissions. Select `Issue Key` to create a key.\r\n\r\nWhen issuing a key, you can configure the following.\r\n\r\n| Item | Description |\r\n|------|------|\r\n| Member | Specifies the user account that connects with this key. |\r\n| Key name | Identifies the purpose of the key. |\r\n| Expiration date | Specifies the period during which this key is valid. |\r\n| Allowed task scope | Narrows down which of the organization's allowed tools this key can actually use. |\r\n| Space | Specifies the team folder or personal folder this key can access. |\r\n| Path | Specifies the folder path allowed for access. |\r\n\r\nAfter issuance, the original key, MCP endpoint, and CLI setup command are provided together. The original key is shown only once, so save it in a secure location immediately.\r\n\r\n```\r\nMCP endpoint: https://my-company.setfn.me/api/mcp\r\n```\r\n\r\nFirst, set the issued key as the `SETFN_MCP_TOKEN` environment variable, then register it using the command appropriate for the client you're using.\r\n\r\n```bash\r\n# Codex CLI\r\ncodex mcp add setfn --url \"https://my-company.setfn.me/api/mcp\" --bearer-token-env-var SETFN_MCP_TOKEN\r\n```\r\n```bash\r\n# Claude Code\r\nclaude mcp add --transport http setfn \"https://my-company.setfn.me/api/mcp\" --header \"Authorization: Bearer $SETFN_MCP_TOKEN\"\r\n```\r\n\r\nYou can use the `Copy CLI Setup` button to copy the above configuration as-is. Once registered this way, whether it's `Codex` or another MCP client, it can immediately call workspace features within the permission scope of the issued key.\r\n\r\nEven after issuing a key, you can **rotate** or **revoke** it at any time.\r\n\r\n| Action | Meaning |\r\n|------|------|\r\n| Rotate | Invalidates the existing key and issues a new key with the same configuration (permissions, space, path). This is a safe way to replace a key that may have been exposed, without breaking the integration. |\r\n| Revoke | Immediately invalidates the key. No further requests can be authenticated with this key. |\r\n\r\nWhen you rotate a key, you must also update the `SETFN_MCP_TOKEN` value and the key registered with the client to the newly issued value.\r\n\r\n## Security Precautions\r\n\r\n- We recommend not exposing the MCP endpoint directly to the outside. If external integration is required, apply HTTPS, authentication tokens, IP restrictions, and permission scope limits, and restrict callable tools to only the necessary scope.\r\n\r\n- In particular, it is safer to use MCP servers connected to high-impact tools—such as file access, code execution, sending email, or running workflows—only from an internal network or a trusted network.\r\n\r\n## Related Documents\r\n\r\n- [Manage AI Services](/docs/admin/ai/)\r\n- [Configure Tools & Integrations](/docs/admin/ai/integrations/)\r\n- [Account Settings](/docs/workspace/account/account-settings/)\n",1791199124403]