MCP Tools
Context & Resources

update_brand_foundation

Overwrite one of the team's four Brand Foundation elements — company overview, brand voice, writing style, or writing examples — with new content. Always a full replace, so read the current value with get_brand_foundation first to confirm what's being replaced.

Input Schema

{
  "type": "object",
  "required": [
    "element",
    "content"
  ],
  "properties": {
    "content": {
      "type": "string",
      "description": "New markdown content. Replaces existing content in full. Free-form — no enforced structure."
    },
    "element": {
      "enum": [
        "company_overview",
        "brand_voice",
        "writing_style",
        "writing_examples"
      ],
      "type": "string",
      "description": "Which element to overwrite."
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Updated markdown content (echoes what was stored)."
    },
    "element": {
      "type": "string",
      "description": "Which element was updated (echoes the input)."
    },
    "link_url": {
      "type": "string",
      "description": "Deep-link to the Brand Foundation section in the Marcora web app. Always present."
    }
  }
}

Instructions

Overwrites one of the team's four Brand Foundation elements with new content. Always full-replace — no patch semantics. Other elements are untouched. If the team has no row for the element yet, one is created.

Important: Before calling this tool, you should typically call get_brand_foundation({elements: ["<element>"]}) first to read the current value so the user can confirm what's being replaced. Brand Foundation content shapes every AI-generated piece of content the team produces, so unintended overwrites are costly.

Elements and character limits:

Element Description Max chars
company_overview General information about the company 10,000
brand_voice Tone, core values, mission, personality 20,000
writing_style Language complexity, sentence structure, formatting preferences, CTA style 20,000
writing_examples Sample content demonstrating the team's distinctive voice (free-form structure) 20,000

Privacy: Team-scoped via $auth.idcurrent_team_id. Users can only write to their own team's Brand Foundation.

Parameters

Parameter Type Required Description
element enum Yes Which element to overwrite. One of company_overview, brand_voice, writing_style, writing_examples.
content string Yes New markdown content. Replaces existing content in full. Free-form — no enforced structure.

Output

Field Type Description
element string Which element was updated (echoes the input).
content string Updated markdown content (echoes what was stored).
link_url string Deep-link that opens the Brand Foundation section in the Marcora web app. Always present.

Hand the user the returned link_url when you point them at their updated Brand Foundation — don't construct a URL yourself. There is no /brand-foundation route; the real one is /context-hub?tab=brand-foundation, and a hand-built link 404s and bounces the user to /home.

Errors

If content exceeds the element's max character limit, the call returns a structured ERROR_CODE_INPUT_ERROR response naming both the limit and the actual length — e.g. "company_overview content exceeds the 10000-character limit (got 12483 chars)". The write is rejected before any DB mutation; no partial updates.

Example prompts

  • "Update my brand voice to be less formal and more conversational"
  • "Replace my company overview with the latest one-pager I just shared"
  • "Save this as my writing examples"
Scroll to Top