brandfound.

Command Palette

Search for a command to run...

MCP Server

Connecting the MCP server

Model Context Protocol lets AI assistants work with brandfound. directly — manage companies, analyse mentions, and create content from chat. Each MCP tool is an HTTP call to API v1. Some endpoints are optimized for the MCP workflow (context_only for the Factory, atomic setup for queries).

MCP Endpoint

https://app.brandfound.ai/api/mcp/stream

OAuth 2.1 + PKCE

Secure browser-based authorization. The API key is created automatically on first connection. The token is valid for 90 days. You can revoke access in the settings.

Authorization
ProtocolOAuth 2.1
PKCES256
TransportHTTP
Tokens
Prefixgfx_
TTL90 days
FormatBearer
Discovery
Protected Resource/.well-known/oauth-protected-resource
Authorization Server/.well-known/oauth-authorization-server

Choose an AI assistant

Click the client you need — connection instructions will appear.

Available tools

50

Once connected, the connector exposes these brandfound. functions to the LLM client. The client picks the right ones depending on the task.

Workspaces

2

One token for every accessible workspace

  • •An OAuth token has an active workspace, initially the one used to sign in. switch_workspace selects another workspace where you have an ACCEPTED invitation.
  • •The switch persists in ApiKey.activeAccountId and affects every MCP client using this key on its next request, including Claude Desktop and Cursor. No new sign-in is needed.
  • •Access is checked on EVERY request. If you leave the team, the next tool call silently returns to the token’s original workspace, without a 401 response.
  • •Switching also resets preferredCompanyId, which belongs to the previous workspace.
  • list_workspaces

    List accessible workspaces, including your own and ACCEPTED TeamMember memberships, with the active one marked

  • switch_workspace

    Persistently switch the API key’s active workspace; resets preferredCompanyId

    accountId

Companies & Products

7

v1.1: upsert tools replace create/update pairs

  • •save_company / save_competitor / save_product replace create_* and update_*: omit id to create; provide id to update only supplied fields.
  • •Updating synonyms replaces the entire list, without merging. Send the full array when adding synonyms.
  • list_companies

    List the user’s companies with search and pagination

    search, limit, offset, sortBy, sortOrder

  • get_company

    Get details of a company and its products

    companyId

  • save_company

    Create or update a company; omit companyId to create. regionTargets defines measurement countries and the query-generation country.

    companyId?, name, description, url, country, categoryId, synonyms, regionTargets, defaultLanguageId, defaultResponseLanguageId, defaultLocale, autogenQueryTypes, autogenQueriesPerRun

  • get_company_categories

    Company category directory: industries and niches

  • search_geo

    Countries, cities and languages with their UUIDs for regionTargets and defaultLanguageId

    kind, q, countryIso2, limit

  • save_competitor

    Create or update a competitor; omit competitorId to create

    competitorId?, companyId, name, productId, url, synonyms

  • save_product

    Create or update a product, including reassigning intents (upsert)

    productId?, companyId, name, description, url, intents

Keywords

3

v1.1: lifecycle managed through action

  • •manage_keyword combines create / rename / archive / restore / delete using action. archive and delete support dryRun.
  • •link_keywords combines attach by name (find-or-create) and detach by keywordIds for company / product / competitor associations.
  • list_keywords

    List keywords filtered by target and state

    companyId, productId, competitorId, state, search, limit, offset, sortBy, sortOrder

  • manage_keyword

    Manage one keyword: create / rename / archive / restore / delete

    action, keywordId, name, attach, dryRun

  • link_keywords

    Bulk attach keywords by name, or detach by id, from a target

    action, target, names, keywordIds

Analytics & Metrics

9

v1.1: consolidated reports

  • •get_analytics_report replaces six tools with one report selector: overview / keywords / timeline / recent / geo / cluster.
  • •get_trends combines strategic topics (scope="topics",7–30 days) and tactical signals (scope="pulse",6–72 hours).
  • get_competitor_analytics

    Competitor analysis: Share of Voice and leaders

    companyId, productId, timeRange, dateFrom, dateTo, sourceIds, labelSlugs, labelFilterMode

  • get_brand_visibility

    Brand Mention Rate (BMR) timeline: brand visibility

    companyId, productId, timeRange, granularity, dateFrom, dateTo, sourceIds, labelSlugs, labelFilterMode

  • get_tonality

    Sentiment analysis: sentiment, fairness, helpfulness and 10+metrics

    companyId, productId, timeRange, dateFrom, dateTo, sourceIds, labelSlugs, labelFilterMode, queryType, sentiment

  • list_mentions

    Brand mentions in AI answers with filters

    companyId, productId, competitorId, sourceIds, timeRange, dateFrom, dateTo, sentiment, type, isOurs, search, sortBy, sortOrder, limit, offset

  • list_queries

    AI queries with answers and analytics

    companyId, productId, hasAnswers, searchText, sourceIds, types, sentiment, dateFrom, dateTo, isFavorite, sortBy, sortOrder, limit, offset

  • get_trends

    Trends: scope="topics" (strategy,7–30 days) or scope="pulse" (signals,6–72 hours)

    scope, companyId, timeRange, limit, minGrowthPercent, window, signals, minSeverity

  • get_analytics_report

    Summary report: overview / keywords / timeline / recent / geo / cluster

    report, companyId, timeRange, productId, category, granularity, groupBy, labelId

  • list_query_labels

    Query labels and clusters with query counts

    companyId, q, limit, offset, lite

  • list_notifications

    User notifications (WIDGET / BANNER / TOAST / EMAIL)

    limit, offset, type, includeDismissed

Queries

7

Two options: your agent writes queries or the service generates them

  • •setup_queries uses BYO-LLM: your agent writes queries from the brand card (get_brand_card) and competitors (get_company). Free; you only pay your own LLM’s token costs.
  • •autogenerate_queries generates DRAFTS at 1 FoxCoin per query, without polling AI models. approve_query_drafts starts paid polling at 10 FoxCoin per answer (query×model). Run dryRun and show the estimate before approval.
  • •Six types: neutral, commercial, informational (no brands), comparative (brand + database competitor), reputational and branded (brand in text). Legacy negative/general are accepted aliases.
  • •Generation uses the company’s region settings (save_company.regionTargets). For multiple countries, pass targets: one task per country, defaulting to its official language (AE→ar,IN→hi).
  • •list_answers exports batches of up to 200 answers with links and mentions, replacing per-query loops.
  • setup_queries

    Create queries written by your agent with clusters and optional paid AI polling

    companyId, clusters, providers

  • autogenerate_queries

    Generate query drafts without polling AI models (1 FoxCoin per query)

    companyId, productId, count, types, clusters, userWishes, name, region, language, city, includeDistricts, targets

  • get_autogeneration_status

    Generation task progress: RUNNING / OK / FAILED / CANCELLED

    clientToken, runId, limit

  • list_query_drafts

    Generated queries awaiting approval

    status, companyId, type, page, limit

  • approve_query_drafts

    Approve drafts and start paid polling of selected models; dryRun estimates costs only

    draftIds, providers, dryRun

  • reject_query_drafts

    Reject drafts for free, without polling models

    draftIds

  • list_answers

    Batch AI answers: links, mentions, brandDomainCited

    companyId, productId, queryId, provider, type, label, region, language, createdAtFrom, createdAtTo, hasLinks, mentionsOurs, include, limit, offset

Factory

13

v1.1: BYO-LLM by default; only explicit mode="generate" is paid

  • •enrich_content_task / generate_content_plan / generate_article default to mode="context_only", returning prompt and context. The client’s LLM writes results and saves via save_*; no FoxCoin is charged.
  • •Explicit mode="generate" runs paid server generation, as in the UI: enrichment 20 FC, outline 50 FC, article 70 FC; insufficient funds return 402 INSUFFICIENT_FOXCOINS.
  • •suggest_topics was removed. The agent develops alternative angles from enrichment context and passes topicTitle to generate_content_plan.
  • •manage_content_task combines kanban task create / update / archive through action.
  • list_content_tasks

    Factory kanban tasks with filters

    companyId, statuses, types, priorities, search, tagId, aiGenerated, sortBy, sortOrder, limit, offset

  • get_content_task

    A complete task, including its saved article

    id

  • manage_content_task

    Create / update / archive a factory task using action

    action, taskId, title, companyId, type, status, priority, description, targetKeywords

  • enrich_content_task

    Enrich a task: RAG search, analytics and competitors (context_only free; generate 20 FC)

    taskId, companyId, topic, description, keywords, mode

  • generate_content_plan

    Article outline: structure, key points and tone (context_only free; generate 50 FC)

    taskId, prompt, topicId, topicTitle, mode

  • generate_article

    Full Markdown article (context_only free; generate 70 FC)

    taskId, planId, articleLength, mode

  • save_enrichment_analysis

    Save analysis from the client’s LLM

    taskId, aiAnalysis, usage

  • save_generated_plan

    Save the client’s JSON content outline

    taskId, plan, topicId, topicTitle, prompt, usage

  • save_generated_article

    Save the client’s Markdown article

    taskId, content, planId, usage

  • set_publication_url

    Set the published article URL for BMR tracking

    taskId, publishedUrl

  • detect_insights

    Detect 15 insight types: content gaps, competitor wins; free, rule-based

    companyId, insightType

  • list_content_tags

    Factory tags with task counts

  • list_publications

    Published content with performance metrics

    companyId

Brand card

5

Your agent can read and manage the entire brand card

  • •A brand card is a Markdown file tree: instruction.md is sent to AI first; the main / settings.md core file is always applied, plus user files and folders for products, facts, cases and FAQs.
  • •Files link using [Name](brandcard://<id>), with IDs from the index. Links survive renaming, and linked files take generation priority. One-shot injection limit: about 60,000 characters.
  • •```private blocks are automatically removed before AI receives content. save_brand_card_file overwrites the entire file, so always read it before editing.
  • •Recommended flow: get_brand_card_index (structure + links) → get_brand_card_file for needed paths → save_brand_card_file. Use MCP prompt manage-brand-card for fill / audit / restructure.
  • get_brand_card

    Entire card as Markdown: manifest → core → linked → remaining files; private blocks removed

    companyId

  • get_brand_card_index

    Card index: manifest and files with path, id, isCore and outgoing links

    companyId

  • get_brand_card_file

    One file by path: content preserves brandcard:// links verbatim; links resolves them to paths

    companyId, path

  • save_brand_card_file

    Create or overwrite a file by path; missing folders are created automatically

    companyId, path, content

  • delete_brand_card_file

    Delete a file or folder recursively; protected framework files cannot be deleted

    companyId, path