Use MCP Tools
Model Context Protocol (MCP) servers expose additional tools to Snippbot agents. Once connected, tools from MCP servers appear alongside built-in tools and can be called by any agent.
What is MCP?
Section titled “What is MCP?”MCP is an open protocol that lets AI agents communicate with external tool servers using a standard interface. An MCP server exposes a set of tools (functions the agent can call) over either:
- stdio — The agent launches the server as a subprocess and communicates via stdin/stdout
- HTTP/SSE — The agent connects to an already-running HTTP server
Built-in catalog
Section titled “Built-in catalog”Snippbot ships with 21 pre-built MCP server entries ready to install:
| Category | Servers |
|---|---|
| Productivity & Knowledge | Google Drive, Microsoft 365, Notion, Slack, Obsidian |
| Development & DevOps | GitHub, Filesystem, PostgreSQL, Supabase, Kubernetes |
| Web & Automation | Brave Search, DuckDuckGo Search, Playwright Browser, Puppeteer Browser, Zapier MCP |
| Specialized Tools | Figma, Stripe, Blender MCP |
| Quality & Intelligence | Context7, Sequential Thinking, MCP Memory |
Connecting an MCP server
Section titled “Connecting an MCP server”-
Open the Skills page in the sidebar
-
Click “Add Server” or browse the Catalog tab
-
Configure the server — fill in the form fields:
- Name — a label for the server (e.g., “my-filesystem”)
- Transport — select
stdioorHTTP/SSE - Command — the executable to launch (e.g.,
npx) - Args — command arguments (e.g.,
-y @modelcontextprotocol/server-filesystem /workspace)
-
Click “Connect” — Snippbot launches the server, discovers its tools, and displays them
-
Enable the server for agents that should have access
Catalog install (one click)
Section titled “Catalog install (one click)”From the Catalog tab, click any pre-built server. A configuration dialog appears where you fill in any required fields (such as a personal access token for GitHub). Click Install and the server is configured, connected, and tools discovered automatically.
Tool namespacing
Section titled “Tool namespacing”MCP tools appear in agents with namespaced names to avoid conflicts:
Tools follow the naming format mcp__{server_name}__{tool_name} — for example, mcp__github__create_issue, mcp__filesystem__read_file, or mcp__postgresql__execute_query.
Agents see each tool’s description prefixed with the server name, such as “[GitHub] Create a new issue in a repository”.
Transport configuration
Section titled “Transport configuration”When adding a server on the Skills page, you choose the transport type and fill in the relevant fields.
stdio transport
Section titled “stdio transport”For servers that run as a local subprocess. Fill in:
| Field | Description | Example |
|---|---|---|
| Name | Server label | filesystem |
| Transport | Select stdio | — |
| Command | Executable to launch | npx |
| Args | Command arguments | -y @modelcontextprotocol/server-filesystem /home/user/projects |
The server process is started on demand and kept alive for the session.
HTTP/SSE transport
Section titled “HTTP/SSE transport”For servers running as a service. Fill in:
| Field | Description | Example |
|---|---|---|
| Name | Server label | my-api-server |
| Transport | Select HTTP/SSE | — |
| URI | Server URL | http://localhost:3000/mcp |
OAuth2 authentication for HTTP servers
Section titled “OAuth2 authentication for HTTP servers”For HTTP MCP servers that require OAuth2, expand the Authentication section in the server form and fill in:
| Field | Description |
|---|---|
| Auth Type | Select OAuth2 Client Credentials |
| Token URL | The provider’s token endpoint (e.g., https://auth.example.com/oauth2/token) |
| Client ID | Your OAuth2 client ID |
| Client Secret | Your OAuth2 client secret |
| Scope | Required scopes (e.g., mcp:read mcp:write) |
Snippbot handles token acquisition, caching, and refresh automatically. Tokens are refreshed 60 seconds before expiry.
Testing a connection
Section titled “Testing a connection”From the Skills page, select a server and click Test Connection. The result displays connection status, the number of discovered tools, latency, and server capabilities.
Managing servers
Section titled “Managing servers”Manage MCP servers from the Skills page in the sidebar. You can connect, disconnect, view discovered tools, and remove servers directly from the UI. Each server card shows its connection status, discovered tools count, and provides actions to connect, disconnect, or remove.
Assigning tools to agents
Section titled “Assigning tools to agents”By default, all enabled MCP servers’ tools are available to all agents. To restrict:
-
Open the agent detail page → Settings tab
-
Under Tools, deselect specific MCP tools or entire servers
-
Save
When spawning a sub-agent, the parent agent can also restrict tool access. See Use Sub-Agents for details on tool isolation.
Creating your own MCP server
Section titled “Creating your own MCP server”Any HTTP or stdio server implementing the MCP protocol can be connected. A minimal Python example:
from mcp.server import Serverfrom mcp.types import Tool, TextContent
app = Server("my-tools")
@app.list_tools()async def list_tools(): return [Tool(name="greet", description="Greet someone", inputSchema={ "type": "object", "properties": {"name": {"type": "string"}}, "required": ["name"] })]
@app.call_tool()async def call_tool(name, arguments): if name == "greet": return [TextContent(type="text", text=f"Hello, {arguments['name']}!")]Run it: python server.py and connect with transport: stdio, command: python, args: [server.py].