PageSourceSearch

https://theanswer.ai/assets/js/49a5856f.bce16ba5.js

js theanswer.ai collected 2026-10-02 00:42:33 UTC 7,474 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1973],{8667:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>l});var t=s(22155);const o={},i=t.createContext(o);function r(e){const n=t.useContext(i);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(i.Provider,{value:n},e.children)}},42056:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"sidekick-studio/chatflows/tools-mcp/custom-mcp","title":"Custom MCP","description":"Create custom integrations for proprietary systems","source":"@site/docs/sidekick-studio/chatflows/tools-mcp/custom-mcp.md","sourceDirName":"sidekick-studio/chatflows/tools-mcp","slug":"/sidekick-studio/chatflows/tools-mcp/custom-mcp","permalink":"/docs/sidekick-studio/chatflows/tools-mcp/custom-mcp","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":9,"frontMatter":{"sidebar_position":9,"title":"Custom MCP","description":"Create custom integrations for proprietary systems"},"sidebar":"docs","previous":{"title":"BraveSearch MCP","permalink":"/docs/sidekick-studio/chatflows/tools-mcp/bravesearch-mcp"},"next":{"title":"Linear MCP","permalink":"/docs/sidekick-studio/chatflows/tools-mcp/linear-mcp"}}');var o=s(65723),i=s(8667);const r={sidebar_position:9,title:"Custom MCP",description:"Create custom integrations for proprietary systems"},l="Custom MCP for Answer Agent",a={},c=[{value:"What is a Custom MCP?",id:"what-is-a-custom-mcp",level:2},{value:"Creating a Custom MCP",id:"creating-a-custom-mcp",level:2},{value:"MCP Server Implementation",id:"mcp-server-implementation",level:3},{value:"Example Implementation",id:"example-implementation",level:3},{value:"Configuring Custom MCP",id:"configuring-custom-mcp",level:2},{value:"Available Tools",id:"available-tools",level:2},{value:"Best Practices",id:"best-practices",level:2},{value:"Example Use Cases",id:"example-use-cases",level:2}];function d(e){const n={em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"custom-mcp-for-answer-agent",children:"Custom MCP for Answer Agent"})}),"\n",(0,o.jsx)(n.p,{children:"This documentation outlines how to create and use custom Model Context Protocol (MCP) integrations with Answer Agent. Custom MCPs allow you to build connections to proprietary systems, internal tools, or any API not covered by the built-in MCPs."}),"\n",(0,o.jsx)(n.h2,{id:"what-is-a-custom-mcp",children:"What is a Custom MCP?"}),"\n",(0,o.jsx)(n.p,{children:"A Custom MCP is a server that implements the Model Context Protocol standard, exposing tools that Answer Agent can use to interact with your target system. By creating a custom MCP, you can:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Connect to internal systems"})," that aren't accessible through public APIs"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Add functionality"})," not available in the standard MCPs"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Customize interactions"})," specific to your organization's needs"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Integrate with legacy systems"})," using your own abstraction layer"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"creating-a-custom-mcp",children:"Creating a Custom MCP"}),"\n",(0,o.jsx)(n.p,{children:"To create a custom MCP, you'll need to:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Implement the MCP server protocol"})," - Either from scratch or by extending an existing MCP server"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Define your tools"})," - The operations your MCP will expose to Answer Agent"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Handle authentication"})," - Secure your integration with appropriate authentication"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Deploy your server"})," - Make it accessible to Answer Agent"]}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"mcp-server-implementation",children:"MCP Server Implementation"}),"\n",(0,o.jsx)(n.p,{children:"The MCP protocol defines a standard way for AI assistants to discover and call tools. Your server needs to implement:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Tool listing: Providing metadata about available tools"}),"\n",(0,o.jsx)(n.li,{children:"Tool calling: Executing operations based on parameters"}),"\n",(0,o.jsx)(n.li,{children:"Error handling: Providing meaningful errors for debugging"}),"\n"]}),"\n",(0,o.jsx)(n.h3,{id:"example-implementation",children:"Example Implementation"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Detailed implementation examples and code snippets are coming soon."})}),"\n",(0,o.jsx)(n.h2,{id:"configuring-custom-mcp",children:"Configuring Custom MCP"}),"\n",(0,o.jsx)(n.p,{children:"To connect your Custom MCP to Answer Agent, you'll need:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Server URL or Path"}),": The location where your MCP server is running"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Authentication Details"}),": Any credentials needed to access your MCP"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"available-tools",children:"Available Tools"}),"\n",(0,o.jsx)(n.p,{children:"The tools available in your Custom MCP depend entirely on your implementation. Common patterns include:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"CRUD Operations"}),": Create, read, update, delete for your system's resources"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Search Functionality"}),": Finding resources based on criteria"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Process Triggering"}),": Starting workflows or processes in your system"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Data Transformation"}
1),": Converting data between formats"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Security First"}),": Implement proper authentication and authorization"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Clear Documentation"}),": Document your tools for easier use"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Robust Error Handling"}),": Provide meaningful error messages"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Rate Limiting"}),": Protect your systems from overload"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"Logging"}),": Track usage for debugging and improvement"]}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"example-use-cases",children:"Example Use Cases"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.em,{children:"Detailed use cases and examples are coming soon."})})]})}function m(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}}}]);

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.