# MCP Setup Source: https://docs.macro.com/AI/mcp/overview Connect AI clients to the Macro MCP server. Macro's MCP endpoint is: ```text theme={null} https://mcp-server.macro.com/mcp ``` The server is remote; no local process is required. Authentication happens through Macro's OAuth flow when the client connects. MCP access is available on every Macro plan, including Free. ## Claude Code ```bash theme={null} claude mcp add --transport http macro https://mcp-server.macro.com/mcp ``` Start Claude Code, use the `macro` MCP server, and complete the browser sign-in flow when prompted. ## Codex CLI ```bash theme={null} codex mcp add macro --url https://mcp-server.macro.com/mcp ``` Start Codex CLI, invoke the `macro` MCP server, and complete the OAuth login flow in the browser. ## IDE / JSON Configuration For editors that accept JSON MCP server config, add this under `mcpServers`: ```json theme={null} { "macro": { "type": "http", "url": "https://mcp-server.macro.com/mcp" } } ``` Trigger a connection from the editor and finish the browser login flow. # bash_code_execution Source: https://docs.macro.com/AI/mcp/tools/bash-code-execution Generated from the Macro Rust tool registry. # bash\_code\_execution Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | --------- | ------ | -------- | --------------------------- | | `command` | string | Yes | The bash command to execute | # ContentSearch Source: https://docs.macro.com/AI/mcp/tools/content-search Generated from the Macro Rust tool registry. # ContentSearch Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------- | | `entityTypes` | array | Yes | Which types of items to search. Leave empty to search all types. Examples: \['documents'], \['emails', 'documents'], \['channels'] | | `query` | string | Yes | The text content to search for. This searches within the body of documents, emails, and messages. | # CreateDocument Source: https://docs.macro.com/AI/mcp/tools/create-document Generated from the Macro Rust tool registry. # CreateDocument Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | --------------- | ------- | -------- | -------------------------------------------------------------- | | `documentName` | string | Yes | The name of the document without the file extension | | `fileContent` | string | Yes | The string content of the document you are creating. | | `fileExtension` | string | Yes | The extension of the plaintext file you are creating. | | `isTask` | boolean | Yes | Whether this document is a task. Only applies to md documents. | # GetEntityProperties Source: https://docs.macro.com/AI/mcp/tools/get-entity-properties Generated from the Macro Rust tool registry. # GetEntityProperties Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ------------- | ------ | -------- | ------------------------------------------- | | `entity_id` | string | Yes | The ID of the entity to get properties for. | | `entity_type` | string | Yes | The type of entity. | # GetThread Source: https://docs.macro.com/AI/mcp/tools/get-thread Generated from the Macro Rust tool registry. # GetThread Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ---------- | ------- | -------- | -------------------------------------------------- | | `limit` | integer | Yes | Maximum number of messages to return (default 10). | | `threadId` | string | Yes | The ID of the email thread to retrieve. | # Tool Reference Source: https://docs.macro.com/AI/mcp/tools/index Generated reference pages for Macro MCP tools. # Tool Reference These pages are generated from Macro's Rust MCP tool registry. ## Tools * [bash\_code\_execution](/AI/mcp/tools/bash-code-execution) * [ContentSearch](/AI/mcp/tools/content-search) * [CreateDocument](/AI/mcp/tools/create-document) * [GetEntityProperties](/AI/mcp/tools/get-entity-properties) * [GetThread](/AI/mcp/tools/get-thread) * [ListEntities](/AI/mcp/tools/list-entities) * [NameSearch](/AI/mcp/tools/name-search) * [ReadContent](/AI/mcp/tools/read-content) * [ReadMetadata](/AI/mcp/tools/read-metadata) * [ReadThread](/AI/mcp/tools/read-thread) * [SendEmail](/AI/mcp/tools/send-email) * [SetEntityProperty](/AI/mcp/tools/set-entity-property) * [text\_editor\_code\_execution](/AI/mcp/tools/text-editor-code-execution) * [UpdateThreadLabels](/AI/mcp/tools/update-thread-labels) * [web\_fetch](/AI/mcp/tools/web-fetch) * [web\_search](/AI/mcp/tools/web-search) # ListEntities Source: https://docs.macro.com/AI/mcp/tools/list-entities Generated from the Macro Rust tool registry. # ListEntities Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | -------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------- | | `includeTypes` | array | Yes | Filter to specific item types. If not provided, returns all types. Example: \["document", "email"] returns only documents and emails. | | `sortBy` | string | Yes | How to sort results: recently\_viewed (default), recently\_updated, or recently\_created. | # NameSearch Source: https://docs.macro.com/AI/mcp/tools/name-search Generated from the Macro Rust tool registry. # NameSearch Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ------------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------- | | `entityTypes` | array | Yes | Which types of items to search. Leave empty to search all types. Examples: \['documents'], \['emails', 'documents'], \['channels'] | | `name` | string | Yes | The name or title to search for. For emails, this is the subject line. For channels, this can be the channel name or participant names. | # ReadContent Source: https://docs.macro.com/AI/mcp/tools/read-content Generated from the Macro Rust tool registry. # ReadContent Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ------------ | ------ | -------- | -------------------------------------------------------- | | `documentId` | string | Yes | The id of the document you want to retrieve content for. | # ReadMetadata Source: https://docs.macro.com/AI/mcp/tools/read-metadata Generated from the Macro Rust tool registry. # ReadMetadata Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ------------ | ------ | -------- | --------------------------------------------------------- | | `documentId` | string | Yes | The id of the document you want to retrieve metadata for. | # ReadThread Source: https://docs.macro.com/AI/mcp/tools/read-thread Generated from the Macro Rust tool registry. # ReadThread Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | --------------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `contentType` | string | Yes | The type of content to read. Choose based on the type of content you want to retrieve. | | `ids` | array | Yes | ID(s) of the content to read. IMPORTANT: channel-message, chat-message, and content types support MULTIPLE ids! For all other content types (channel, chat-thread) provide a single id. | | `messagesSince` | string | Yes | A local datetime of the earliest message to include in a channel transcript following ISO 8601 format, only applicable to channels | # SendEmail Source: https://docs.macro.com/AI/mcp/tools/send-email Generated from the Macro Rust tool registry. # SendEmail Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | -------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------- | | `bcc` | array | Yes | Blind carbon copy recipients (optional). | | `body` | string | Yes | The plain text body of the email. | | `cc` | array | Yes | Carbon copy recipients (optional). | | `replyingToId` | string | Yes | The ID of a message to reply to (optional). When set, the email is sent as a reply within the same thread. | | `subject` | string | Yes | The subject line of the email. | | `to` | array | Yes | The primary recipients (To field). | # SetEntityProperty Source: https://docs.macro.com/AI/mcp/tools/set-entity-property Generated from the Macro Rust tool registry. # SetEntityProperty Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ------------------------ | ------- | -------- | ---------------------------------------------------------------------- | | `boolean_value` | boolean | Yes | For boolean properties. | | `date_value` | string | Yes | For date properties (ISO 8601 date-time). | | `entity_id` | string | Yes | The ID of the entity to update. | | `entity_ref` | object | Yes | For single entity reference properties. | | `entity_refs` | array | Yes | For multi entity reference properties. | | `entity_type` | string | Yes | The type of entity. | | `link_url` | string | Yes | For single link properties. | | `link_urls` | array | Yes | For multi link properties. | | `number_value` | number | Yes | For number properties. | | `option_id` | string | Yes | For single-select properties. The option UUID from available options. | | `option_ids` | array | Yes | For multi-select properties. The option UUIDs from available options. | | `property_definition_id` | string | Yes | The property definition ID. Get this from GetEntityProperties results. | | `string_value` | string | Yes | For string properties. | # text_editor_code_execution Source: https://docs.macro.com/AI/mcp/tools/text-editor-code-execution Generated from the Macro Rust tool registry. # text\_editor\_code\_execution Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ----------- | ------ | -------- | ----------------------------------------------------------- | | `command` | string | Yes | The command to execute: "view", "create", or "str\_replace" | | `file_text` | string | No | File content for create operations | | `new_str` | string | No | Replacement string for str\_replace operations | | `old_str` | string | No | String to find for str\_replace operations | | `path` | string | Yes | Path to the file | # UpdateThreadLabels Source: https://docs.macro.com/AI/mcp/tools/update-thread-labels Generated from the Macro Rust tool registry. # UpdateThreadLabels Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | ----------- | ------- | -------- | ---------------------------------------------------------------------------- | | `add` | boolean | Yes | Whether to add (true) or remove (false) the label. | | `label_id` | string | Yes | The ID of the label to add or remove. Use ListLabels to get valid label IDs. | | `thread_id` | string | Yes | The ID of the email thread to modify. | # web_fetch Source: https://docs.macro.com/AI/mcp/tools/web-fetch Generated from the Macro Rust tool registry. # web\_fetch Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | --------- | ------ | -------- | ----------- | | `url` | string | Yes | | # web_search Source: https://docs.macro.com/AI/mcp/tools/web-search Generated from the Macro Rust tool registry. # web\_search Generated from the Macro Rust tool registry. ## Parameters | Parameter | Type | Required | Description | | --------- | ------ | -------- | ----------- | | `query` | string | Yes | | # Agent recipes Source: https://docs.macro.com/AI/recipes Copy-paste prompts for the most useful things agents can do in your Macro workspace. Agents in Macro sit on top of [unified memory](/product/unified-memory), so one prompt can reach your email, messages, tasks, docs, calls, and connectors. These recipes are starting points: paste them into an agent chat (c + a), an [automation](/product/agents#automations), a channel via **@Macro**, or any [MCP client](/AI/mcp/overview) connected to your workspace. ## Daily inbox brief Create an [automation](/product/agents#automations) (agents module → **Automations** tab → **Create an automation**) scheduled for each morning: ```text theme={null} Every weekday at 8am: summarize what's in my Signal inbox. Group it into: needs a reply today, FYI, and waiting on others. Keep it under ten bullets. ``` The result lands in your inbox at the scheduled time, every day. ## Project status on demand Ask in any agent chat. You don't need to point it at anything, since memory is refreshed from your team's activity: ```text theme={null} What's the latest status of [project]? Check recent tasks, channel discussion, and call transcripts, and tell me what changed this week and what's blocking. ``` You can @mention a specific channel, doc, or task in the prompt to skip the search and guarantee the right context. See [Mentions in Agents](/concepts/mentions#mentions-in-agents). ## Weekly team recap An automation for Friday afternoons: ```text theme={null} Every Friday at 4pm: write a recap of the week for @#general: tasks completed, tasks started, key decisions from calls, and anything that slipped. Link to the relevant items. ``` ## Turn a call into tasks After a call ends, its transcript is already in your workspace. From the call (or any chat): ```text theme={null} Go through @[yesterday's planning call] and create a task for each action item we committed to. Assign them to whoever took the item, and link the call in each task. ``` ## Draft replies in your voice ```text theme={null} Draft a reply to @[email thread]. Tone: warm but brief. We can do the June 20 date, but ask them to send the revised scope first. ``` Review the draft, then tell the agent to send it, or send it yourself from the composer. ## Answer questions inside a channel Mention **@Macro** in any [channel](/product/channels) to pull an agent into the conversation, with the channel as context: ```text theme={null} @Macro summarize this thread for someone joining late, and list the open questions nobody has answered yet. ``` ## Import from another tool Connect the tool under **Settings → Connectors**, then: ```text theme={null} Import my Notion docs from the "Engineering" workspace as Macro docs. Keep the folder structure and skip anything archived. ``` See [Switch to Macro](/switch-to-macro) for tool-by-tool migration guides. ## Use your workspace from Claude Code Once you've [connected the Macro MCP server](/AI/mcp/overview), your coding agent has the same reach. It can search your workspace, read threads and docs, create documents, send email, and update task properties with the [MCP tools](/AI/mcp/tools/index): ```text theme={null} Find the Macro task for the bug I'm fixing, read the linked channel discussion, and when I'm done, set the task status to In Review and post a summary of the fix as a comment. ``` ```text theme={null} Read the customer thread about the export bug, then draft (don't send) a reply explaining the fix that shipped in today's release. ``` Agents inherit your permissions: they can only see what you can see, and anything they create or send is attributed to you. Start prompts with "draft, don't send" until you're comfortable letting them send. # Billing & Plans Source: https://docs.macro.com/account/billing Macro's free and premium plans, and how to manage your subscription. Macro has one paid plan, priced per person. The price is the same whether you're solo or on a team. | | Free | Premium | | ------------- | --------------- | ------------ | | Price | \$0 | \$40 / month | | AI agent | Fast model only | All models | | AI tool calls | Limited | Unlimited | | Storage | 5 GB | 1 TB | Teams require a paid seat for every member; there's no free plan for teams. Your current plan is shown in **Settings → Account**, with an **Upgrade** button if you're on the free plan. ## Managing your subscription Subscriptions are handled through Stripe. From **Settings → Account**, choose **Manage Subscription** to open the billing portal, where you can update your payment method, download invoices, or cancel. If you cancel, your plan stays active until the end of the billing period. ## Self-hosting Macro is open source under the AGPLv3, and self-hosting is free, though some bundled services require your own licenses and it isn't our primary focus yet. See the [FAQ](/faq) for the current state of self-hosting, and contact [licensing@macro.com](mailto:licensing@macro.com) if you want to build on Macro under a different license. # Teams & Admin Source: https://docs.macro.com/account/teams Creating a team, inviting members, roles, and what admins can do. Macro works solo, but everything is better with friends. Teams get auto-shared tasks and calls, the [CRM](/product/crm), and [team memory](/product/unified-memory) for your agents.