Smartplane Get your MCP URL

Air traffic control for AI agents.

Your agents are already flying. Smartplane is the tower: one MCP connection, access by role, plain-English rules checked before every action, and every movement on the record.

Departures acme.smartplane.dev, sample feed Cleared 0Holding 0Denied 0
TimeAgentOn behalf ofRequestsStatusBecause

Every row is one tool call from an agent. Cleared means a grant matched, holding means a rule wants a human, denied means a rule or a missing grant said no. Click a row: that strip is the audit record.

A night sky crowded with crossing aircraft trails over a city skyline

Right now, the sky is open.

Every engineer files their own flight plan: personal tokens, a prod database URL in a dotfile, MCP servers nobody reviewed.

When someone leaves, their agent keeps flying. Nobody can say who reaches what, and nothing stops a destructive call before it runs.

  • Which agents can write to the billing database?
  • Who gave the support bot a Stripe key?
  • What did an agent delete last Tuesday, and for whom?
// ~/.cursor/mcp.json on one laptop, today
{ "mcpServers": {
  "github":   { "env": { "TOKEN": "ghp_…(org admin)" } },
  "postgres": { "args": ["postgres://admin@prod-db/main"] },
  "stripe":   { "env": { "KEY": "sk_live_…" } },
  "gdrive":   { "env": { "SCOPE": "drive (full)" } },
  "linear", "slack", "sentry", "hubspot",
  "zendesk", "cloudflare", "internal-billing-api"
} }
// × every engineer, × every agent they use

No owner, no expiry, no record. Multiply by headcount.

One URL in. Every move logged.

The tower sits between your agents and everything they touch. Four things happen on every call.

  1. Connect once

    Each person adds one MCP URL to Claude Code, Cursor, ChatGPT or your own agent. No keys on laptops, no per-server setup.

    They see only the tools their role, team and project allow, so the agent never even learns the rest exist.

    # Claude Code
    claude mcp add --transport http smartplane \
      https://mcp.smartplane.dev/acme
    
    // or any MCP client
    { "mcpServers": {
      "smartplane": { "url": "https://mcp.smartplane.dev/acme" }
    } }
  2. Clearance by role

    Grants say who gets what: users, teams, roles or service accounts, to tools, MCP servers, databases, APIs, secrets and variables.

    Databases start read-only. APIs are limited to the methods and paths you list. Secrets are injected server-side and never shown to an agent. Every grant can expire.

    WhoGetsHowUntil
    Team PlatformGitHub MCPRead and writeOngoing
    Role SupportZendesk APIGET, POST /tickets/*30 Nov
    Team DataWarehouse (Postgres)Read-onlyOngoing
    nightly-reportSecret STRIPE_KEYInjected, never shown90 days
    maya.chenprod-dbRead-only, break-glass4 hours
  3. Rules before every action

    Before a call runs, a classifier checks it against your rules, written in plain English. It can block, flag, or hold the call for a human.

    If the classifier can't answer and an enforcing rule applies, the call is denied. The tower fails closed.

    Nobody deletes reports from the Q3 folder.
    Claude Code, for li.wong, asks for drive.delete /Reports/Q3/board-deck.pdf
    Denied before it ran
  4. Everything in the black box

    Every call, grant change, approval and denial is written to an append-only log, hash-chained per organisation, so a missing or edited entry breaks the chain.

    Export it as evidence for your auditor, or stream it to your SIEM.

    1. 48 211drive.delete denied, rule R-1a91f…03 → 7c2e…b8
    2. 48 212stripe.refund held for Finance7c2e…b8 → e04d…91
    3. 48 213Grant G-31 expirede04d…91 → 15ab…6f
    4. 48 214Refund approved by j.okafor15ab…6f → c3d0…2a

Rules in plain English.

Say what must never happen and who decides the edge cases. No policy language to learn. Each rule has a mode: block it, hold it for a named approver, or let it through and flag it for review.

  • Nobody deletes reports from the Q3 folder.
    BlockApplies to everyone, every agent
  • Only the finance team can issue refunds over $500.
    Hold for FinanceAnyone else waits for an approver
  • No agent drops or truncates a production table.
    BlockEven with a write grant
  • Flag any export of more than 1,000 customer records.
    FlagRuns, then lands in the review queue
An empty control tower cab at dusk, paper flight strips in their holders, runway lights beyond the glass

Holding at the gate

Waiting for Finance
Request
stripe.refund, $1,240 to customer 88213
Agent
support-bot, for dana.ruiz (Support)
Rule
Only the finance team can issue refunds over $500.
Approvers
Anyone in Finance except the requester

If the classifier is down, enforcing rules deny. A tower that guesses is not a tower.

An airfield at night from above, light trails tracing the taxiways

Every movement on the record.

Tamper-evident log

Append-only and hash-chained per organisation, written by a single serialised writer. Export JSON or CSV evidence for SOC 2 auditors in a click.

Leavers are grounded

SSO and SCIM through WorkOS. One offboarding path turns off the membership, revokes tokens and direct grants, and removes team memberships in the same request.

Secrets stay sealed

Envelope-encrypted with AES-GCM. Plaintext is never stored, logged, returned by the API or shown to an agent; Smartplane injects it at call time.

Tokens that die

Access tokens are stored as SHA-256 hashes, expire in 90 days at most, and stop working the moment the membership does.

Access reviews

Scheduled reviews put every grant in front of its owner: keep it or revoke it, and the decision goes in the log. Nobody approves their own request.

On Cloudflare's edge

The gateway runs on Cloudflare Workers close to your people, with per-organisation isolation. Built to SOC 2 controls from the first commit.

Choose your airspace.

Start free in minutes with your own team. Move to Enterprise when security wants SAML, SCIM and evidence exports.

StarterFreeFor one team trying it out Team$15Per person, per month, for a company rolling out agents EnterpriseCustomAnnual, for security and compliance sign-off
PeopleUp to 5UnlimitedUnlimited
Upstream MCP servers, APIs, databases3UnlimitedUnlimited
Grants by user, team and roleYesYesYes, plus projects
Plain-English rules3 rulesUnlimited, with approvalsUnlimited, with approvals
Audit log retention7 days1 yearCustom, with evidence export
Sign-inGoogle, GitHubGoogle, MicrosoftSAML / OIDC SSO, SCIM
Access reviews, DPA, support SLANoNoYes
Start freeStart a 14-day trialTalk to us

Bring your agents under the tower.

Sign up, connect your first MCP server, write one rule, and send your team one URL. The tower is working from the next call.