Northlit MCP server
Northlit is an MCP server any agent can drive: explore design directions, build prototypes, generate imagery and video, and read your brand DNA, from the agent you already use.
Connect
Server URL (Streamable HTTP). It speaks OAuth 2.1 with dynamic client registration, so most clients need only the URL; you approve access in the browser.
https://northlit.ai/api/mcp
Clients without OAuth send Authorization: Bearer <access key> instead. Create a key in Settings → API. Signed in, the Agents settings page has one-click installs for each client.
Claude Code
claude mcp add --transport http northlit https://northlit.ai/api/mcp
Or the plugin, which adds slash commands along with the server:
/plugin marketplace add 3-Elements-Design/northlit-claude-plugin /plugin install northlit@northlit
Codex
codex mcp add northlit --url https://northlit.ai/api/mcp codex mcp login northlit
Or the Codex plugin (skills plus the server; also works in ChatGPT), then install Northlit from /plugins:
codex plugin marketplace add 3-Elements-Design/northlit-codex
VS Code
code --add-mcp '{"name":"northlit","type":"http","url":"https://northlit.ai/api/mcp"}'Cursor, Windsurf, Gemini CLI and other clients
Add the server to the client's MCP config file:
{
"mcpServers": {
"northlit": {
"type": "http",
"url": "https://northlit.ai/api/mcp"
}
}
}Tools
Tools marked billable spend credits; everything else is free.
Start here
getting_started— The full guide: core loop, billing contract, tool reference.whoami— Your identity, plan, credits, admin flag, and default project.
Workspace
list_projects— The user's current project (selected in the app), owned projects, and projects shared with them.create_project— Mint an empty project — somewhere of its own for new work and its brands.list_runs— Your explorations (mine) and boards shared with you (sharedWithMe), newest first.list_moodboards— Your moodboards, grouped by project.list_brands— Your brand libraries — id, name, and where each sits in its brand tree.read_brand— One brand's full DNA — palette, type, voice, logos.search_brand— Passages from a brand's stored sources and its ancestors', by meaning and exact words, each with where it came from.set_project_brand— Add a brand to a project's brands; a project with no brand DNA takes it as its DNA too.remove_project_brand— Take a brand out of a project's brands; the brand itself is untouched.extract_brand— Brand DNA from a live website — exact colors, fonts, logo file, screenshots; create: true mints it.create_brand— Mint a brand in the library from a brand-spec you write — the from-scratch step when there is no site to extract.create_sub_brand— Add a sub-brand or product under a brand; its spec says only what differs and inherits the rest.make_product_nodes— Turn the products a brand lists into product nodes under it, each with its own spec and photos.add_brand_artifact— Add to a brand: a source (capture a page or a PDF, or text; search_brand reads it) or an approved example image its new work takes as a style reference.record_brand_decision— Record a decision about a brand in its memory: house notes its work reads next to the Spec, not binding.update_brand_spec— Rewrite one or more sections of a brand's spec, leaving the rest as it was; identity and requirements edits ask a person.list_design_systems— Saved design systems — conform explorations via systemIds.
Boards
create_board— Start a board: open a run as one (idempotent), or start fresh with a blank section.read_board— What is on the board a run was opened as — its sections and the full text of its notes, with ids and positions.add_note— Put a markdown note on a board — a brief, a rationale, what to try next. Free.update_note— Replace a note's markdown, wholesale. Note ids come from read_board.add_reference— Pin one of our images on a board as a reference to design against.place_nodes— Arrange a board — move its notes and section frames to canvas coordinates.create_section— A new, empty section on a board: a blank run of its own. Generate into the run id it returns.
Brand books
list_brand_books— Brand books in a project — check here before minting another.read_brand_book— Which brand-world artifacts a book has, is making, or is missing.share_brand_book— Mint the PUBLIC view-only /bb/… link for a brand book (bookId or projectId); idempotent.unshare_brand_book— Disable a brand book's public link (the same link re-enables later).create_brand_book— Mint a book from a project's brand DNA. Free — no imagery yet.generate_brand_worldbillable — Generate a book's imagery — all 11 artifacts or a named subset.
Explorations & boards
create_explorationbillable — Start a run from a brief — a board of direction mocks; returns openUrl + project.check_progress— Poll a run's pipeline phase and per-direction milestones.generate_mocksbillable — Generate board image mocks for directions without them.add_directionsbillable — More TOP-LEVEL directions on an existing board (no parent card).generate_variationsbillable — Child variations OF a card — attached under it, its image as edit base.start_logo_workflowbillable — Kick off a logo set — 1-6 marks from a prompt and/or references, on their own canvas.start_lookbookbillable — Kick off a lookbook — event renders, vignettes, catalog and overhead assets under the project's brand.reparent_card— Attach an orphan top-level card under another card (childless cards only).list_directions— Directions in a run with their mocks — renders as an inline gallery in ChatGPT.read_direction— One direction's full markdown.read_run— A run's AGENTS.md — the entry point before other reads.read_moodboard— A run's moodboard as markdown.read_activity— Reverse-chronological audit log of a run.upscale_imagebillable — Upscale a direction's mock to 4K.diff_directions— Deterministic axis-by-axis diff of two directions.critique_designbillable — Principal-designer critique of a card — 0-100 scores, ranked issues, refine-ready fixPrompt.present_board— One composed side-by-side grid of a board's direction mocks — the comparison view for decision moments.share_board— Mint the PUBLIC view-only /b/… link for a run's board; idempotent.unshare_board— Disable a board's public link (the same link re-enables later).
Prototypes
build_prototypebillable — Select a direction and build the full HTML prototype.edit_prototypebillable — Natural-language edit that lands as a new saved version.list_prototype_versions— A prototype's saved version history.revert_prototype— Make a prior version active (append-only).read_prototype— A prototype's overview, score, and version history.read_prototype_html— A prototype's raw rendered HTML.read_chat— The chat timeline for one direction.publish_prototype— Deploy a prototype to its public share URL.unpublish_prototype— Take a published prototype offline.import_prototype— Bring existing built files in — text in files[], images in assets[] (copied onto the run); a new canvas, or attached with runId + directionId.get_build_link— Tokenized handoff URL any coding agent can fetch.generate_prototype_imagebillable — Generate a hosted raster image INTO an existing prototype.crop_mock_region— Crop a region out of a direction's source mock (hosted URL).view_mock— See a direction's source mock — renders inline for the user too.
Imagery
list_models— Model catalog — image (flat 1 credit) + priced video models; ids feed generate_image / generate_video.generate_imagebillable — ONE image from a prompt — lands on its own editable canvas; optional model pick.upload_reference_image— Rehost a local image (data URL) to a usable https reference URL.import_image— Bring an EXISTING image (https or data URL) in — its own canvas, or a new card on an existing board with runId.view_image— Render any Northlit-hosted image inline in the chat.present_images— Inline gallery widget of finished images — the display path for ChatGPT.image_to_promptbillable — Reverse-prompt an image for ui/image/video scopes.
Video & 3D
generate_videobillable — Image-to-video render on the model registry.check_video_status— Poll a video job; the finished clip is billed on delivery.save_video— Persist a finished clip to a run — rehosted + indexed.read_timeline— A video project's timeline (videoDocId) — tracks, clips, ids, times, end marker, its board; no id lists the video projects.edit_timeline— Queue add/update/remove/move clip edits and the end marker onto a video project (videoDocId; one undo step).list_media— The person's uploads and generated clips, audio and images (with their canvas; runId filters to one) — URLs for the timeline.video_options— Video models with their text/image/reference modes, lengths, aspects; lip-sync models; camera moves; voiceover voices.generate_clipbillable — Text, image or references (image/video/audio) to video, or lip sync a face to audio — lands via check_clip.check_clip— Poll a generate_clip job; on delivery bill, save to the Library, place on the timeline, return a download link.generate_voiceoverbillable — Text to speech (ElevenLabs v3) saved to the Library — a speech track for lip sync or the timeline.generate_musicbillable — An instrumental cue at a chosen BPM, saved to the Library and placed with its tempo — the editor finds the beat grid for cutting on hits.generate_captions— Transcribe a video project's speech with word timings and place it as captions on a Captions track (burned into the export; .srt from the Export menu).analyze_videobillable — Break a video down: its shot list (cuts, times, pacing) and a numbered, timed contact sheet.preview_motion— Stills of a motion-graphics composition you wrote, seeked like the renderer, on a contact sheet — over a backdrop; checks the render contract.render_motionbillable — Render your motion-graphics composition to a clip — opaque mp4, or a transparent webm overlay; lands via check_clip.generate_3dbillable — Turn a direction's mock into a 3D GLB model.
Design knowledge
list_skills— Catalog of design skills (name, description, when to use).get_skill— Full markdown body of one skill.semantic_search— Vector search across skills and run artifacts.search_inspiration— Vibe-search the curated inspiration gallery — free.get_inspiration— One inspiration item in full — prompt, image, palette; adapt via create_exploration.search_community— Search published Brand DNA, ads and reels on Northlit Community — free.get_published_dna— A published brand's palette, type and voice — json, md, DESIGN.md or DTCG tokens, with attribution — free.
Design systems & exports
read_design_system— A run's design system as markdown.render_design_md— Deterministic design.md from a system's spec block or a brand's DNA (brandId).export_dtcg— Deterministic W3C Design Tokens (DTCG) JSON export.export_reactbillable — A built prototype as a React + TypeScript project: one component per section, tokens.css + globals.css, Vite scaffold.
Pixel-perfect kit
render_html— Headless Chromium render of HTML to a PNG screenshot.diff_against_mockbillable — Render HTML and score it against a target mock with fixes.ground_truth_hints— OCR blocks, layers, and regions extracted from a mock.match_html_to_mockbillable — Run the render→diff→fix loop until HTML matches a mock.
Advanced (stateless)
analyze_moodboardbillable — Stateless/advanced — vision analysis of moodboard images; saved nowhere.generate_directionsbillable — Stateless/advanced — direction JSON only; saved nowhere.generate_design_systembillable — Stateless/advanced — design-system JSON from a direction; saved nowhere.
Resources
skill://<name>— Read a design skill as markdownrun://<id>— Read a run's artifacts as markdown
The same reference, as plain text for agents: /llms.txt.