Skip to main content
Glama
october-dev

October Themes MCP Server

by october-dev

October Themes MCP

Give any AI-generated interface a real design direction.

1,000+ curated systems for color, type, components, motion, and visual character.

npm MCP License


October Themes MCP is a free Model Context Protocol server for better AI-generated UI. It gives your coding agent a complete, prompt-ready design system before implementation starts: semantic colors, typography, component treatments, effects, motion, and deliberate rules that keep the result from collapsing into generic dashboard styling.

No API key. No theme account. Add the server once and ask your agent for a design direction whenever you need one.

Quickstart

Add the server to your MCP configuration:

{
  "mcpServers": {
    "october-themes": {
      "command": "npx",
      "args": ["-y", "@october-dev/themes-mcp"]
    }
  }
}

Then ask your agent:

Get a desktop-web theme, then use it to build the settings screen.

The agent calls get_theme, receives one complete design system, and uses it as context for the UI it generates.

Related MCP server: mcpsystem.design MCP Server

Client configuration

Add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "october-themes": {
      "command": "npx",
      "args": ["-y", "@october-dev/themes-mcp"]
    }
  }
}

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "october-themes": {
      "command": "npx",
      "args": ["-y", "@october-dev/themes-mcp"]
    }
  }
}

Add to .vscode/mcp.json:

{
  "servers": {
    "october-themes": {
      "command": "npx",
      "args": ["-y", "@october-dev/themes-mcp"]
    }
  }
}

Add to ~/.windsurf/mcp.json:

{
  "mcpServers": {
    "october-themes": {
      "command": "npx",
      "args": ["-y", "@october-dev/themes-mcp"]
    }
  }
}

Any MCP client that can start a local stdio server can use the same command and arguments.

Available tools

Tool

Input

Result

get_theme

Optional platform filter

A weighted-random, prompt-ready design system

get_theme_by_id

Theme ID or slug

The requested design system

Supported platform filters:

Platform

Designed for

desktop-web

Websites, dashboards, and SaaS applications

mobile-app

iOS and Android interfaces, including navigation and mobile interaction patterns

game

Browser games, including lighting, particles, HUDs, and motion

Omit the platform to draw from the complete theme library.

What a theme contains

Every response is ready to place directly in an agent's context:

  • semantic color palette with concrete values;

  • typography families, sizes, weights, and hierarchy;

  • button, card, input, navigation, and layout treatments;

  • shadows, gradients, transitions, and animation direction;

  • platform-specific interaction guidance;

  • mandatory non-genericness rules that establish a distinct visual point of view.

The server supplies direction, not UI code. Your agent still implements the interface in the framework and component system already used by your project.

How it works

Your request
    ↓
AI client calls get_theme
    ↓
October Themes MCP fetches one curated design system
    ↓
The design system enters the model's working context
    ↓
The agent builds your UI against that direction

The MCP server runs locally over stdio and makes a read-only request to October's public themes API. It does not require credentials and does not read or modify your project files on its own.

Example prompts

Get a mobile-app theme and redesign the onboarding flow around it.
Fetch the industrial-neon theme and apply it to this dashboard without changing its information architecture.
Choose a game theme before implementing the inventory HUD.

For predictable results, ask for the theme before the agent starts producing UI code.

MCP server or Agent Skill?

Use this repository when your client supports MCP and you want the theme library exposed as tools. Use October Themes Skill when your harness supports Agent Skills and you prefer a /inject-theme workflow.

Both use the same curated theme library:

Themes MCP

Themes Skill

Interface

MCP tools

/inject-theme skill

Theme selection

Agent calls a tool

Skill fetches and confirms a theme

Best fit

MCP-native clients

Skill-native harnesses

Development

git clone https://github.com/october-dev/october-mcp.git
cd october-mcp
npm install
npm run build
npm start

Set OCTOBER_API_URL to point development builds at another compatible API origin.

Contributions that improve client setup, error handling, tool descriptions, and protocol compatibility are welcome. Keep the server small: theme curation belongs in the library, while this package should remain a clear MCP bridge.

License

October Themes MCP is licensed under the MIT License.


Curated by October, the AI-native canvas for building apps.

Available Tools

2 tools
get_themeA

Get a curated design system theme to inject into your AI prompt. Returns prompt-ready markdown that makes AI-generated UI look polished and unique instead of generic. Just append the returned content to your system prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformNoTarget platform. desktop-web for websites/dashboards, mobile-app for iOS/Android, game for browser games. Omit for any platform.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It explains the output (markdown) and benefit, but omits details like idempotency, side effects, or authentication needs. Adequate for a simple read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, no redundant or vague wording. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one optional parameter, no output schema, and a sibling tool, the description covers what, why, and how to use. Could mention that themes are curated or that there are multiple themes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description does not add additional meaning beyond the schema's enum values for 'platform'. Falls at baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and resource 'design system theme', and distinguishes from sibling 'get_theme_by_id' by emphasizing 'curated' and 'prompt-ready markdown'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states context: inject into AI prompt for polished UI. However, no explicit when-not or alternatives to sibling tool are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_theme_by_idB

Fetch a specific design system theme by its ID. Returns the full prompt-ready markdown content.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTheme ID (slug), e.g. 'industrial-neon' or 'fluid-glass'

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It states 'Returns the full prompt-ready markdown content,' which indicates a read operation and output format. However, it does not mention idempotency, side effects, or permissions. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, clear and direct. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given single parameter and no output schema, the description covers input and output format. Could mention error handling but not required for a simple fetch. Essentially complete for its scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description does not add meaning beyond the schema's description of 'id' as 'Theme ID (slug), e.g. 'industrial-neon''. Baseline of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Fetch a specific design system theme by its ID' – a specific verb and resource. However, it does not differentiate from the sibling tool 'get_theme', which may be a broader retrieval tool. Lacks explicit distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., 'get_theme'). No mention of prerequisites or exclusions. The description only states 'by its ID', which is implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 2 tool updatesv1.0.0
    • First observedget_theme
    • First observedget_theme_by_id

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation4/5

Both tools return theme content, but get_theme provides a general curated theme whereas get_theme_by_id fetches a specific theme by ID. While they share a similar purpose, the descriptions distinguish them adequately for an agent to choose wisely.

Naming Consistency5/5

Both tools follow the consistent verb_noun pattern with the 'get_' prefix, making the naming predictable and easy to understand.

Tool Count3/5

With only two tools, the server has minimal functionality. While this might suffice for a very simple use case, it feels thin for a design system theme server, as more tools like listing or searching themes would be expected.

Completeness2/5

The tool set lacks listing or discovery functionality. An agent cannot browse available themes or search by name; only retrieval by ID or a single random theme is supported, which is a significant gap.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers