For AI Agents

Use the Dock AI MCP server to discover connectors for real-world businesses.

Quick Start

Add Dock AI to your Claude Desktop configuration:

{
  "mcpServers": {
    "dock-ai": {
      "url": "https://connect.dockai.co/mcp"
    }
  }
}

Config file location: ~/Library/Application Support/Claude/claude_desktop_config.json

Remote URL: https://connect.dockai.co/mcp

No installation required. Just add the URL to your MCP client.

How it works

  1. User asks to interact with a business (e.g., "Book a table at Septime")
  2. AI calls resolve_domain("septime-charonne.fr")
  3. Dock AI returns the entity + available connectors + capabilities
  4. AI calls execute_action with the required parameters

Authentication

The MCP server uses OAuth 2.0 to authenticate users. When you add the Dock AI connector to your AI assistant, you'll be prompted to sign in once.

How OAuth works with MCP

  1. Add the Dock AI connector to Claude, ChatGPT, or Mistral
  2. First time you use it, you'll see a "Connect" button
  3. Sign in with your email (6-digit code, no password needed)
  4. Done! The connector handles authentication automatically

Why authentication? Actions like booking or sending messages are executed on your behalf. Authentication ensures traceability and prevents abuse.

For direct API access

If you need to call the API directly (not via MCP), request an API key at support@dockai.co.

Tool: resolve_domain

Resolve a domain to its entity and connectors.

ParameterTypeDescription
domainstringDomain to resolve (e.g., "septime-charonne.fr")

Response

{
  "domain": "septime-charonne.fr",
  "entity": {
    "id": "uuid",
    "name": "Septime",
    "domain": "septime-charonne.fr",
    "category": "restaurant",
    "city": "Paris",
    "country": "FR"
  },
  "connectors": [
    {
      "slug": "zenchef",
      "name": "Zenchef",
      "category": "booking",
      "status": "connected",
      "mcp_endpoint": "https://mcp.zenchef.com",
      "external_id": "12345"
    }
  ],
  "capabilities": [
    {
      "action": "book",
      "name": "Booking",
      "description": "Book a table. Open Tuesday to Saturday.",
      "input_schema": {
        "date": { "type": "string", "required": true, "description": "Date", "format": "date" },
        "time": { "type": "string", "required": true, "description": "Time", "format": "time" },
        "guests": { "type": "number", "required": true, "description": "Number of guests" },
        "name": { "type": "string", "required": true, "description": "Name" }
      }
    },
    {
      "action": "send_message",
      "name": "Contact",
      "description": "Send a message to the team.",
      "input_schema": {
        "name": { "type": "string", "required": true, "description": "Name" },
        "email": { "type": "string", "required": true, "description": "Email", "format": "email" },
        "message": { "type": "string", "required": true, "description": "Message" }
      }
    }
  ],
  "_ai_hint": "MCP endpoint found for Septime! ..."
}

Response Fields

FieldDescription
entityBusiness info (name, location, category)
connectorsList of software providers for this business
capabilitiesActions available for this business (booking, contact, etc.)
capabilities[].actionAction identifier (book, send_message, search_catalog...)
capabilities[].input_schemaParameters required for this action (type, required, description, format)
connectors[].status"connected" = MCP available, "not_connected" = detected but no MCP yet
connectors[].mcp_endpointMCP server URL (only if connected)
_ai_hintHuman-readable hint for the AI assistant

Tool: execute_action

Execute a business action discovered via resolve_domain.

Requires authentication. The MCP handles this automatically. See Authentication above.

ParameterTypeDescription
entity_idstringEntity UUID from resolve_domain response
actionstringAction identifier (e.g., "book", "send_message")
paramsobjectParameters matching the action's input_schema

Response

{
  "success": true,
  "action": "book",
  "result": {
    "confirmation": "Your booking has been confirmed",
    "reference": "RES-12345"
  }
}

Usage Examples

Example 1: Restaurant Booking via Capabilities

// User: "Book a table at Septime Paris for 4 people on Friday"

// Step 1: AI searches web for restaurant domain
// Found: septime-charonne.fr

// Step 2: AI calls resolve_domain
resolve_domain("septime-charonne.fr")

// Step 3: Response includes capabilities
{
  "entity": { "id": "abc-123", "name": "Septime", "city": "Paris" },
  "capabilities": [
    {
      "action": "book",
      "name": "Booking",
      "description": "Book a table. Open Tuesday to Saturday.",
      "input_schema": {
        "date": { "type": "string", "required": true, "format": "date" },
        "time": { "type": "string", "required": true, "format": "time" },
        "guests": { "type": "number", "required": true },
        "name": { "type": "string", "required": true }
      }
    }
  ]
}

// Step 4: AI calls execute_action with the parameters
execute_action("abc-123", "book", {
  "date": "2025-02-14",
  "time": "20:00",
  "guests": 4,
  "name": "John Smith"
})

// Step 5: Booking confirmed!
{ "success": true, "result": { "confirmation": "Booking confirmed" } }

Example 2: No MCP Available

// User: "Order from Pizza Hut"
resolve_domain("pizzahut.fr")

// Response
{
  "entity": { "name": "Pizza Hut France", "category": "restaurant" },
  "connectors": [
    {
      "slug": "deliveroo",
      "name": "Deliveroo",
      "status": "not_connected"
    },
    {
      "slug": "ubereats",
      "name": "Uber Eats",
      "status": "not_connected"
    }
  ],
  "_ai_hint": "This business uses: Deliveroo, Uber Eats. However, these providers don't have MCP connectors available yet."
}

// AI informs user that ordering via MCP is not yet available

Example 3: Gym / Fitness

// User: "I want to book a class at Basic-Fit"
resolve_domain("basic-fit.com")

// Response
{
  "entity": {
    "name": "Basic-Fit",
    "category": "gym",
    "city": "Amsterdam"
  },
  "connectors": [
    {
      "slug": "basic-fit",
      "name": "Basic-Fit",
      "status": "connected",
      "mcp_endpoint": "https://mcp.basic-fit.com",
      "external_id": "gym-nl-001"
    }
  ]
}

// AI can now help user book a class via Basic-Fit MCP

Adding to AI Assistants

Claude (Desktop & Web)

Both Claude Desktop and Claude.ai use the same remote MCP URL:

https://connect.dockai.co/mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "dock-ai": { "url": "https://connect.dockai.co/mcp" }
  }
}

Claude.ai (Web)

  1. Settings → Connectors
  2. Add custom connector
  3. Paste the URL above

Requires Pro or Max plan

ChatGPT

  1. Go to Settings → Apps
  2. Enable Developer mode in Advanced settings
  3. Click Create under Connectors
  4. Enter URL: https://connect.dockai.co/mcp

Requires Plus, Pro, or Business plan

Mistral Le Chat

  1. Click Intelligence → Connectors
  2. Click "+ Add Connector"
  3. Select "Custom MCP Connector" tab
  4. Enter URL: https://connect.dockai.co/mcp

Available on all plans

Troubleshooting

Domain not found

  • Verify the domain is correct (without https:// or trailing paths)
  • The business may not be in our database yet
  • Try the main domain (e.g., "brand.com" instead of "shop.brand.com")

Connector not working in Claude/ChatGPT/Mistral

  • Ensure you have a compatible plan (Claude Pro/Max, ChatGPT Plus/Pro, Mistral any plan)
  • Restart your AI assistant after adding the connector
  • Check that the URL is exactly: https://connect.dockai.co/mcp

Need help?

Contact us at support@dockai.co