Frill MCP Server
The Frill MCP server lets AI assistants (Claude, Intercom Fin, Cursor, and anything else that speaks MCP) read your Frill data — ideas, votes, comments, announcements, statuses, topics, and followers — using natural language.
MCP endpoint:
https://mcp.frill.co/mcpTransport: HTTP (streamable)
Auth: HTTP header —
Authorization: Bearer <your-frill-api-key>Access: Read-only (the server can look things up, it cannot change your data)
1. Get an API key
Go to Company Settings → API & MCP in Frill (or app.frill.co/settings/company/api).
Create an API key. You can create multiple keys — use a separate key per tool or integration so you can revoke one without affecting the others.
Copy the key. Treat it like a password.
See the Frill API quick-start → Get your API key for more detail.
Your API key is the only credential the MCP server needs — it scopes everything to your company automatically.
2. Connect your client
Claude Code
From any terminal:
claude mcp add --transport http frill https://mcp.frill.co/mcp \
--header "Authorization: Bearer <your-frill-api-key>"Add --scope user to apply it globally, or --scope project to scope it to the current repo (creates a .mcp.json).
Verify with /mcp — you should see:
frill ✓ connected 10 toolsThen just ask naturally: "List the top 5 voted ideas in our company" — Claude picks the right tool and shows the result.
Project-scoped, committable config (drop a .mcp.json at the repo root so the whole team gets it):
{
"mcpServers": {
"frill": {
"type": "http",
"url": "https://mcp.frill.co/mcp",
"headers": {
"Authorization": "Bearer ${FRILL_API_KEY}"
}
}
}
}Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (create the file if it doesn't exist):
{
"mcpServers": {
"frill": {
"type": "http",
"url": "https://mcp.frill.co/mcp",
"headers": {
"Authorization": "Bearer <your-frill-api-key>"
}
}
}
}Restart Claude Desktop. The Frill tools appear in any conversation.
Intercom Fin (and other MCP clients)
MCP server URL:
https://mcp.frill.co/mcpAuthentication: if the client asks for an auth method, choose HTTP Header and set:
Header:
AuthorizationValue:
Bearer <your-frill-api-key>
The same URL + Bearer-header pattern works for any MCP-compatible client (Cursor, Windsurf, etc.).
3. What you can ask
The server exposes 10 read-only tools. You don't call these directly — your assistant picks them based on what you ask. They're listed here so you know what's answerable.
Tool | What it does |
|---|---|
| List ideas, filtered by status, topic, or board, and sorted by newest, name, or vote count. |
| Full-text search across idea names and descriptions. |
| Fetch a single idea by idx or slug, with its full description and details. |
| List comments on an idea (public by default; can include internal admin notes). |
| List votes for a specific idea or by a specific follower. |
| List your idea workflow statuses (Open, Planned, In Progress, Done, …). |
| List your idea topics/categories. |
| List release notes / announcements, filtered by category or date window. |
| Fetch a single announcement (release note) in full. |
| List end-users (voters/commenters), or look one up by exact email. |
Example prompts
"What are the top 10 most-voted ideas that are still open?"
"Search our ideas for anything about dark mode."
"Summarise the comments on idea
idea_abc.""What have we shipped since January 2026?" (uses announcements)
"How many followers do we have, and is [email protected] one of them?"
"Which topics get the most ideas?"
Good to know
Read-only. The server can't create, edit, or delete anything in your Frill account.
Scoped to your company. The API key determines which company's data is returned.
Paginated. Lists return up to 25 results per call by default (max 100); your assistant pages through automatically when it needs more.
4. Troubleshooting
401 Unauthorized— the API key is missing, malformed, or revoked. Check the header is exactlyAuthorization: Bearer <key>and that the key still exists in Company Settings → API & MCP.Client won't connect — confirm the transport is set to HTTP (not SSE/stdio) and the URL is
https://mcp.frill.co/mcp.Wrong company's data — you're using a key from a different company; generate a key from the correct company's settings.
To revoke access, delete the API key in Company Settings → API & MCP. Because you can hold multiple keys, revoking one only breaks the integration that used it.