API Overview

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/mcp

  • Transport: 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

  1. Go to Company Settings → API & MCP in Frill (or app.frill.co/settings/company/api).

  2. 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.

  3. 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 tools

Then 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/mcp

  • Authentication: if the client asks for an auth method, choose HTTP Header and set:

    • Header: Authorization

    • Value: 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

ideas_list

List ideas, filtered by status, topic, or board, and sorted by newest, name, or vote count.

ideas_search

Full-text search across idea names and descriptions.

ideas_get

Fetch a single idea by idx or slug, with its full description and details.

comments_list

List comments on an idea (public by default; can include internal admin notes).

votes_list

List votes for a specific idea or by a specific follower.

statuses_list

List your idea workflow statuses (Open, Planned, In Progress, Done, …).

topics_list

List your idea topics/categories.

announcements_list

List release notes / announcements, filtered by category or date window.

announcements_get

Fetch a single announcement (release note) in full.

followers_list

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 exactly Authorization: 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.

Was this helpful?