Typesheet MCP server

Your sheets on Typesheet are an MCP server, so an agent reads the brand before it makes anything for it. The server speaks Streamable HTTP; any MCP client that takes a remote server works.

Connect your sheets

One address for every sheet you're on, https://typesheet.com/mcp/sheets. The first time, your agent opens Typesheet to sign in and asks you to allow it (OAuth, with PKCE); there's no token to copy, and you can disconnect it from your account. Its tools take sheet (a name or id from list_sheets), or use your only one.

  • Claude: In Claude, open Settings, then Connectors, and add a custom connector with this URL. Sign in when it asks. https://typesheet.com/mcp/sheets
  • Claude Code: Install the plugin (the server and the typesheet Skill), then run /mcp in Claude Code to sign in: claude plugin marketplace add typesheet/plugins claude plugin install typesheet@typesheet
  • Cursor: Add this to ~/.cursor/mcp.json, then sign in from Cursor's MCP settings: { "mcpServers": { "typesheet": { "url": "https://typesheet.com/mcp/sheets" } } }
  • Codex: Add this to ~/.codex/config.toml, then run codex mcp login typesheet: [mcp_servers.typesheet] url = "https://typesheet.com/mcp/sheets"
  • ChatGPT: In ChatGPT, open Settings, then Connectors, and create one with this URL (it needs developer mode on). Sign in when it asks. https://typesheet.com/mcp/sheets

Connect one sheet with a token

For a CI job or a script with no one to sign in: on the sheet, open Agents, pick your client and make a token: the setup appears with the token already in it. Or connect a shared sheet with no token at its link, https://typesheet.com/s/<link>.

Connect the open check

The open server at https://typesheet.com/mcp needs no account. It checks copy and code against a project's DESIGN.md.

Claude Code

Run this in your project:

Shell
claude mcp add --transport http typesheet https://typesheet.com/mcp

Cursor

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

JSON
{  "mcpServers": {    "typesheet": {      "url": "https://typesheet.com/mcp"    }  }}

Codex

Add this to ~/.codex/config.toml:

text
[mcp_servers.typesheet]url = "https://typesheet.com/mcp"

Tools on a sheet's server

  • get_brand: the sheet's brand. Its voice, guidelines, colors (by name and role), fonts, type scale, words to use and avoid, banned phrases, and its logos and fonts.
  • get_brief: the sheet cut to one job. Argument task (what you're making: "a launch post for Instagram", "the pricing page"). Only what that needs: the colors and faces for something seen, the scale and components for a page, the voice and rules for words, the shots and motion for a film, and which checks to run.
  • get_references: everything else on the sheet. Pictures (each with a description), films, links, notes and code, each with its caption.
  • list_assets and get_asset: the sheet's files, and one file's download link (good for an hour), the path to save it at and the code to use it.
  • get_file: the brand as a file. design (DESIGN.md), css, tailwind, tokens or fonts.
  • check_design: checks copy or code against the sheet. Arguments content, path, kind (copy or code). One finding per line, with the fix.
  • check_image: checks a picture an agent made (a post, a slide, a frame, a screenshot of a page) against the sheet. Arguments url (public https) or base64 with media_type, purpose, checks (some of colors, type, logo, look, copy) and copy (words it should carry exactly). A verdict for each area (pass, fail, unsure, or none), the reason and the fix, and the colors seen, each held to the palette. Nothing is kept.
  • check_page: opens a live page (a public https url: a deploy or a preview) in a browser and checks what it actually draws: the colors of its words and grounds, its faces, and its sizes against the type scale, each weighed by how much of the page uses it. No model call; nothing kept.
  • push_brand (with a token): sends a voice, named colors, fonts and logos found in a codebase to the sheet, for a person to review before anything changes.

Tools on the open server

  • check_design: arguments design_md (the project's DESIGN.md, required), content (required), path, kind. It returns one line per finding (line, column, reason, fix) and the same as structured content.

For your AGENTS.md

md
Before you finish any change to UI copy, components or styles, call Typesheet's check_design tool with this repo's DESIGN.md and each file you changed. Fix every finding, then check again.

See the API docs for Markdown pages, share links and downloads.

Give your agent a moodboard

Start a sheet