Agentic

Give your AI agent a desk here, not a copy of the files.

Connect Claude, Cursor, or anything else that speaks the Model Context Protocol. It works on the same records you do, under the same permissions, and every change it makes is a change you can see.

What it gets

135 tools against your real records.

Not a chat window with your documents pasted in. Named actions your agent calls directly, on the same brands, content, records and contacts you work on in the studio.

Content

Draft, revise and schedule the content your brand publishes, in the same queue you review.

Product records

Read and write the hierarchy your product is described by, down to individual fields.

Artifacts and notes

Open a working document, add to it, and link it to the records it belongs with.

Contacts

Look people up, log what happened, and move them through a pipeline.

Search

One typo-tolerant search across the workspace, ranked, instead of guessing at names.

Shared memory

Read what other agents worked out before, and write down what this one learned.

Connect

Two ways in, both about a minute.

Setup happens in your client, not in m18t. There is no agent screen to configure here. You point a client at the address below and approve it.

Sign in from the client

If your client supports it, use this one.

Add the address as a remote server. The client sends you here to sign in, shows you which application is asking, and you approve it. No token to copy, and nothing secret sitting in a config file. There is no screen yet to withdraw a sign-in connection, so if you want an off switch you control, use a token.

server address 
https://m18t.com/mcp
Use a token

For clients that want a header.

A business owner or admin creates a token in account settings, decides there whether it can write and which brands it can reach, and pastes it into the client. Revoke it on its own whenever you want.

{
  "mcpServers": {
    "m18t": {
      "url": "https://m18t.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}
From a terminal: Claude Code

One command, either way in. Run it in your project folder.

Sign in from the client. Then run /mcp inside Claude Code and pick m18t to approve it in your browser.

claude mcp add --transport http m18t https://m18t.com/mcp

Or pass a token as a header.

claude mcp add --transport http m18t https://m18t.com/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"

Add --scope user to make it available in every project. Inside Claude Code, /mcp shows the connection and starts the sign in.

Then tell it to get its bearings. Your agent can ask the workspace to orient it, and gets back the brands it is allowed to see, the vocabulary, and how records link together. You do not write that briefing or keep it current. Full setup guide.

The part that matters

An agent gets exactly what its person has.

Not a shared key in a config file. Every token belongs to one person, and that person's checks run for the agent on every single call.

One token, one person

Issued to a named person and revocable on its own. Never a shared credential.

Read only is a real setting

Hand it a token that cannot write. Checked on our side, not asked for in a prompt.

Never more than its person

If they cannot see it, neither can the agent. No prompt talks it into more.

Scoped to the brands you pick

Combined with what its person can already reach, so the scope only ever shrinks.

Credentials stay out of reach

No action hands back a stored key. There is nothing to ask for.

Only the listed actions exist

No open ended queries, no arbitrary commands. The list is the whole surface.

What an agent deliberately cannot do here.

These are decisions, not gaps. An agent that can quietly delete your work is not a feature, and neither is one that can post to your audience without you.

It cannot delete your work

The only two deletes remove an empty funnel or a tag nothing uses. Anything else, a person removes.

It cannot publish to your audience on its own

It can ask to publish, or to email one contact. The request waits in your queue, and nothing goes out until a person releases it.

It cannot add credentials

It can tell you a key is missing. Connecting one is yours.

It says so when something is missing

You get a plain answer instead of a creative workaround.

Your agents remember. You approve what they share.

An agent that quietly writes its own assumptions into a memory nobody reads is a liability. So what it shares with others starts as a proposal, and search-style recall returns it only once a person confirms it. A private note it is confident about, visible to its own person alone, it can keep without asking.

01
The agent proposes

It writes down what it worked out, marked as a proposal.

02
You read it

Proposals sit in one place, in plain words.

03
You confirm or drop it

Search-style recall skips proposals. An agent reading the record a proposal is about still sees it, marked as a proposal.

Recall is keyword matching across confirmed memories, including the private notes an agent kept for you. It is not a system that infers meaning, and we are not going to describe it as one.

Questions people actually ask

An open standard for connecting an AI assistant to a real system so it uses that system's actions instead of guessing from a chat. Claude, Cursor and a growing list of clients speak it. m18t runs its own server, so you point your client at your workspace and it works.

Bring your own agent.

Free while it is in beta. Give your agent a token that cannot write, let it look around first, and widen it when you are ready.