DESIGN.md · Analysis

MCP.so

mcp.so · 7 Sept 2026 · 47 colors · Inter Variable, Inter, -apple-system, system-ui, sans-serif

MCP.so

A clean, accessible marketplace for discovering and connecting AI tools, integrations, and automated workflows. The design prioritizes clarity and discoverability through a light, airy aesthetic with soft geometric accents.

Colors

surface#ffffff
surface-dim#f5f5f5
surface-bright#fafafa
surface-container-lowest#f9f9f9
surface-container-low#f3f3f3
surface-container#eeeeee
surface-container-high#e8e8e8
surface-container-highest#e0e0e0
on-surface#1a1a1a
on-surface-variant#5f5f5f
inverse-surface#1a1a1a
inverse-on-surface#f5f5f5
outline#cccccc
outline-variant#d9d9d9
surface-tint#1a73e8
primary#1a73e8
on-primary#ffffff
primary-container#e8f0fe
on-primary-container#1a73e8
inverse-primary#8ab4f8
secondary#4285f4
on-secondary#ffffff
secondary-container#e8eef7
on-secondary-container#4285f4
tertiary#38bdf8
on-tertiary#ffffff
tertiary-container#e0f2fe
on-tertiary-container#38bdf8
error#d32f2f
on-error#ffffff
error-container#ffebee
on-error-container#d32f2f
primary-fixed#e8f0fe
primary-fixed-dim#c5dffe
on-primary-fixed#1a73e8
on-primary-fixed-variant#1557b0
secondary-fixed#e8eef7
secondary-fixed-dim#d0d9f0
on-secondary-fixed#4285f4
on-secondary-fixed-variant#2d5ac7
tertiary-fixed#e0f2fe
tertiary-fixed-dim#b3e5fc
on-tertiary-fixed#38bdf8
on-tertiary-fixed-variant#0369a1
background#ffffff
on-background#1a1a1a
surface-variant#f0f0f0

Typography

display
fontFamily: Inter Variable, Inter, -apple-system, system-ui, sans-serif · fontSize: 60px · fontWeight: 700 · lineHeight: 68px · letterSpacing: -0.04em
headline-lg
fontFamily: Inter Variable, Inter, -apple-system, system-ui, sans-serif · fontSize: 48px · fontWeight: 700 · lineHeight: 56px · letterSpacing: -0.02em
headline-md
fontFamily: Inter Variable, Inter, -apple-system, system-ui, sans-serif · fontSize: 32px · fontWeight: 600 · lineHeight: 40px · letterSpacing: -0.01em
title-lg
fontFamily: Inter Variable, Inter, -apple-system, system-ui, sans-serif · fontSize: 20px · fontWeight: 600 · lineHeight: 28px
body-lg
fontFamily: Inter Variable, Inter, -apple-system, system-ui, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px
body-md
fontFamily: Inter Variable, Inter, -apple-system, system-ui, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px
label-md
fontFamily: Inter Variable, Inter, -apple-system, system-ui, sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Inter Variable, Inter, -apple-system, system-ui, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.02em

Design guidance

Overview

MCP.so is a marketplace platform designed to help developers discover, integrate, and manage AI tools, data sources, and automated workflows. The brand serves technical audiences—AI engineers, product builders, and integration specialists—who need clarity and speed when evaluating tools. The aesthetic is 'Accessible Minimalism': a light, airy interface with soft geometric accent shapes (circles and rounded rectangles in pale blues and purples) that evoke approachability without sacrificing professionalism. The design conveys trustworthiness through generous whitespace, clear typography hierarchy, and a restrained color palette anchored by a confident Google Blue primary (#1a73e8). Voice: direct, practical, and encouraging. Example: 'Browse featured integrations to connect your AI app in minutes.'

Colors

The color system balances clarity with visual warmth through a light-dominant palette and strategic accent use. Primary (#1a73e8, Google Blue) is reserved exclusively for interactive elements—call-to-action buttons ('Advertise', 'Submit'), links, and focus states—ensuring users always know where to click. Secondary (#4285f4, a lighter blue) and Tertiary (#38bdf8, sky blue) provide supporting accents for badges, highlights, and secondary actions without competing for attention. The surface stack progresses from pure white (#ffffff) at the base through subtle grays (surface-container-low #f3f3f3, surface-container #eeeeee) for layered depth, never exceeding 8% darkness to maintain the airy aesthetic. On-surface text is set to #1a1a1a (near-black, not pure black) to reduce eye strain on light

Typography

The type system uses Inter Variable as the primary typeface across all weights and sizes, ensuring consistent letterform quality and excellent screen rendering. Display (60px, 700 weight, -0.04em tracking) anchors hero sections and major headings with confident scale and negative letter-spacing to tighten the visual mass. Headline-lg (48px, 700 weight) is used for page titles like 'Discover useful MCP servers'; headline-md (32px, 600 weight) for section headers. Body-md (16px, 400 weight, 24px line-height) is the workhorse for card descriptions and UI copy, chosen for its 1.5 line-height ratio to ensure readability in dense layouts. Label-md (14px, 600 weight) is applied to button text and form labels, with 0.01em tracking to add subtle emphasis. Label-sm (12px, 500 weight) is reserved for

Layout

The page uses a 12-column fluid grid with a max-width of 1280px, centered on the viewport with symmetric gutters of 24px on desktop and 16px on tablet. Sections are separated by lg spacing (40px) vertically to create clear rhythm and breathing room; within sections, cards and list items use md spacing (24px) for grouping. The hero section occupies the full viewport height with a soft background gradient (light blue to lavender, using surface-container-highest as the base) and decorative geometric shapes (circles and rounded rectangles in pale blues at 60% opacity) positioned absolutely to create visual interest without distraction. The search bar (input-field) is centered in the header with a max-width of 400px, flanked by primary CTAs ('Advertise', 'Submit') at 40px height. Cards in the s

Elevation & Depth

Depth is conveyed through a subtle shadow system and layered surface colors rather than dramatic z-index stacking. Level 1 (Base): the body background is pure white (#ffffff) with no shadow; decorative shapes use 0% opacity to sit flat. Level 2 (Standard Card): cards use elevation.sm (0 1px 2px rgba(0, 0, 0, 0.06)) with a 1px solid border at {colors.outline} (#cccccc) to define edges without heaviness. Level 3 (Elevated/Hover): on hover, cards transition to elevation.md (0 4px 12px rgba(0, 0, 0, 0.1)) and background shifts to surface-bright (#fafafa), creating a subtle lift. Focus states on in

Shapes

The shape philosophy is 'Soft-Technical': rounded corners are used consistently but conservatively, balancing approachability with professional clarity. Buttons and inputs use lg radius (1rem / 16px) to feel friendly and clickable, with no sharp edges that might feel cold or corporate. Cards use md radius (0.75rem / 12px) to create visual distinction from buttons while maintaining the soft aesthetic. Badges and chips use full radius (9999px) to emphasize their compact, self-contained nature. The decorative geometric shapes in the hero (circles and rounded rectangles) use full radius for circle

Components

Action Elements Buttons are the primary interaction pattern. Button-primary uses {colors.primary} (#1a73e8) background with white text, 12px vertical / 24px horizontal padding, and lg radius (16px). On hover, the background darkens to #1557b0 and elevation.md shadow appears (0 4px 12px rgba(0, 0, 0, 0.1)), creating a tactile lift. On focus (keyboard navigation), a 3px inset box-shadow at rgba(26, 115, 232, 0.12) appears without moving the button. Button-secondary uses a transparent background with a 1px border at {colors.outline} and primary text color; on hover, the background fills with surface-container-low (#f3f3f3) and the border darkens to on-surface-variant (#5f5f5f). All button state transitions use 200ms ease timing. ### Containers & Surfaces Cards are the primary content cont

Do's and Don'ts

**Do**

  • Do use primary (#1a73e8) exclusively for interactive elements—buttons, links, focus states—to create a clear visual hierarchy and guide user attention.
  • Do maintain generous whitespace (lg spacing, 40px) between sections to create visual breathing room and reduce cognitive load.
  • Do apply 200ms ease transitions to all interactive state changes (hover, focus, active) to provide tactile feedback and signal responsiveness.
  • Do use the full rounded radius (9999px) only for decorative shapes and badges; use lg (16px) for buttons and md (12px) for cards to maintain visual distinction.
  • Do apply text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) to small labels over busy backgrounds to ensure sufficient contrast and readability.

**Don't**

  • Don't use colors outside the defined palette (primary, secondary, tertiary, status colors) for UI elements; the palette is intentionally constrained to maintain clarity.
  • Don't apply shadows heavier than elevation.md (0 4px 12px rgba(0, 0, 0, 0.1)) to avoid creating visual clutter or suggesting false depth hierarchy.
  • Don't use pure black (#000000) or pure white (#ffffff) for text on colored backgrounds; use on-primary, on-secondary, etc., to ensure sufficient contrast and accessibility.
  • Don't mix rounded radii inconsistently—buttons should always use lg (16px), cards should use md (12px), and decorative shapes should use full (9999px).
  • Don't animate state transitions faster than 200ms or slower than 400ms; slower transitions feel sluggish, faster transitions feel jarring and inaccessible to users with motion sensitivity.