Model Context Protocol (MCP) - Factory Documentation (original) (raw)

Model Context Protocol (MCP) servers extend droid’s capabilities by providing additional tools and context. Droid offers two ways to manage them: an interactive UI for easy browsing and setup, or CLI commands for scripting and automation.

Quick Start: Add from Registry

The easiest way to get started is using the built-in registry. Type /mcp in droid and select “Add from Registry” to browse 40+ pre-configured servers:

Server Description
linear Issue tracking and project management
sentry Error tracking and performance monitoring
notion Notes, docs, and project management
supabase Create and manage Supabase projects
stripe Payment processing APIs
vercel Manage projects and deployments
playwright End-to-end browser testing
hubspot CRM data management
mongodb Database management
and many more

Select a server from the list, authenticate if required (most HTTP servers support OAuth—just follow the browser prompt), and the server is ready to use.

Interactive Manager (/mcp)

Type /mcp within droid to open the interactive MCP manager. From here you can:

Adding Servers via CLI

For scripting and automation, use droid mcp add. Droid supports two types of servers: http (remote endpoints) and stdio (local processes).

Adding HTTP Servers

HTTP servers are remote MCP endpoints - the recommended way to connect to cloud services and APIs. Syntax:

droid mcp add <name> <url> --type http [--header "KEY: VALUE"...]

Arguments:

Development & Testing

Sentry - Monitor errors, debug production issues

droid mcp add sentry https://mcp.sentry.dev/mcp --type http

Hugging Face - Access Hugging Face Hub and Gradio AI applications

droid mcp add hugging-face https://huggingface.co/mcp --type http

Socket - Security analysis for dependencies

droid mcp add socket https://mcp.socket.dev/ --type http

Project Management & Documentation

Notion - Read docs, update pages, manage tasks

droid mcp add notion https://mcp.notion.com/mcp --type http

Linear - Issue tracking and project management

droid mcp add linear https://mcp.linear.app/mcp --type http

Intercom - Access customer conversations and tickets

droid mcp add intercom https://mcp.intercom.com/mcp --type http

Monday - Manage monday.com boards and items

droid mcp add monday https://mcp.monday.com/mcp --type http

Payments & Commerce

Stripe - Payment processing and subscriptions

droid mcp add stripe https://mcp.stripe.com --type http

PayPal - PayPal commerce and payment processing

droid mcp add paypal https://mcp.paypal.com/mcp --type http

Design & Media

Figma - Generate code with Figma context

droid mcp add figma https://mcp.figma.com/mcp --type http

Canva - Browse, summarize, and generate Canva designs

droid mcp add canva https://mcp.canva.com/mcp --type http

TwelveLabs - Video analysis, search, and AI-powered insights

droid mcp add twelvelabs-mcp https://mcp.twelvelabs.io --type http \
  --header "x-api-key: YOUR_TWELVELABS_API_KEY"

Infrastructure & DevOps

Netlify - Create, deploy, and manage websites

droid mcp add netlify https://netlify-mcp.netlify.app/mcp --type http

Vercel - Manage projects, deployments, and logs

droid mcp add vercel https://mcp.vercel.com/ --type http

Stytch - Configure authentication services

droid mcp add stytch http://mcp.stytch.dev/mcp --type http

Adding Stdio Servers

Stdio servers run as local processes on your machine - ideal for tools that need direct system access. Syntax:

droid mcp add <name> "<command>" [--env KEY=VALUE...]

Arguments:

Airtable - Read/write records, manage bases and tables

droid mcp add airtable "npx -y airtable-mcp-server" \
  --env AIRTABLE_API_KEY=your_key

ClickUp - Task management and project tracking

droid mcp add clickup "npx -y @hauptsache.net/clickup-mcp" \
  --env CLICKUP_API_KEY=your_key \
  --env CLICKUP_TEAM_ID=your_team_id

HubSpot - Access and manage CRM data

droid mcp add hubspot "npx -y @hubspot/mcp-server" \
  --env HUBSPOT_ACCESS_TOKEN=your_token

Removing Servers

Remove a server from your configuration:

Example:

Managing Servers

Type /mcp within droid to open an interactive UI for managing MCP servers.

Configuration

MCP server configurations can be stored at two levels:

Level Location Purpose
User ~/.factory/mcp.json Your personal servers, available in all projects
Project .factory/mcp.json Shared team servers, committed to the repo

How Layering Works

User config takes priority over project config. When both levels define the same server, the user-level settings win. Key behaviors:

OAuth Tokens

OAuth tokens are stored globally in your system keyring (or fallback file), not per-project. If you authenticate with a server in one project, you’re authenticated everywhere that server is configured. To clear authentication for a server, use the /mcp interactive manager and select “Clear Auth”.

Configuration Schema

Each server entry includes:

For stdio servers:

For http servers:

Example mcp.json:

{
  "mcpServers": {
    "linear": {
      "type": "http",
      "url": "https://mcp.linear.app/mcp",
      "disabled": false
    },
    "playwright": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"],
      "disabled": false
    }
  }
}

Droid automatically reloads when the configuration file changes, so servers are immediately available after adding them.