macro-inc/macroPublic

Macro is a unified workspace for teams: email, chat, docs, tasks, agents, calls, and CRM — @-linked together with shared AI memory.

AI summary: A unified workspace combining email, messaging, docs, tasks, and CRM into a single computable graph.

Stars
4.5K
+36 today
Forks
437
Watchers
45
Open issues
26
Open PRs
157
Contributors
~25
Commits
6.2K
Branches
969

RustAGPL-3.0Created Nov 8, 2025Last push 1d agoLatest release v2026.9.28.1+135 stars this week+349 this month

Quick answers

What is macro?
A unified workspace combining email, messaging, docs, tasks, and CRM into a single computable graph.
What does macro do?
Macro fundamentally redesigns team software by merging disjointed tools—like Slack, Linear, Notion, and Gmail—into one cohesive operating system built on a shared bidirectional graph. Instead of relying on fragile integrations or switching context, every entity in Macro, whether a task, document, or message, natively cross-references each other. This creates a highly searchable, team-level memory where context is never lost across different operational silos. Built in Rust and SolidJS, the platform prioritizes extreme speed and reliability to ensure teams can manage their entire workflow without the chaos of fragmented SaaS products.
Who is macro for?
Macro is designed for startups and small-to-medium teams suffering from tool fatigue and fragmented communication. It is ideal for highly technical, fast-moving teams that require a central, extremely fast 'operating system' where all company knowledge and workflows are interconnected. Users should be looking for a complete replacement of their existing disjointed SaaS stack.
How do I get started with macro?
https://docs.macro.com
How popular is macro on GitHub?
macro-inc/macro has 4,524 stars and 437 forks on GitHub, and gained 135 stars in the last 7 days.
What license does macro use?
macro-inc/macro is released under the AGPL-3.0 license.

Star history

since Aug 13, 2026
02K4KAug 2026Aug 2026Sep 2026Oct 2026
4.5K stars as of Oct 2, 2026. Measured daily since Aug 13, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 1 commit2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 3 commits2025-11-09: 20 commits2025-11-10: 17 commits2025-11-11: 29 commits2025-11-12: 27 commits2025-11-13: 28 commits2025-11-14: 27 commits2025-11-15: 11 commits2025-11-16: 1 commit2025-11-17: 29 commits2025-11-18: 17 commits2025-11-19: 26 commits2025-11-20: 30 commits2025-11-21: 17 commits2025-11-22: 3 commits2025-11-23: 2 commits2025-11-24: 19 commits2025-11-25: 10 commits2025-11-26: 10 commits2025-11-27: 1 commit2025-11-28: 14 commits2025-11-29: 0 commits2025-11-30: 1 commit2025-12-01: 31 commits2025-12-02: 22 commits2025-12-03: 12 commits2025-12-04: 12 commits2025-12-05: 19 commits2025-12-06: 2 commits2025-12-07: 0 commits2025-12-08: 27 commits2025-12-09: 21 commits2025-12-10: 13 commits2025-12-11: 34 commits2025-12-12: 19 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 46 commits2025-12-16: 25 commits2025-12-17: 17 commits2025-12-18: 25 commits2025-12-19: 10 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 7 commits2025-12-23: 9 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 1 commit2025-12-28: 2 commits2025-12-29: 7 commits2025-12-30: 2 commits2025-12-31: 2 commits2026-01-01: 0 commits2026-01-02: 1 commit2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 12 commits2026-01-06: 20 commits2026-01-07: 33 commits2026-01-08: 18 commits2026-01-09: 43 commits2026-01-10: 1 commit2026-01-11: 0 commits2026-01-12: 35 commits2026-01-13: 37 commits2026-01-14: 16 commits2026-01-15: 39 commits2026-01-16: 2 commits2026-01-17: 2 commits2026-01-18: 0 commits2026-01-19: 9 commits2026-01-20: 33 commits2026-01-21: 19 commits2026-01-22: 15 commits2026-01-23: 14 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 27 commits2026-01-27: 19 commits2026-01-28: 21 commits2026-01-29: 15 commits2026-01-30: 11 commits2026-01-31: 2 commits2026-02-01: 0 commits2026-02-02: 16 commits2026-02-03: 25 commits2026-02-04: 25 commits2026-02-05: 25 commits2026-02-06: 25 commits2026-02-07: 0 commits2026-02-08: 3 commits2026-02-09: 27 commits2026-02-10: 24 commits2026-02-11: 13 commits2026-02-12: 23 commits2026-02-13: 10 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 5 commits2026-02-17: 22 commits2026-02-18: 23 commits2026-02-19: 27 commits2026-02-20: 27 commits2026-02-21: 0 commits2026-02-22: 2 commits2026-02-23: 13 commits2026-02-24: 21 commits2026-02-25: 21 commits2026-02-26: 17 commits2026-02-27: 22 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 20 commits2026-03-03: 15 commits2026-03-04: 18 commits2026-03-05: 15 commits2026-03-06: 21 commits2026-03-07: 2 commits2026-03-08: 1 commit2026-03-09: 19 commits2026-03-10: 29 commits2026-03-11: 19 commits2026-03-12: 28 commits2026-03-13: 20 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 30 commits2026-03-17: 19 commits2026-03-18: 34 commits2026-03-19: 27 commits2026-03-20: 18 commits2026-03-21: 9 commits2026-03-22: 0 commits2026-03-23: 31 commits2026-03-24: 26 commits2026-03-25: 33 commits2026-03-26: 31 commits2026-03-27: 15 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 33 commits2026-03-31: 32 commits2026-04-01: 17 commits2026-04-02: 16 commits2026-04-03: 7 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 28 commits2026-04-07: 30 commits2026-04-08: 25 commits2026-04-09: 29 commits2026-04-10: 21 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 29 commits2026-04-14: 26 commits2026-04-15: 32 commits2026-04-16: 26 commits2026-04-17: 21 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 38 commits2026-04-21: 38 commits2026-04-22: 31 commits2026-04-23: 43 commits2026-04-24: 44 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 32 commits2026-04-28: 21 commits2026-04-29: 31 commits2026-04-30: 31 commits2026-05-01: 21 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 34 commits2026-05-05: 23 commits2026-05-06: 28 commits2026-05-07: 19 commits2026-05-08: 27 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 23 commits2026-05-12: 35 commits2026-05-13: 40 commits2026-05-14: 21 commits2026-05-15: 28 commits2026-05-16: 1 commit2026-05-17: 0 commits2026-05-18: 41 commits2026-05-19: 28 commits2026-05-20: 36 commits2026-05-21: 44 commits2026-05-22: 28 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 8 commits2026-05-26: 41 commits2026-05-27: 38 commits2026-05-28: 35 commits2026-05-29: 27 commits2026-05-30: 0 commits2026-05-31: 2 commits2026-06-01: 21 commits2026-06-02: 38 commits2026-06-03: 22 commits2026-06-04: 20 commits2026-06-05: 18 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 48 commits2026-06-09: 60 commits2026-06-10: 48 commits2026-06-11: 46 commits2026-06-12: 25 commits2026-06-13: 1 commit2026-06-14: 0 commits2026-06-15: 36 commits2026-06-16: 45 commits2026-06-17: 24 commits2026-06-18: 28 commits2026-06-19: 15 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 38 commits2026-06-23: 21 commits2026-06-24: 25 commits2026-06-25: 25 commits2026-06-26: 1 commit2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 22 commits2026-06-30: 37 commits2026-07-01: 16 commits2026-07-02: 20 commits2026-07-03: 9 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 50 commits2026-07-07: 37 commits2026-07-08: 62 commits2026-07-09: 43 commits2026-07-10: 42 commits2026-07-11: 4 commits2026-07-12: 2 commits2026-07-13: 40 commits2026-07-14: 43 commits2026-07-15: 46 commits2026-07-16: 46 commits2026-07-17: 30 commits2026-07-18: 6 commits2026-07-19: 1 commit2026-07-20: 37 commits2026-07-21: 16 commits2026-07-22: 38 commits2026-07-23: 42 commits2026-07-24: 19 commits2026-07-25: 2 commits2026-07-26: 2 commits2026-07-27: 25 commits2026-07-28: 31 commits2026-07-29: 27 commits2026-07-30: 26 commits2026-07-31: 24 commits2026-08-01: 0 commits2026-08-02: 1 commit2026-08-03: 11 commits2026-08-04: 22 commits2026-08-05: 32 commits2026-08-06: 9 commits2026-08-07: 31 commits2026-08-08: 0 commits2026-08-09: 2 commits2026-08-10: 32 commits2026-08-11: 20 commits2026-08-12: 24 commits2026-08-13: 19 commits2026-08-14: 7 commits2026-08-15: 1 commit2026-08-16: 0 commits2026-08-17: 15 commits2026-08-18: 26 commits2026-08-19: 28 commits2026-08-20: 30 commits2026-08-21: 25 commits2026-08-22: 8 commits2026-08-23: 2 commits2026-08-24: 21 commits2026-08-25: 32 commits2026-08-26: 24 commits2026-08-27: 24 commits2026-08-28: 14 commits2026-08-29: 1 commit2026-08-30: 3 commits2026-08-31: 35 commits2026-09-01: 23 commits2026-09-02: 32 commits2026-09-03: 33 commits2026-09-04: 30 commits2026-09-05: 4 commits2026-09-06: 2 commits2026-09-07: 5 commits2026-09-08: 27 commits2026-09-09: 32 commits2026-09-10: 28 commits2026-09-11: 19 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 34 commits2026-09-15: 22 commits2026-09-16: 59 commits2026-09-17: 48 commits2026-09-18: 50 commits2026-09-19: 11 commits2026-09-20: 10 commits2026-09-21: 51 commits2026-09-22: 52 commits2026-09-23: 68 commits2026-09-24: 46 commits2026-09-25: 48 commits2026-09-26: 19 commits2026-09-27: 12 commits2026-09-28: 51 commits2026-09-29: 40 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
6,162 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    6,162 commits in 52 weeks

  • Continuous integration

    Automated checks passing

  • Repeat trending

    11 trending appearances

What macro does

Macro fundamentally redesigns team software by merging disjointed tools—like Slack, Linear, Notion, and Gmail—into one cohesive operating system built on a shared bidirectional graph. Instead of relying on fragile integrations or switching context, every entity in Macro, whether a task, document, or message, natively cross-references each other. This creates a highly searchable, team-level memory where context is never lost across different operational silos. Built in Rust and SolidJS, the platform prioritizes extreme speed and reliability to ensure teams can manage their entire workflow without the chaos of fragmented SaaS products.

Macro is designed for startups and small-to-medium teams suffering from tool fatigue and fragmented communication. It is ideal for highly technical, fast-moving teams that require a central, extremely fast 'operating system' where all company knowledge and workflows are interconnected. Users should be looking for a complete replacement of their existing disjointed SaaS stack.

  • Bidirectional Graph Architecture: natively links docs, tasks, messages, and emails so cross-references are permanent and universally searchable.
  • Unified Interface: replaces multiple separate applications with a single, fast workspace designed for focused technical discussions and operations.
  • High-Performance Tech Stack: engineered using Rust for backend reliability and SolidJS for a highly responsive, immediate frontend experience.
  • Modular Block Design: provides purpose-built surfaces for different tasks while ensuring they all communicate flawlessly through the shared backend.
  • Universal Search and Memory: creates a computable company memory where AI agents and team members can instantly locate context across all domains.
  • Integrated Communication: combines a multi-account unified email inbox with internal channels and direct messaging to centralize all correspondence.

Where teams use it

Startup Operating System

Used by small to medium teams to completely replace their fragmented stack of SaaS tools, centralizing all operations into one platform.

Contextual Task Management

Used by engineering teams to link specific codebase discussions in messaging channels directly to actionable tasks and technical documentation.

Unified Client Communication

Used by account managers to track external emails and immediately reference them alongside internal CRM notes and project deliverables.

Cross-Functional Collaboration

Used by product teams to ensure marketing, development, and support are all looking at the exact same, interconnected data and context.

Getting started: https://docs.macro.com

README

main branch

Macro is the all-in-one workspace for you and your team. It unifies email + messages + docs + tasks + agents + CRM into a single fast interface with shared team-level memory. Everything in your workspace is @linked and searchable so your team (and your agents) never have to switch tools.


Why Macro

We built Macro because we wanted a single operating system for our startup. There are many good software products, and we used them all — Slack, Linear, Notion, HubSpot, and Superhuman — but they don't work together as one system. As we scaled our last venture to ~20 people things started to break: every team got their own tools and the company was held together by MCP and Zapier. The company was not computable. It was chaotic.

Macro is a complete redesign of work software from the ground up as a single system.

Designed by us in NYC and Toronto, dogfooded by our team of ~15 for two years. Built in SolidJS and Rust for speed and reliability. We're focused on building something that any small company or team at a larger company can use as their "operating system".


Features

Macro is composed of 'blocks' designed to be modular, extensible, and work together like Lego. For each block, we studied the best prior art and tried to make it even better.

Each surface is purpose-built for its job rather than composed from a generic block primitive — but every one of them shares the same backend; cross-references between a doc and a task, or a channel message and an email, are natively stored as a bidirectional graph.

Block Docs What it does
Email Docs → Multi-account unified inbox, keyboard shortcuts, and shared inboxes. Gmail.
Messages Docs → Channels and direct messages designed for focused technical discussions.
Tasks Docs → Linear-inspired tasks, tightly integrated with channels, email, and agents.
Docs Docs → Real-time collaborative, markdown-native docs built on CRDTs, with @mentions.
Canvas Docs → 2D board with embedded @links to tasks, files, and emails.
Agents Docs → Unified, team-level memory. Can take action on your behalf.
Calls Docs → Recorded, transcribed, and logged to team memory for agents.
File storage Docs → Auto-imported from email and channels, fully searchable.
Pull requests Docs → Linked to tasks, embeddable in channels, available to agents.
CRM Docs → Customer and contact objects, custom properties, email sync, enrichment.

Multiple email inboxes w/ good AI tools, integrated CRM

Macro Mail is inspired by Superhuman's keyboard-first interface with a few key additions:

  1. Multi-account. Triage all your Google accounts in a single inbox, with the same tagging and sharing system. Or triage individually.
  2. Unified inbox: emails, messages, @mentions, and tasks to complete, all in the same list. Use j k and e to navigate everything.
  3. Better AI, with a tools/MCP surface designed to work across inboxes and to help your agents more accurately retrieve information. For example, we expose a unified search tool that allows agents to search all file attachment PDFs (parsed out of email) directly, rather than pulling email threads then attachments. You can also draft, edit and send emails right from AI chats, without opening your email.

Macro email thread with actions, tags, and properties in the sidebar

  1. Multitasking ability — Macro has a built-in window manager that lets you create 3+ splits (scales with monitor size) so you can draft emails while reviewing prior threads.
  2. Company/Contact objects. Macro has native CRM capability so you can cmd+k to a contact, like tim@acme.com to see all emails between you and that person, or companies, to see all emails and files between everyone on your team and everyone at that company, e.g. @acme.com. All of this right from your email without having to open a heavyweight CRM like HubSpot or Salesforce. Email aggregation by contact or company is also available to your agents so they can better assist with CRM-type queries and actions.

Macro Mail lives in the same interface as channels, docs, tasks, and code. From any email, hit "task" to create a linked task, e.g. a ticket for an engineer from a customer support email. @mention emails in documents, e.g. @Re: Contract Signature.eml inside of Todos.md. In Macro, your email is brought into the fold with all of your tools, and your team, in the same permissions system: just hit Share to share an email to any DM or channel — no need to screenshot.

Email docs →


Team chat for focused technical discussions

Macro Chat is designed to be more focused than Slack. The first couple of replies show inline and the rest collapse into a thread, so a busy channel stays readable. Threads are permissioned severally so you can share threads across channels by copying links. Everything is stored in a bidirectional graph, so tasks @link to messages that created them, customer support emails tie into support channels, CRM records get updated when they're discussed in messages, etc. The core idea is that (i) messaging should be the centerpiece around which tasks, mail, docs, and content management are built, all in a lightweight way, and agents should be first-class citizens like human users and (ii) messaging needs to be more focused and readable for technical conversations, and not turn into battles where context is lost and progress is indistinguishable from noise.

Macro #Engineers channel with threads, mentions, and an inline GitHub check

Messages docs →


Task management built around chat

Linear recently published a report that issue tracking is dead. We agree with that, but the stronger form is that issue tracking never really worked, at least for us. We really tried and we blamed ourselves, but as we talked to other companies, it turns out that nobody was using their issue tracker "correctly". And if that's the case, the problem is the design of the tool, not the companies that use it.

The core problem with traditional issue trackers or project management tools is that they get out of date. The reason they get out of date is that (i) they're a separate system from where the conversation really happens in team chat (e.g. Slack, Macro, Discord, etc.) and (ii) they don't add much benefit beyond tracking the work. They're a chore with near-term costs and only the promise of long-term benefit. They're too rigid compared to a 2D canvas, too opinionated, and don't match how your project actually functions.

The solution isn't to forgo tracking entirely. We tried that and it was a different form of chaos. The solution we've found is lightweight issues tightly coupled to your channels and DMs, so that issue tracking naturally occurs where the conversation itself happens.

Macro tasks list grouped by assignee, with a task detail showing its source message and linked PR

Creating tasks in Macro is easy. Where possible, tasks created are bidirectionally linked to the creating context (e.g. a customer email) so the full chain is auditable from "why are we doing this" → task → agent → pull request, all in one system.

  • Create a task from an email
  • From anywhere via c t
  • From a markdown doc with /task
  • From any - [ ] bullet by highlighting and clicking "Task"
  • @Macro create tasks in any channel or DM
  • In any agent chat
  • Via external MCP, API or SDK

Tasks docs →


@linked markdown docs powered by CRDTs

We wanted everything in a single markdown editor without switching tools.

  • Native markdown compatibility and bulk/import export (see "file over app" paradigm)
  • Live collaboration with CRDTs and Cloudflare durable objects make it feel like you're editing on the same computer. Edits come in ~instantly instead of ka-chunking like Google Docs
  • Version control: history and forking, with a neat UI for scrubbing history. This is still in v1, there's a lot to do to get it closer to git, or we may eventually add git compatibility.
  • Offline editing and reconciliation.
  • @-linked to everything in your workspace: email, docs, tasks, messages, channels, companies, contacts, etc. Like Notion but multi-modal
  • Mobile-friendly, in our iOS app or on the web (Android app coming soon)
  • Agent native editing, powered by swarms of agents operating as peers in the CRDT collaboration system like human collaborators. See Wolf's tech blog on this. Use via MCP or internal agent.

A PRD in Macro with tags, assignees, properties, and references

Agents can edit documents that are open or closed. One interesting use case for agentic editing is to maintain team-context. For example we have a Macro Automation that runs daily to update our in-office Pool Games markdown doc. It scans through all of the channels to see if anyone has one and then updates the doc. If somebody has already edited the doc, it can know that and forgo the update. Conflicts are handled natively by the CRDT collaboration system.

Docs →


CRM that keeps itself up to date

The problem with standalone CRM is the same as with task trackers: it's not up to date. The CRM only partially reflects reality, so if you want to know what the latest status on a deal is you still have to message the AE/SDR and ask for context. CRMs are also too rigid and closed-source, while DIY CRMs in Airtable/Notion don't provide email aggregation by Company/Contact/Deal that is the core feature of CRM. We went through all the CRMs, including the new AI-native ones, and while they're well-designed they're just structurally set up to fail over time.

Macro fixes this by colocating your CRM with your team chat and email, instead of having a separate system. When you @mention a company record in a message, your team can click that record to see the latest — it's much faster than navigating to your CRM to find the record, going back to Slack and pasting it in, and this speed difference makes all the difference. Secondly, @mentioning a Company/Contact creates a bidirectional link between that message and the record, so from the record later you can trace the conversations that happened. This fixes the core issue we had with Attio/HubSpot/Salesforce: the actual important conversation about a deal happens not in the CRM but over messages. Macro makes this a feature rather than making you feel disorganized about it. It's not your fault, it was the CRM's fault!

Macro CRM board grouped by pipeline stage

We haven't innovated on the core idea of CRM other than what you read in the above paragraph. None of this should be that interesting:

  • Kanban board and customizable deal stages, list view, saved views, shareable views, personal and team views, etc.
  • "Notes" on the company actually use the same system as channels/DMs, so you can @mention and do all of the things you expect in a channel. Basically, every deal gets its own channel, automatically, that's pinned right to the deal record
  • @mention the company or contact from any note, message, task, pull request, etc., to create a bidirectional link between the record and that thing. For example, @mention a company from an engineering task to note their request. It all ties together.

CRM docs →


Agents and unified team-level memory

Since Macro has the team context in a single database, it is uniquely positioned to offer team-level memory with full context of all of the operations of the business. We do this every day via a cron job. Your memory is updated from team conversations, your DMs, your sent and received emails, tasks created and completed, etc. All of this is synthesized together in one pass, rather than severally, and combined with your previous memory to form the new memory output. The net result:

  • Macro has the best memory on what you're working on and what you care about vs. chatbots that only build memory from prior chats
  • This memory is available to external agents via MCP, or any AI model (OpenAI, Google, Anthropic, etc.) through the model picker for maximum portability
  • The memory is plainly stored in markdown so you can export it as you please. To manually update it, just ask the AI to remember something/update your memory

Team memory comes in quite handy. For example, I took a screenshot of some features I'd written in a paper notepad and asked the agent to create tickets and assign to the appropriate engineer which it did perfectly without any runtime tool use.

A Macro task being handed off to a coding agent, with a linked branch

Memory isn't supposed to encompass everything. Macro also has a tool/MCP surface with near 100% coverage of the things you can do in Macro's UI, so that your agents aren't limited in what they can do like they are in most SaaS. There are also no rate limits on MCP.

Agents docs →

Your coding agents can use Macro too. Point Claude Code, Codex, or any MCP client at your workspace:

claude mcp add --transport http macro https://mcp-server.macro.com/mcp

See MCP setup and agent recipes for what they can do once connected.


How it all works together

As we've discussed above, each of the blocks is designed to be best-in-class. We have thoughtfully designed each of Chat, Docs, Email, Agents, etc., to improve on your status quo individually. But where it all comes together is how it's more than the sum of its modules; it's how they work together.

Bidirectional @linking. @mention a doc in a message and both know about each other. Your workspace becomes a web of context you can navigate in either direction.

Channel-based permissions. Anything you @mention in a channel is automatically shared with its members. Join a channel, gain access; leave, lose it. No permission-request dance.

Unified memory. Agents remember what your whole team is doing across email, messages, tasks, docs, and calls, not just your own chat history. Refreshed nightly.

One inbox. Emails, channel messages, task assignments, @mentions, and agent responses all land in one place, split into Signal and Noise. Keyboard-first throughout.

Deeper reading: key concepts covers blocks, mentions, properties, and permissions; the FAQ covers comparisons, licensing, and self-hosting.


Using the hosted app

Sign up and connect your Gmail or Google Workspace account. Macro runs in any modern browser, with an iOS app for your phone. The getting started guide takes you from a fresh account to a working setup in about 15 minutes. Coming from Notion, Slack, Superhuman, or Linear? See Switch to Macro.


Running it locally

To run the frontend against hosted services, or to run the local stack, follow Running locally.

To contribute, see CONTRIBUTING.md.


Layout

macro/
├── apps/
│   ├── web/       SolidJS client — browser, Tauri desktop, mobile
│   └── docs/      docs.macro.com
├── services/      42 deployable services, workers, and Lambda handlers
├── crates/        167 Rust libraries — domain logic, models, db clients
├── packages/      shared TypeScript — collaboration, lexical-core, loro-mirror
├── infra/         Pulumi definitions
├── docker/        local Compose stack
├── nix/           pinned dev shell and build inputs
└── tooling/       repo scripts and code generators

Services follow a hexagonal layout: inbound adapters, a domain core with ports, outbound adapters. docs/STYLE_GUIDE.md has the conventions and CONTRIBUTING.md covers the PR process.


Security

ISO 27001 and SOC 2 Type II badges

Enterprise-grade security. Zero data retention with model providers, including no training on customer data. SOC 2 Type II certified. We welcome responsible security reports and pay bounties in accordance with severity and impact. Send reports to security@macro.com.


License

Macro is fully open source — not "open core" — under the GNU Affero General Public License v3.0. See LICENSE.txt for details.

You can self-host Macro under the terms of the AGPLv3; the FAQ covers what that involves. If you want to build on top of Macro under a different license, contact licensing@macro.com. For managed hosting or commercial arrangements, contact self-host@macro.com.


Community

Have an idea, want to contribute, or want to work on Macro?


Star us on GitHub

If Macro is interesting/useful to you, please scroll up and give the repo a star (scroll to the top of this page -> click Star in top right). Stars are how most users hear about Macro because they move us up GitHub's search and trending pages.

Star history for macro-inc/macro, from launch to 4320 stars
View on GitHub

Releases and announcements

232 total
  1. v2026.9.28.1v2026.9.28.1Sep 28, 202618 downloads

    ## What's Changed * fix(ui): remove full round on core input component by @sedson in https://github.com/macro-inc/macro/pull/7141 * fix(tasks): add explicit shared with team opt in toggle by @sedson in https://github.com/macro-inc/macro/pull/7135 * fix(channels): channel clicks not going to unread notification by @peterchinman in https://github.com/macro-inc/macro/pull/7139 * fix(mobile): search across views by @peterchinman in https://github.com/macro-inc/macro/pull/7120 * fix(preview): list SharePreview without a session and log MCP failures by @404Wolf in https://github.com/macro-inc/macro/pull/7164 * fix(agents): preserve drafts on Home and New conversation by @404Wolf in https://github.com/macro-inc/macro/pull/6850 * chore(preview): bootstrap the preview gateway on macro-agent-gateway.com by @404Wolf in https://github.com/macro-inc/macro/pull/7169 **Full Changelog**: https://github.com/macro-inc/macro/compare/v2026.9.28.0...v2026.9.28.1

  2. v2026.9.28.0v2026.9.28.0Sep 28, 202617 downloads

    ## What's Changed * fix(email): Escape in an open email thread returns to the breadcrumb list by @synoet in https://github.com/macro-inc/macro/pull/7032 * feat(email): add email hover actions and a Favorites view by @synoet in https://github.com/macro-inc/macro/pull/7036 * fix(agents): open mentioned agents with their configured instructions by @ehayes2000 in https://github.com/macro-inc/macro/pull/6998 * fix(home): retire the Assistant home and mount Home at /home by @synoet in https://github.com/macro-inc/macro/pull/7044 * fix(agents): drop null bytes before storing session logs by @404Wolf in https://github.com/macro-inc/macro/pull/7048 * fix(editor): keep Ctrl+Left on the current word after a leading mention by @404Wolf in https://github.com/macro-inc/macro/pull/7049 * Render bot mentions by their own name in notification text by @synoet in https://github.com/macro-inc/macro/pull/7055 * fix(web): stop the magic chip PR row leaving stale hover patches by @404Wolf in https://github.com/macro-inc/macro/pull/7056 * feat(calendar): UI and UX redesign by @dev-rb in https://github.com/macro-inc/macro/pull/7047 * chore(agents): describe images for the haiku trigger judge by @

  3. v2026.9.25.4v2026.9.25.4Sep 26, 202617 downloads

    ## What's Changed * fix(agents): don't grow the composer from zero after an offscreen mount by @synoet in https://github.com/macro-inc/macro/pull/7030 * fix(agents): keep the last agent while its availability loads by @synoet in https://github.com/macro-inc/macro/pull/7029 * fix(agent_harness): route commands away from a draining replica by @404Wolf in https://github.com/macro-inc/macro/pull/7024 * fix(web): start feature flags from PostHog's cache by @synoet in https://github.com/macro-inc/macro/pull/7027 **Full Changelog**: https://github.com/macro-inc/macro/compare/v2026.9.25.3...v2026.9.25.4

  4. v2026.9.25.3v2026.9.25.3Sep 25, 202617 downloads

    ## What's Changed * Refine Macro Dark theme surface colors to neutral gray by @jbecke in https://github.com/macro-inc/macro/pull/6988 * feat(teams): unr******y teams ii - invite to channel by @ehayes2000 in https://github.com/macro-inc/macro/pull/7005 * fix(comments): catch up on comments missed while the tab was in the background by @gbirman in https://github.com/macro-inc/macro/pull/7007 * fix(agent): keep Gemini thought signatures across tool-call steps by @404Wolf in https://github.com/macro-inc/macro/pull/6981 * refactor(web): deblockify pr and calls by @dev-rb in https://github.com/macro-inc/macro/pull/6949 * feat(web): host call and PR details in Drive and Tasks by @dev-rb in https://github.com/macro-inc/macro/pull/6961 * feat(web): add standalone Reviews view and PR details by @dev-rb in https://github.com/macro-inc/macro/pull/6964 * fix(web): stop magic chips logging a load their unmount abandoned by @404Wolf in https://github.com/macro-inc/macro/pull/7006 * refactor(sharing): open global share modal via openDialog by @dev-rb in https://github.com/macro-inc/macro/pull/7004 * fix(web): mobile settings sheet survives menu dismissal, More models opens in place, no A

  5. v2026.9.25.2v2026.9.25.2Sep 25, 20269 downloads

    ## What's Changed * fix(call): channel call panel by @whutchinson98 in https://github.com/macro-inc/macro/pull/6982 * fix(web): remount Drive document details when identity changes by @dev-rb in https://github.com/macro-inc/macro/pull/6986 * fix(web): smooth agent tool grouping and collapse animations by @ehayes2000 in https://github.com/macro-inc/macro/pull/6942 * feat: enable AI usage billing only in dev by @whutchinson98 in https://github.com/macro-inc/macro/pull/6989 * feat(calls): allow external participants + calendar / calls UI by @ehayes2000 in https://github.com/macro-inc/macro/pull/6677 * fix(comments): use the shared caret for the document Discussion toggle by @gbirman in https://github.com/macro-inc/macro/pull/6990 * fix(teams): unretardify teams (i) - improve channel creation by @ehayes2000 in https://github.com/macro-inc/macro/pull/6991 * fix(settings): url layout and structure by @dev-rb in https://github.com/macro-inc/macro/pull/6992 * fix(web): preserve document file types in quick access by @dev-rb in https://github.com/macro-inc/macro/pull/6993 * fix(calendar): topbar not visible on navigation by @dev-rb in https://github.com/macro-inc/macro/pull/6983

Code frequency

additions and deletions
+1.4M-1.4MWeek of 2025-10-26: +2,975 linesWeek of 2025-10-26: -281 linesWeek of 2025-11-02: +602,147 linesWeek of 2025-11-02: -0 linesWeek of 2025-11-09: +22,308 linesWeek of 2025-11-09: -19,068 linesWeek of 2025-11-16: +48,508 linesWeek of 2025-11-16: -34,531 linesWeek of 2025-11-23: +16,311 linesWeek of 2025-11-23: -8,180 linesWeek of 2025-11-30: +100,233 linesWeek of 2025-11-30: -94,964 linesWeek of 2025-12-07: +19,031 linesWeek of 2025-12-07: -23,242 linesWeek of 2025-12-14: +40,319 linesWeek of 2025-12-14: -29,016 linesWeek of 2025-12-21: +3,460 linesWeek of 2025-12-21: -1,568 linesWeek of 2025-12-28: +9,119 linesWeek of 2025-12-28: -4,686 linesWeek of 2026-01-04: +36,856 linesWeek of 2026-01-04: -39,182 linesWeek of 2026-01-11: +84,335 linesWeek of 2026-01-11: -41,086 linesWeek of 2026-01-18: +29,994 linesWeek of 2026-01-18: -23,441 linesWeek of 2026-01-25: +28,940 linesWeek of 2026-01-25: -27,793 linesWeek of 2026-02-01: +27,209 linesWeek of 2026-02-01: -17,199 linesWeek of 2026-02-08: +40,352 linesWeek of 2026-02-08: -29,807 linesWeek of 2026-02-15: +33,378 linesWeek of 2026-02-15: -22,034 linesWeek of 2026-02-22: +24,026 linesWeek of 2026-02-22: -7,634 linesWeek of 2026-03-01: +46,791 linesWeek of 2026-03-01: -18,043 linesWeek of 2026-03-08: +27,865 linesWeek of 2026-03-08: -12,389 linesWeek of 2026-03-15: +32,843 linesWeek of 2026-03-15: -10,060 linesWeek of 2026-03-22: +35,406 linesWeek of 2026-03-22: -21,993 linesWeek of 2026-03-29: +23,177 linesWeek of 2026-03-29: -11,461 linesWeek of 2026-04-05: +35,138 linesWeek of 2026-04-05: -21,786 linesWeek of 2026-04-12: +30,674 linesWeek of 2026-04-12: -12,767 linesWeek of 2026-04-19: +100,687 linesWeek of 2026-04-19: -50,373 linesWeek of 2026-04-26: +81,458 linesWeek of 2026-04-26: -97,472 linesWeek of 2026-05-03: +42,456 linesWeek of 2026-05-03: -28,097 linesWeek of 2026-05-10: +37,003 linesWeek of 2026-05-10: -18,295 linesWeek of 2026-05-17: +55,419 linesWeek of 2026-05-17: -41,175 linesWeek of 2026-05-24: +79,048 linesWeek of 2026-05-24: -46,093 linesWeek of 2026-05-31: +47,436 linesWeek of 2026-05-31: -18,412 linesWeek of 2026-06-07: +80,742 linesWeek of 2026-06-07: -22,649 linesWeek of 2026-06-14: +35,909 linesWeek of 2026-06-14: -15,573 linesWeek of 2026-06-21: +41,261 linesWeek of 2026-06-21: -20,195 linesWeek of 2026-06-28: +77,073 linesWeek of 2026-06-28: -17,403 linesWeek of 2026-07-05: +1,358,281 linesWeek of 2026-07-05: -1,269,410 linesWeek of 2026-07-12: +607,201 linesWeek of 2026-07-12: -537,017 linesWeek of 2026-07-19: +87,033 linesWeek of 2026-07-19: -17,332 linesWeek of 2026-07-26: +192,645 linesWeek of 2026-07-26: -22,876 linesWeek of 2026-08-02: +108,070 linesWeek of 2026-08-02: -22,309 linesWeek of 2026-08-09: +76,614 linesWeek of 2026-08-09: -20,802 linesWeek of 2026-08-16: +236,520 linesWeek of 2026-08-16: -81,039 linesWeek of 2026-08-23: +152,129 linesWeek of 2026-08-23: -17,421 linesWeek of 2026-08-30: +386 linesWeek of 2026-08-30: -159 linesOct 26, 2025Aug 30, 2026
+4.9M lines added, -2.9M removed over the last year.

Commits per week

last 52 weeks
2940Week of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 1 commitsWeek of 2025-11-02: 3 commitsWeek of 2025-11-09: 159 commitsWeek of 2025-11-16: 123 commitsWeek of 2025-11-23: 56 commitsWeek of 2025-11-30: 99 commitsWeek of 2025-12-07: 114 commitsWeek of 2025-12-14: 123 commitsWeek of 2025-12-21: 17 commitsWeek of 2025-12-28: 14 commitsWeek of 2026-01-04: 127 commitsWeek of 2026-01-11: 131 commitsWeek of 2026-01-18: 90 commitsWeek of 2026-01-25: 95 commitsWeek of 2026-02-01: 116 commitsWeek of 2026-02-08: 100 commitsWeek of 2026-02-15: 104 commitsWeek of 2026-02-22: 96 commitsWeek of 2026-03-01: 91 commitsWeek of 2026-03-08: 116 commitsWeek of 2026-03-15: 137 commitsWeek of 2026-03-22: 136 commitsWeek of 2026-03-29: 105 commitsWeek of 2026-04-05: 133 commitsWeek of 2026-04-12: 134 commitsWeek of 2026-04-19: 194 commitsWeek of 2026-04-26: 136 commitsWeek of 2026-05-03: 131 commitsWeek of 2026-05-10: 148 commitsWeek of 2026-05-17: 177 commitsWeek of 2026-05-24: 149 commitsWeek of 2026-05-31: 121 commitsWeek of 2026-06-07: 228 commitsWeek of 2026-06-14: 148 commitsWeek of 2026-06-21: 110 commitsWeek of 2026-06-28: 104 commitsWeek of 2026-07-05: 238 commitsWeek of 2026-07-12: 213 commitsWeek of 2026-07-19: 155 commitsWeek of 2026-07-26: 135 commitsWeek of 2026-08-02: 106 commitsWeek of 2026-08-09: 105 commitsWeek of 2026-08-16: 132 commitsWeek of 2026-08-23: 118 commitsWeek of 2026-08-30: 160 commitsWeek of 2026-09-06: 113 commitsWeek of 2026-09-13: 224 commitsWeek of 2026-09-20: 294 commitsWeek of 2026-09-27: 103 commitsOct 5, 2025Sep 27, 2026
6.2K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 4 commitsSun 1:00 — 2 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 2 commitsSun 9:00 — 5 commitsSun 10:00 — 3 commitsSun 11:00 — 1 commitsSun 12:00 — 0 commitsSun 13:00 — 2 commitsSun 14:00 — 7 commitsSun 15:00 — 10 commitsSun 16:00 — 6 commitsSun 17:00 — 3 commitsSun 18:00 — 7 commitsSun 19:00 — 7 commitsSun 20:00 — 3 commitsSun 21:00 — 4 commitsSun 22:00 — 3 commitsSun 23:00 — 2 commitsMon 0:00 — 1 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 1 commitsMon 8:00 — 14 commitsMon 9:00 — 55 commitsMon 10:00 — 81 commitsMon 11:00 — 104 commitsMon 12:00 — 135 commitsMon 13:00 — 102 commitsMon 14:00 — 152 commitsMon 15:00 — 154 commitsMon 16:00 — 153 commitsMon 17:00 — 126 commitsMon 18:00 — 102 commitsMon 19:00 — 52 commitsMon 20:00 — 17 commitsMon 21:00 — 9 commitsMon 22:00 — 4 commitsMon 23:00 — 5 commitsTue 0:00 — 1 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 2 commitsTue 6:00 — 0 commitsTue 7:00 — 2 commitsTue 8:00 — 30 commitsTue 9:00 — 57 commitsTue 10:00 — 85 commitsTue 11:00 — 135 commitsTue 12:00 — 124 commitsTue 13:00 — 116 commitsTue 14:00 — 122 commitsTue 15:00 — 137 commitsTue 16:00 — 159 commitsTue 17:00 — 143 commitsTue 18:00 — 97 commitsTue 19:00 — 41 commitsTue 20:00 — 16 commitsTue 21:00 — 8 commitsTue 22:00 — 10 commitsTue 23:00 — 9 commitsWed 0:00 — 3 commitsWed 1:00 — 0 commitsWed 2:00 — 1 commitsWed 3:00 — 1 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 1 commitsWed 7:00 — 2 commitsWed 8:00 — 18 commitsWed 9:00 — 44 commitsWed 10:00 — 89 commitsWed 11:00 — 130 commitsWed 12:00 — 131 commitsWed 13:00 — 93 commitsWed 14:00 — 124 commitsWed 15:00 — 133 commitsWed 16:00 — 141 commitsWed 17:00 — 135 commitsWed 18:00 — 113 commitsWed 19:00 — 62 commitsWed 20:00 — 20 commitsWed 21:00 — 15 commitsWed 22:00 — 7 commitsWed 23:00 — 4 commitsThu 0:00 — 1 commitsThu 1:00 — 2 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 24 commitsThu 9:00 — 48 commitsThu 10:00 — 99 commitsThu 11:00 — 107 commitsThu 12:00 — 118 commitsThu 13:00 — 96 commitsThu 14:00 — 138 commitsThu 15:00 — 127 commitsThu 16:00 — 154 commitsThu 17:00 — 132 commitsThu 18:00 — 89 commitsThu 19:00 — 36 commitsThu 20:00 — 11 commitsThu 21:00 — 13 commitsThu 22:00 — 7 commitsThu 23:00 — 6 commitsFri 0:00 — 3 commitsFri 1:00 — 1 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 2 commitsFri 8:00 — 10 commitsFri 9:00 — 38 commitsFri 10:00 — 96 commitsFri 11:00 — 99 commitsFri 12:00 — 88 commitsFri 13:00 — 95 commitsFri 14:00 — 114 commitsFri 15:00 — 110 commitsFri 16:00 — 104 commitsFri 17:00 — 107 commitsFri 18:00 — 53 commitsFri 19:00 — 20 commitsFri 20:00 — 13 commitsFri 21:00 — 5 commitsFri 22:00 — 1 commitsFri 23:00 — 9 commitsSat 0:00 — 2 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 1 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 1 commitsSat 9:00 — 2 commitsSat 10:00 — 4 commitsSat 11:00 — 4 commitsSat 12:00 — 1 commitsSat 13:00 — 3 commitsSat 14:00 — 2 commitsSat 15:00 — 12 commitsSat 16:00 — 9 commitsSat 17:00 — 11 commitsSat 18:00 — 7 commitsSat 19:00 — 9 commitsSat 20:00 — 4 commitsSat 21:00 — 8 commitsSat 22:00 — 8 commitsSat 23:00 — 6 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Aug 22, 2026weekly#10+1,456
Aug 21, 2026weekly#10+1,456
Aug 20, 2026weekly#6+2,557
Aug 19, 2026weekly#5+2,627
Aug 18, 2026weekly#5+2,724
Aug 17, 2026weekly#6+2,588
Aug 16, 2026daily#4+436
Aug 16, 2026weekly#6+2,434
Aug 15, 2026daily#4+436
Aug 14, 2026daily#4+1,239
Aug 13, 2026daily#2+227
  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    295.2K stars · Shell

  • affaan-m/ECC

    The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

    272.8K stars · JavaScript

  • NousResearch/hermes-agent

    The agent that grows with you

    251.2K stars · Python

  • n8n-io/n8n

    Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

    206.7K stars · TypeScript

  • ultraworkers/claw-code

    An agent-managed museum exhibit, built in Rust with Gajae-Code / LazyCodex — developed and maintained with no human intervention.

    195.2K stars · Rust