Your coding agent, fluent in Hairline UI.

Connect it once. Ask for a country picker or a chat screen and your agent finds the right one of our 113 components, reads its props and installs it, instead of writing its own.

https://hairlineui.com/api/mcp

Streamable HTTP. Pick your tool for where it goes.

Coding agents

In your editor

In a chat app

Claude Code

Works in: The terminal, the VS Code and JetBrains extensions, and the Code tab of the Claude desktop app

Run this once, in any terminal. It covers every project.

Terminal
$ claude mcp add --transport http --scope user hairline-ui https://hairlineui.com/api/mcp

Leave out --scope user to add it to one project only. Type /mcp in Claude Code to see it and its tools.

  • Always current. It reads the library as deployed, so a component shipped today is found today.

  • Installs, never pastes. Your agent runs the shadcn CLI, so the files, the components they use and their keyframes all land.

  • Free and read-only. No key, no sign-up, nothing in your project touched by the server.

01Tools

What your agent can do

Every answer is short markdown that ends with the command to install what it found. Nothing touches your project: your agent runs the install itself.

  • Search components

    search_components

    Find Hairline UI React components for what the user needs, by plain words ("undo toast", "dropdown with search", "file upload", "pricing toggle"). Call this before writing a UI piece from scratch. Returns the best matches with their install commands.

    search_components({ query: "undo after an agent action" })

  • Components for a screen

    find_for_screen

    The components to build a whole screen with ("AI chat", "settings page", "pricing section", "analytics dashboard"), each with the job it does there. For an AI chat it returns every chat part in the order a conversation uses them.

    find_for_screen({ screen: "AI chat with tool calls" })

  • Component docs

    get_component

    Everything needed to use one component correctly: install command, usage example, AI SDK recipe where there is one, every prop with its type and default, states, and the components it pulls in.

    get_component({ name: "action-receipt" })

  • Component source

    get_component_source

    The exact source files the shadcn CLI installs for a component, with the keyframes it adds to the stylesheet. Use it to read or adapt the code; installing with the CLI is still the way to add it.

    get_component_source({ name: "status-button" })

  • Install command

    get_install_command

    One shadcn CLI command that installs several components, for the package manager in use, with the components and npm packages they bring along.

    get_install_command({ components: ["prompt-composer", "streaming-answer"], packageManager: "pnpm" })

  • List components

    list_components

    Every component in the library: name and one line on what it is. Use it to browse when a search is too narrow.

    list_components()

02Try it

Then just ask

Name the library the first time. After that most agents reach for it on their own.

  • “Add a searchable country picker to the signup form, using Hairline UI.”

  • “Build the chat screen with Hairline UI: composer, streaming answer and tool calls.”

  • “Which Hairline UI component shows what the agent did, with an undo?”

  • “Add a pricing section with a monthly and yearly toggle from Hairline UI.”

03Without MCP

Plain files for any agent

For assistants that browse instead of connecting. Built from the same docs as the site, so they never fall behind.

/llms.txt
The library in one page: what it is and every component, each linked to its docs.
/llms-full.txt
Install, usage and props for all 113 components in one file.
/ui/<name>.md
One component’s full docs as markdown. Every component page also has Copy page and Open in Claude or ChatGPT.
/r/registry.json
The shadcn registry index the CLI installs from.

04What we keep

One count per search

The server is public and read-only. We count how often each search is made and each component is opened, and whether a search found anything, so we know what to build next. Nothing about you, your agent or your code is stored. Privacy

Components are MIT licensed (license). Logos belong to their owners and only show which tools connect.