Quikturnv1.0

MCP Server

Connect AI assistants to the Quikturn logo database via Model Context Protocol

The Quikturn MCP (Model Context Protocol) server exposes the logo database as tools for AI agents. Any MCP-compatible client — Claude Desktop, Cursor, Windsurf, Cline, etc. — can search for company logos and retrieve them as base64 image data or signed URLs.

Single endpoint: https://logos.getquikturn.io/mcp — this is the only URL you need.

Quick Start

Create Your Account

Sign up here to create your Quikturn account. The Free tier includes MCP access with 20 requests/day.

Configure Your MCP Client

  1. Go to claude.ai/customize/connectors
  2. Add a connector with URL: https://logos.getquikturn.io/mcp
  3. Sign in with your Quikturn account when prompted
  4. Approve the consent screen
  5. Start using logo tools in any conversation

Install the plugin:

claude plugin install quikturn-sdk/quikturn-claude-plugin

Or manually add the connector to your MCP config:

{
  "mcpServers": {
    "quikturn": {
      "type": "http",
      "url": "https://logos.getquikturn.io/mcp"
    }
  }
}

Go to Settings → MCP Servers → Add and enter:

{
  "quikturn": {
    "url": "https://logos.getquikturn.io/mcp"
  }
}

Same format — a Streamable HTTP endpoint. Authentication is handled via the standard OAuth flow when you first connect.

{
  "mcpServers": {
    "quikturn": {
      "type": "http",
      "url": "https://logos.getquikturn.io/mcp"
    }
  }
}

Use the Tools

Once connected, your AI agent has access to three tools:

Agent: "Find the Apple logo"
→ calls search_logos(query: "Apple")
→ calls get_logo(logoId: 123, returnType: "base64")
→ inserts logo into your slide

Authentication

OAuth 2.1 (Primary)

The MCP server uses OAuth 2.1 for authentication. When you add the connector, your MCP client handles the OAuth flow automatically:

  1. Client discovers the OAuth server via /.well-known/oauth-protected-resource
  2. Client redirects you to sign in with your Quikturn account
  3. You approve access on the consent screen
  4. Client receives an access token and uses it for all subsequent requests

No API keys needed — just sign in with your Quikturn account.

Plan Requirements

PlanMCP AccessRate Limit
FreeYes20 requests/day
LaunchYes1,000 req/min
GrowthYes10,000 req/min
EnterpriseYes100,000 req/min

Rate limit exceeded returns HTTP 429 with a Retry-After: 60 header. Free tier daily limit resets at midnight UTC.


Transport

PropertyValue
ProtocolModel Context Protocol (MCP) over Streamable HTTP
EndpointPOST https://logos.getquikturn.io/mcp
Content-Typeapplication/json (JSON-RPC 2.0)
Acceptapplication/json, text/event-stream (required)
Body limit1 MB
ModeStateless — each request is independent, no server-side sessions

Tools Reference

search_logos

Search the logo database by company name, domain, or ticker symbol. Returns metadata only — no image data.

Parameters:

ParameterTypeRequiredDefaultDescription
querystring (max 500 chars)YesSearch query (company name, domain, or ticker)
limitnumberNo5Number of results to return (1–20)

Example call:

{
  "query": "Microsoft",
  "limit": 3
}

Response:

[
  {
    "logoId": 456,
    "companyId": 123,
    "companyName": "Microsoft Corporation",
    "domain": "microsoft.com",
    "variant": "full",
    "width": 1200,
    "height": 600,
    "format": "png"
  },
  {
    "logoId": 457,
    "companyId": 123,
    "companyName": "Microsoft Corporation",
    "domain": "microsoft.com",
    "variant": "icon",
    "width": 256,
    "height": 256,
    "format": "svg"
  }
]

Results include companyId so you can call get_company_logos for all logos from that company. The variant field indicates whether the logo is a full wordmark ("full") or icon-only ("icon").


Retrieve a specific logo as base64-encoded image data or a time-limited signed URL.

Parameters:

ParameterTypeRequiredDefaultDescription
logoIdnumberYesLogo ID from search_logos results
returnType"base64" or "url"No"base64"How to deliver the image

Request:

{
  "logoId": 456
}

Response:

{
  "base64": "iVBORw0KGgo...",
  "mimeType": "image/png",
  "format": "png",
  "width": 1200,
  "height": 600,
  "companyName": "Microsoft Corporation"
}

Request:

{
  "logoId": 456,
  "returnType": "url"
}

Response:

{
  "url": "https://s3.amazonaws.com/...?X-Amz-Signature=...",
  "expiresIn": 3600,
  "mimeType": "image/png",
  "format": "png",
  "width": 1200,
  "height": 600,
  "companyName": "Microsoft Corporation"
}

When to use each mode

ModeUse caseTrade-off
base64 (default)Inserting directly into PowerPoint slides, embedding in documentsLarger payload; 5 MB file size limit
urlDisplaying in chat, linking, downloading separatelyRequires follow-up HTTP request; URL expires in 1 hour

Logos larger than 5 MB are rejected in base64 mode with a suggestion to use URL mode instead.

Supported formats: PNG, JPG/JPEG, SVG, WebP, GIF


get_company_logos

Get all logo variants for a specific company. Returns metadata only — call get_logo to fetch the actual image.

Parameters:

ParameterTypeRequiredDefaultDescription
companyIdnumberYesCompany ID from search_logos results
variant"full" or "icon"NoFilter to only full logos or only icons

Example call:

{
  "companyId": 123,
  "variant": "icon"
}

Response:

[
  {
    "logoId": 457,
    "companyId": 123,
    "companyName": "Microsoft Corporation",
    "domain": "microsoft.com",
    "variant": "icon",
    "width": 256,
    "height": 256,
    "format": "svg"
  }
]

Typical Workflows

Single Logo Insert

1. search_logos(query: "Acme Corp")
   → Get list of matching logos with metadata

2. Pick the best match (e.g., highest resolution, preferred variant)

3. get_logo(logoId: 456, returnType: "base64")
   → Get the actual image data

4. Insert the base64 data into the slide/document

Browse All Variants

1. search_logos(query: "Acme Corp")
   → Note the companyId from results

2. get_company_logos(companyId: 123)
   → See all available logos (full wordmarks, icons, etc.)

3. get_logo(logoId: chosen_id)
   → Fetch the one you want

Error Reference

Tool-Level Errors

When a tool encounters an error, it returns an MCP error response with isError: true and a human-readable message.

ScenarioError Message
Logo not foundLogo with ID 123 not found
Company not foundNo company found with ID 456
S3 image retrieval failedUnable to retrieve image. Try again or use returnType: 'url'
Signed URL generation failedUnable to generate signed URL. Try again later
Logo file exceeds 5 MB (base64 mode)Logo file exceeds 5MB. Use returnType: 'url' instead
Search service failureSearch failed. Try again later
Unexpected errorFailed to get logo. Try again later

HTTP-Level Errors

These occur before the MCP handler runs (auth/rate limit failures):

StatusScenarioBody
401Missing or invalid token{"error": "Authorization required"}
401Expired or revoked token{"error": "Invalid or expired token"}
403No API client associated{"error": "No API client associated with this account"}
403Plan doesn't include MCP{"error": "Your plan does not include MCP access"}
429Rate limit exceeded{"error": "Rate limit exceeded"} + Retry-After: 60 header
429Free tier daily cap{"error": "Daily limit of 20 requests exceeded. Upgrade your plan for higher limits."}
500Internal server error{"error": "Internal MCP server error"}

Testing Your Connection

curl examples require a valid OAuth access token. Obtain one by completing the OAuth flow through your browser, then use the access_token from the token response.

All curl examples require the header Accept: application/json, text/event-stream.

List Available Tools

curl -X POST https://logos.getquikturn.io/mcp \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'

Search for Logos

curl -X POST https://logos.getquikturn.io/mcp \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "search_logos",
      "arguments": {
        "query": "Apple",
        "limit": 3
      }
    }
  }'

Fetch a Logo as base64

curl -X POST https://logos.getquikturn.io/mcp \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "get_logo",
      "arguments": {
        "logoId": 123,
        "returnType": "base64"
      }
    }
  }'

Using the MCP Inspector

The MCP Inspector provides a web UI for testing MCP servers:

npx @modelcontextprotocol/inspector

Enter the server URL (https://logos.getquikturn.io/mcp). The inspector will guide you through OAuth authentication.

On this page