Skip to main content
Glama
Dribbble MCP Server

Dribbble MCP Server

by AliYar-Khan

Dribbble MCP Server

MCP server that connects to the Dribbble API v2 via OAuth, exposing tools for browsing shots, users, and design inspiration.

Setup

1. Register a Dribbble App

  1. Go to dribbble.com/account/applications/new

  2. Fill in your app details:

    • Name: anything (e.g. "My MCP Server")

    • Callback URL: http://localhost:3847/callback

  3. Note your Client ID and Client Secret

2. Configure Environment

cp .env.example .env
# Edit .env with your credentials

Or export directly:

export DRIBBBLE_CLIENT_ID="your_client_id"
export DRIBBBLE_CLIENT_SECRET="your_client_secret"

3. Install & Run

npm install
npm start

On first run, the server will open a browser URL for OAuth authorization. After you authorize, the token is saved to ~/.config/dribbble-mcp/tokens.json and reused on subsequent runs.

Related MCP server: insightsocial

Tools

Tool

Description

get-shot

Get a single shot by ID (images, designer, tags)

get-shot-comments

Get comments on a shot

get-user

Get a user profile by username

get-user-shots

Get shots by a specific user

get-authenticated-user

Get your own profile

list-shots

List public shots with pagination

list-popular

List popular shots

list-debuts

List debut shots (new designers)

list-everyone

List shots from everyone

search-shots

Search shots by keyword (client-side filter)

Configure MCP Clients

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "dribbble": {
      "command": "node",
      "args": ["--import", "tsx", "/absolute/path/to/dribble-mcp/src/index.ts"],
      "env": {
        "DRIBBBLE_CLIENT_ID": "your_client_id",
        "DRIBBBLE_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Cursor

Settings > MCP > Add server:

{
  "mcpServers": {
    "dribbble": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/dribble-mcp/src/index.ts"],
      "env": {
        "DRIBBBLE_CLIENT_ID": "your_client_id",
        "DRIBBBLE_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Test with MCP Inspector

npx @modelcontextprotocol/inspector npx tsx src/index.ts

OAuth Flow

  1. First run starts a local callback server on http://localhost:3847/callback

  2. Opens a Dribbble authorization URL in the terminal

  3. You authorize the app in your browser

  4. Dribbble redirects to the local server with an auth code

  5. Code is exchanged for an access token and saved locally

Project Structure

src/
├── index.ts          # Entry point
├── server.ts         # McpServer factory
├── config.ts         # Environment config
├── auth/
│   ├── oauth.ts      # OAuth flow + callback server
│   ├── token-store.ts # File-based token persistence
│   └── types.ts      # Auth types
├── api/
│   ├── client.ts     # Dribbble API client
│   └── types.ts      # API response types
└── tools/
    ├── shots.ts      # get-shot, get-shot-comments
    ├── users.ts      # get-user, get-user-shots
    └── browse.ts     # list-*, search-shots

Notes

  • Scope: public (read-only) — no write operations

  • Rate limit: 60 requests/minute, 1,440/day per authenticated user

  • Token storage: ~/.config/dribbble-mcp/tokens.json

  • Search: Dribbble v2 API has no native search endpoint; search-shots scans multiple pages and filters client-side

License

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      C
      maintenance
      Enables AI agents to search, read user profiles, timelines, media, follow threads, track trends, and manage accounts on X/Twitter via GraphQL, without browser automation or paid API keys.
      100
      11
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to search, describe and call 239 social data endpoints across Instagram, TikTok, LinkedIn, Facebook, YouTube, X, Reddit, Threads and Pinterest through a single API key, covering profiles, posts, comments, followers, hashtags, ads and transcripts with one unified schema. Full responses are saved server-side and can be re-sliced for free with jq, fields or size outlines, so agents pull only the data they need into context.
      236 npm
      MIT
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables coding agents to ground UI work in real product screens by returning concrete screen references, design references, and licensed fonts, icons, or animated icons on request. It also ships a bundled design workflow, command playbooks, and connection diagnostics that work without an API token.
      -
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables coding agents to ground UI work in real product screens by returning inline screenshots of concrete layouts, states, and interactions, plus fonts and icons with their recorded licenses. It also serves a bundled design workflow that settles a screen's contract and verifies the rendered result, available with or without an API token.
      MIT