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
- User asks to interact with a business (e.g., "Book a table at Septime")
- AI calls
resolve_domain("septime-charonne.fr") - Dock AI returns the entity + available connectors + capabilities
- AI calls
execute_actionwith 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
- Add the Dock AI connector to Claude, ChatGPT, or Mistral
- First time you use it, you'll see a "Connect" button
- Sign in with your email (6-digit code, no password needed)
- 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.
| Parameter | Type | Description |
|---|---|---|
| domain | string | Domain 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
| Field | Description |
|---|---|
| entity | Business info (name, location, category) |
| connectors | List of software providers for this business |
| capabilities | Actions available for this business (booking, contact, etc.) |
| capabilities[].action | Action identifier (book, send_message, search_catalog...) |
| capabilities[].input_schema | Parameters required for this action (type, required, description, format) |
| connectors[].status | "connected" = MCP available, "not_connected" = detected but no MCP yet |
| connectors[].mcp_endpoint | MCP server URL (only if connected) |
| _ai_hint | Human-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.
| Parameter | Type | Description |
|---|---|---|
| entity_id | string | Entity UUID from resolve_domain response |
| action | string | Action identifier (e.g., "book", "send_message") |
| params | object | Parameters 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 availableExample 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 MCPAdding to AI Assistants
Claude (Desktop & Web)
Both Claude Desktop and Claude.ai use the same remote MCP URL:
https://connect.dockai.co/mcpClaude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"dock-ai": { "url": "https://connect.dockai.co/mcp" }
}
}Claude.ai (Web)
- Settings → Connectors
- Add custom connector
- Paste the URL above
Requires Pro or Max plan
ChatGPT
- Go to Settings → Apps
- Enable Developer mode in Advanced settings
- Click Create under Connectors
- Enter URL:
https://connect.dockai.co/mcp
Requires Plus, Pro, or Business plan
Mistral Le Chat
- Click Intelligence → Connectors
- Click "+ Add Connector"
- Select "Custom MCP Connector" tab
- 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