In development · early access
One place that decides
what your AI can touch.
Your agents reach for data, tools, models, and each other. Right now every one of those reaches is granted ad hoc, with credentials pasted into whatever asked for them. MacroLinker is the control plane for all of it — authorize once, scope per agent, audit every action, cap the spend.
The model
One object, five types.
A capability endpoint is anything an agent reaches for. A grant is who may reach it, how far, and for how much. The set of grants is your authorization graph — and that graph is the product.
| Type | What it is | Examples | Scoped by |
|---|---|---|---|
| connector | Data | Drive · Slack · Salesforce · Snowflake | Per provider, then per operation |
| mcp | Tools | Notion MCP · Linear MCP · your own | Per tool |
| model | Models | Anthropic · OpenAI · Bedrock | Per model, with a budget |
| agent | Agents | Another agent · a subagent | Per capability, by signed grant |
| api | APIs | Any authenticated endpoint | Per route |
What you get
Access control and spend control, over one graph.
Authorize once
A tool gets connected a single time, at the company level. Every agent inherits it — no re-running the same OAuth dance for the fifth agent that needs Slack.
Scope per agent
Your support agent reads tickets. It does not touch the warehouse. Grants are explicit, down to the individual tool an MCP server exposes.
Audit every action
One ledger of what was reached for, by which agent, when. Not a credential hand-off log — a record of what was actually done.
Cap the spend
Budgets per agent, per workspace, per endpoint. Attribution when the bill arrives, and a ceiling before it does.
MCP
One endpoint for every assistant.
Authorize your company’s tools once, then paste a single MCP endpoint into Claude, ChatGPT or Cursor. Every assistant your team already uses works from the same grants — and the same ledger.
It runs the other direction too: connect a provider’s own MCP server and its tools become governed capabilities like anything else, discovered rather than hand-written.
# one endpoint, every tool you’ve authorized
https://mcp.macrolinker.com/your-company
✓ drive.searchread
✓ slack.post_messagewrite · marketing agent only
✓ salesforce.queryread · $20/mo cap
✕ salesforce.delete_recordnot granted
Connectors
Adding a connector is a config entry, not a release.
Every connector ships with a real OAuth flow and a paste-a-credential fallback, so nothing is blocked waiting on an app registration. The provider's quirks — Zendesk needing a subdomain, Dropbox needing an offline token — live in one registry, not in each agent.
- Google DriveStorage
Files, folders, sheet data
- DropboxStorage
Files, search, upload
- SlackCommunication
Channels, messages, people
- ZoomCommunication
Meetings, recordings, transcripts
- IntercomSupport
Conversations, contacts, replies
- ZendeskSupport
Tickets, comments, help centre
- SalesforceSales
Records, SOQL, opportunities
- GitHubEngineering
Repos, issues, pull requests
- AtlassianEngineering
Jira issues, Confluence pages
- VercelEngineering
Projects, deployments, logs
- SnowflakeData
Queries, schemas, metrics
- + any MCP serverOpen
Tools discovered, not hand-written
One app registration, not one per agent
Each provider is registered with MacroLinker once, for everything you run. Without that, every provider multiplies by every agent — a separate OAuth app to create, verify and maintain for each pairing.
Your agents plug in the same way
The Macro agents — MacroMkt, MacroPipe, MacroPrimer, MacroReply, MacroDeploy — are ordinary consumers of this API, with no privileged path. Anything you build connects on exactly the same terms.
Know what your agents can reach.
MacroLinker is being built now. If you are running agents against real company systems and can’t say which ones reach what, we want to talk to you.
Request early access