Overview
Flint has an MCP (Model Context Protocol) server that connects directly to Claude Code. Once connected, you can create landing pages from your terminal just by describing what you want.
This integration allows Claude Code to create, modify, and manage your Flint pages directly through conversation in your development environment.
Behind the scenes, Claude Code chats with Flint's agent on your site. You can open the same chat in the Flint editor at any time.
Add Flint to Claude Code
Run this command in your terminal to add Flint as an MCP server:
claude mcp add flint --transport http https://mcp.tryflint.com/mcpThis adds Flint as a remote HTTP MCP server that Claude Code can use to build and manage your landing pages.
Authenticate
After adding the server, authenticate with your Flint account:
1. Open the MCP menu in Claude Code
/mcp2. Select Flint and authenticate
Follow the prompts to sign in to your Flint account in your browser. This authorizes Claude Code to create and modify pages on your behalf.
Verify the Connection
Confirm the server was added correctly:
claude mcp listYou should see flint in the list of configured servers. To get more details:
claude mcp get flintCreating Pages
Once connected, you can ask Claude Code to build landing pages for any campaign, ICP, or keyword. Describe the audience, the offer, and the tone - Claude Code handles the rest and builds the page directly in Flint, ready to publish.
Example Prompt
Generate a personalized account page targeting Anthropic. Tailor the messaging to address their specific industry needs.Claude Code will use Flint to generate and create the page, which you can then preview and publish.
If Flint needs more detail, it asks in its reply. Claude Code passes the question to you and sends your answer back in the same chat.
Available Tools
The Flint MCP server gives Claude Code three groups of tools: chat tools for building and editing pages, site and publishing tools, and two deprecated tools.
Use the chat tools to have Flint's agent work on a site. Each chat runs on one site.
start_chat
Starts a chat with the Flint agent on a site. It returns right away, before Flint replies.
| Parameter | Type | Description |
|---|---|---|
siteId | string (UUID) | The Flint site to work on |
message | string | What you want Flint to do |
Returns {"chatId", "messageId"}. Pass both to wait_for_reply.
send_message
Sends a follow-up in an existing chat, such as an answer to a question Flint asked.
| Parameter | Type | Description |
|---|---|---|
chatId | string | The ID returned from start_chat |
message | string | Your follow-up or answer |
Returns {"chatId", "messageId"} with a new messageId. A chat takes one message at a time, so this fails while Flint is still replying, with the error "Flint is still replying in this chat. Wait for its reply, then send again."
wait_for_reply
Waits up to 45 seconds for Flint's reply to a message.
| Parameter | Type | Description |
|---|---|---|
chatId | string | The ID of the chat |
messageId | string | The ID returned from start_chat or send_message |
Returns one of three statuses:
| Status | Response | What to do |
|---|---|---|
running | {"status": "running"} | Flint is still working. Call wait_for_reply again right away. |
completed | {"status": "completed", "reply": "..."} | Read Flint's reply. If it asks a question, answer with send_message. |
failed | {"status": "failed"} | Send the message again. |
How a Chat Works
A chat with Flint is a loop: send a message, wait for the reply, repeat.
- 1.Call
start_chatwith the site ID and your request. It returns achatIdandmessageIdright away. - 2.Call
wait_for_replywith both IDs. If the status isrunning, call it again right away. Keep going until it returnscompletedorfailed. - 3.Read Flint's reply. If Flint asks a question, answer it with
send_messagein the same chat, then go back to step 2 with the newmessageId. - 4.If the status is
failed, send the same message again.
One message at a time
A chat takes one message at a time. Wait for completed before you call send_message, or it fails.
Run separate work in parallel
Start a separate chat for each independent piece of work, such as one chat per page. The chats run in parallel.
Pick up a chat in Flint
Chats started over MCP appear in the site's chat list in the Flint editor, titled from the first message. Anyone on your team can open one and keep going.
Google Ads changes
Flint can't run Google Ads changes over MCP. It drafts them, and a person runs them from that chat in Flint.
Site and Publishing Tools
list_organizations
Lists the Flint organizations your account belongs to. No parameters required.
Returns each organization's ID and name. Pass an organization ID to list_sites to see only that organization's sites.
list_sites
Lists your Flint sites.
| Parameter | Type | Description |
|---|---|---|
organizationId | string (optional) | Only list sites in this organization |
Without an organizationId, it lists the 10 newest sites across all your organizations. With one, it lists that organization's 10 newest sites. Each result includes the site name, site ID, organization ID, and organization name. Ask Claude Code "what sites do I have?" to look up a site ID without leaving the conversation.
publish_site
Deploys a Flint site to production.
| Parameter | Type | Description |
|---|---|---|
siteId | string (UUID) | The target site to publish |
Publishes the latest saved changes on the site. Chat with Flint to make changes, then ask Claude Code to publish them with publish_site.
Deprecated Tools
run_background_agent and check_background_agent_status still work but are deprecated. Use start_chat, send_message, and wait_for_reply instead.
Server Scopes
You can control where the MCP server configuration is stored using the --scope flag:
# Local scope (default) - only you, only this project
claude mcp add flint --transport http https://mcp.tryflint.com/mcp
# User scope - available to you across all projects
claude mcp add flint --transport http --scope user https://mcp.tryflint.com/mcp
# Project scope - shared with everyone via .mcp.json
claude mcp add flint --transport http --scope project https://mcp.tryflint.com/mcpManaging the Server
Use these commands to manage your Flint MCP server:
# List all configured servers
claude mcp list
# Get details for the Flint server
claude mcp get flint
# Remove the Flint server
claude mcp remove flint
# Check server status in Claude Code
/mcpTroubleshooting
Connection not working?
- 1.Verify the server URL is entered exactly as shown above
- 2.Try removing and re-adding the server:
claude mcp remove flintthen add it again
Authentication issues?
- 1.Run
/mcpin Claude Code and select "Authenticate" for Flint - 2.Complete the browser login flow
- 3.If the browser redirect fails, copy the callback URL from your browser and paste it into Claude Code
Message rejected while Flint is replying?
A chat takes one message at a time. Call wait_for_reply until it returns completed, then send your message again.
Reply still running?
That's normal while Flint works. Larger changes take several calls. Call wait_for_reply again right away until it returns completed or failed.
Pages not appearing?
- 1.Check that
wait_for_replyreturnedcompletedin Claude Code's response - 2.Refresh your Flint dashboard to see newly created pages
- 3.Verify you have the correct Flint site selected
