1"use strict";(globalThis.webpackChunkrow_bot_docs=globalThis.webpackChunkrow_bot_docs||[]).push([[2580],{2041(e,s,n){n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>d,default:()=>u,frontMatter:()=>l,metadata:()=>t,toc:()=>a});const t=JSON.parse('{"id":"settings/mcp","title":"Settings: MCP","description":"Add, browse, import, connect, test and troubleshoot MCP servers and their runtimes in Settings \u203a MCP.","source":"@site/docs/settings/mcp.mdx","sourceDirName":"settings","slug":"/settings/mcp","permalink":"/docs/settings/mcp","draft":false,"unlisted":false,"editUrl":"https://github.com/siddsachar/row-bot/edit/main/docs-site/docs/settings/mcp.mdx","tags":[],"version":"current","frontMatter":{"title":"Settings: MCP","description":"Add, browse, import, connect, test and troubleshoot MCP servers and their runtimes in Settings \u203a MCP."},"sidebar":"docs","previous":{"title":"Settings: Channels","permalink":"/docs/settings/channels"},"next":{"title":"Settings: Plugins","permalink":"/docs/settings/plugins"}}');var r=n(4848),i=n(8453),o=n(1608);const l={title:"Settings: MCP",description:"Add, browse, import, connect, test and troubleshoot MCP servers and their runtimes in Settings \u203a MCP."},d="Settings: MCP",c={},a=[{value:"Where To Find It",id:"where-to-find-it",level:2},{value:"Switches And Runtimes",id:"switches-and-runtimes",level:2},{value:"Your Servers",id:"your-servers",level:2},{value:"Add A Server",id:"add-a-server",level:2},{value:"Common Workflow",id:"common-workflow",level:2},{value:"What Is Saved",id:"what-is-saved",level:2},{value:"Privacy And Safety",id:"privacy-and-safety",level:2},{value:"Control-Level Reference",id:"control-level-reference",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function h(e){const s={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"settings-mcp",children:"Settings: MCP"})}),"\n",(0,r.jsx)(s.p,{children:"MCP, the Model Context Protocol, lets Row-Bot use tools provided by another program on this computer or a server online. Treat MCP servers like extensions: only connect servers you trust and understand."}),"\n",(0,r.jsx)(o.A,{id:"settings-mcp",alt:"Settings: MCP in Row-Bot.",caption:"The MCP page puts the MCP switches and runtimes first, then your saved servers with their status and Connect or Disconnect."}),"\n",(0,r.jsx)(s.h2,{id:"where-to-find-it",children:"Where To Find It"}),"\n",(0,r.jsxs)(s.p,{children:["Open ",(0,r.jsx)(s.strong,{children:"Settings"}),", then choose ",(0,r.jsx)(s.strong,{children:"MCP"})," in the ",(0,r.jsx)(s.strong,{children:"Capabilities"})," group, or search for it with ",(0,r.jsx)(s.strong,{children:"Find a setting"}),"."]}),"\n",(0,r.jsx)(s.h2,{id:"switches-and-runtimes",children:"Switches And Runtimes"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Use MCP servers"})," is the overall switch for MCP."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Offer MCP tools in chats"})," decides whether conversations can use MCP tools."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Runtimes (Node.js, uv)"})," shows whether the runtimes many servers need are installed, and installs a managed copy when you ask."]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"your-servers",children:"Your Servers"}),"\n",(0,r.jsxs)(s.p,{children:["Each saved server shows where it runs (on this computer or online) and its status: ",(0,r.jsx)(s.strong,{children:"Connected"}),", ",(0,r.jsx)(s.strong,{children:"Couldn't connect"}),", or ",(0,r.jsx)(s.strong,{children:"On \xb7 not connected"}),". Its main button does the next sensible thing: ",(0,r.jsx)(s.strong,{children:"Connect"}),", ",(0,r.jsx)(s.strong,{children:"Turn on & connect"}),", or ",(0,r.jsx)(s.strong,{children:"Disconnect"}),". Its ",(0,r.jsx)(s.strong,{children:"\u22ef"})," menu offers:"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Details"}),", a drawer with the server's connection, its tools and their permissions;"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Test connection"}),";"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Edit settings\u2026"})," and ",(0,r.jsx)(s.strong,{children:"Rename\u2026"}),";"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Remove server\u2026"}),", which deletes its settings and saved keys and stops its connection."]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"add-a-server",children:"Add A Server"}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"Add a server"})," opens three ways to add one:"]}
1),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Browse"})," searches a directory of servers and fills in the details for you."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Manual"})," asks for the name, the type (a command on this computer, or a URL), the command and arguments or the address, and any headers or keys."]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Paste JSON"})," imports a configuration from another app."]}),"\n"]}),"\n",(0,r.jsx)(s.p,{children:"A new server stays turned off until you connect it, so you can check it first."}),"\n",(0,r.jsx)(s.h2,{id:"common-workflow",children:"Common Workflow"}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsx)(s.li,{children:"Add or import a trusted server; it is saved turned off."}),"\n",(0,r.jsx)(s.li,{children:"Install a runtime if the server needs one."}),"\n",(0,r.jsxs)(s.li,{children:["Choose ",(0,r.jsx)(s.strong,{children:"Connect"}),", then open ",(0,r.jsx)(s.strong,{children:"Details"})," to review its tools and permissions."]}),"\n",(0,r.jsx)(s.li,{children:"Leave the server off, or remove it, if its tools can reach more than you want."}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"what-is-saved",children:"What Is Saved"}),"\n",(0,r.jsx)(s.p,{children:"MCP server definitions are local settings, and their keys use secret storage. A server may still access files, accounts, or networks according to its own implementation, so review its command or URL."}),"\n",(0,r.jsx)(s.h2,{id:"privacy-and-safety",children:"Privacy And Safety"}),"\n",(0,r.jsx)(s.p,{children:"An MCP tool call sends the data that call needs to that server, which may be online. Consequential MCP tools still ask for approval."}),"\n",(0,r.jsx)(s.h2,{id:"control-level-reference",children:"Control-Level Reference"}),"\n",(0,r.jsxs)(s.p,{children:["The ",(0,r.jsx)(s.a,{href:"/docs/reference/generated/settings-controls#mcp-controls",children:"generated Settings Controls reference"})," lists every searchable setting on this page with its deep link, search keywords, and any dependency or security notes."]}),"\n",(0,r.jsx)(s.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["If a server shows ",(0,r.jsx)(s.strong,{children:"Couldn't connect"}),", use ",(0,r.jsx)(s.strong,{children:"Test connection"}),", then check its command, arguments, URL and runtime."]}),"\n",(0,r.jsxs)(s.li,{children:["If tools do not appear in chats, check ",(0,r.jsx)(s.strong,{children:"Use MCP servers"}),", ",(0,r.jsx)(s.strong,{children:"Offer MCP tools in chats"})," and the server's own status."]}),"\n",(0,r.jsxs)(s.li,{children:["If a tool asks for risky access, deny the approval and review the server's ",(0,r.jsx)(s.strong,{children:"Details"}),"."]}),"\n"]})]})}function u(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},1608(e,s,n){n.d(s,{A:()=>i});var t=n(6540),r=n(4848);function i({id:e,alt:s,caption:n}){const i=`/img/screenshots/real-ui/${e}.png?v=5.0.0`,o=e.startsWith("mobile-"),[l,d]=(0,t.useState)(!1);return l?(0,r.jsx)(r.Fragment,{}):(0,r.jsxs)("figure",{className:"rowBotScreenshot"+(o?" rowBotScreenshotMobile":""),children:[(0,r.jsx)("img",{src:i,alt:s,loading:"lazy",width:o?390:void 0,height:o?844:void 0,onError:()=>d(!0)}),n?(0,r.jsx)("figcaption",{children:n}):null]})}},8453(e,s,n){n.d(s,{R:()=>o,x:()=>l});var t=n(6540);const r={},i=t.createContext(r);function o(e){const s=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function l(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(i.Provider,{value:s},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.