Sign in Book a demo

Introducing Otto Pilot MCP

We gave Claude our GTM data and asked it the same two questions twice. Without it: unverified titles, broker data it refused to stand behind, and three accounts it admitted it could not crack. With it: nine people with verified employment records, and a reason to call every one of them.

Amaan AslamCo-Founder · GTM PUBLISHED UPDATED READ10 MIN

Ask a rep what they did on Monday and they will tell you about the calls. They will not mention the twenty minutes spent pasting your prospect list into a chat window, because as far as they are concerned that is not a tool. It is just how you get through a list now.

We do it too. That is not a confession, it is the reason this exists.

The trouble is what comes back. A model with no access to your data will hand you a VP name it inferred from a headline, a company that has been an open opportunity since March, and exactly the same tone of confidence whether it is right or wrong. None of it is logged anywhere. If it goes wrong, you find out from the reply.

Otto Pilot is now an MCP server. One connector, 100+ go-to-market actions, inside Claude, ChatGPT or Gemini, running against your workspace: your ICP, your scoring rubric, your LinkedIn, your campaigns, your inbox, your CRM.

Everybody shipping an MCP server this year is going to tell you it makes their model better. So here is what ours actually does, and the run we did to check it.

100go-to-market actions, about. Search, enrich, score, sequence, send and write back.1B+people with verified employment records, searchable and verified on demand.200M+companies scored against your ICP, against your rubric, not a relevance guess.88%accuracy on why-now questions. The next best published result is 66%.

What you can expect with Otto Pilot MCP

Here is the full list of actions as it stood at launch; the server has grown to 100+ since. Most are free; fourteen in this list spend credits, and every one of those states its price before it runs.

Find the companies 6 actions

ActionWhat it does
Search companiesFinds companies fitting an ICP by industry, region, size and keywords. Applies your own size bands and disqualifiers while searching, not after, so companies you exclude never come back.
Start a deep company searchDeep discovery for harder briefs. Minutes, not seconds. Returns a run id immediately.
Check a deep searchProgress and results for a running deep search.
Find companies by a live buying signalCompanies showing a signal right now: hiring, funded, just launched, or looking to switch away from a named competitor. Every result carries its evidence line and a source link.
Find companies on LinkedInCompany search through LinkedIn, with native filters including live open-roles counts.
Scan the market for buying signalsSweeps your target industries for triggers at companies not yet in your pipeline.

Find the humans who actually own it 5 actions

ActionWhat it does
Find decision-makersFinds people at a company for a role. Employment is checked against each person’s own employment record, not inferred from a headline, so you get who currently works there and who is a former employee. Says so honestly when the role does not exist.
Search people semanticallyDescribe the person you want instead of keyword matching a job title, and search across companies at once.
Find people on LinkedInPeople search through LinkedIn. First party and fresh.
Find a verified work emailRuns the work-email waterfall for a contact and returns a verified address.
Who left a companyWho left in the last few months, when, where they landed, and who shows no new role, which is the stealth or founder pattern.

Score them against your rubric 6 actions

ActionWhat it does
Enrich a companyFirmographics by default, or go deeper on go-to-market strategy, values, social, free tier and tech stack.
Score ICP fitScores a company against your rubric, 0 to 100, with a tier and a rationale.
Re-score stale scoresRe-scores accounts that went stale after new signals or a rubric change. Unchanged inputs are served from cache.
List saved ICP profilesEvery ICP you have saved, so a search can run against a specific one.
Backtest the rubricTests your rubric against real outcomes by scoring won and lost accounts and reporting the separation.
How your rubric performsWon versus lost separation, win rate per tier, and which criteria actually predict outcomes.

Move them through the pipeline 8 actions

ActionWhat it does
Add a company as a leadAdds a company from its name. Idempotent, so an existing lead comes back rather than duplicating.
Import many companiesBulk add from a list or spreadsheet, with a credit quote for the next step before anything is spent.
Update a leadStage, owner, notes.
List leadsYour companies, newest first, with fit score and stage.
Get a leadOne company in full: firmographics, score, qualification health, contacts.
List workbooksYour saved lead tables.
Show a workbookOne workbook with its rows and columns.
List call notesCalls and notes on an account, so you can ask what you last discussed with them.

Know when something changes 4 actions

ActionWhat it does
Recent finds from your LinkedIn AgentsChampions who moved and where they landed, departures and stealth moves, people engaging with competitor posts, people publishing about your topics, and engagers on your own posts.
Watch a company or competitorStarts a daily sweep on a company, competitor or keyword.
Sweep a watch nowRuns a watch immediately instead of waiting for the daily sweep.
Set up signal trackingAdds, enables, disables or reprioritises the signals you track.

Build sequences that run on LinkedIn and email 8 actions

We integrate through LinkedIn, so you can build sequences that run across LinkedIn and email together, from inside the assistant.

ActionWhat it does
Draft an outreach sequenceA personalised multi-touch sequence anchored to live signals and qualification gaps.
List outreach templatesEvery template you can build from, with its steps and full branching shape.
Create a campaign from a templateCreates a draft that runs across LinkedIn and email. Nothing launches automatically. A person reviews and launches in the app.
Add contacts to a campaignEnrols contacts. Duplicates and unsubscribed contacts are skipped with reasons.
Show a campaignStatus, schedule, leads at each stage, and the whole sequence drawn as a tree with the branch on every edge. The review-before-launch read.
Pause or resume a campaignReversible. Pausing stops all further sends until resumed.
How campaigns are performingInvites, messages, opens, replies and reply rate, this week against last week, and anything worth attention.
Are LinkedIn and email connectedConfirms both channels are ready before you launch.

Reach them on LinkedIn 5 actions

ActionWhat it does
Send a LinkedIn messageSends a direct message to one existing contact.
Send a connection requestSends an invite with an optional note of up to 300 characters.
Visit a profileViews a contact’s profile as a warm touch before outreach.
Like a contact’s latest postLikes their most recent post, skipped if nothing is newer than 30 days.
List the LinkedIn queueShows queued connects, messages and visits, filterable by status.

Handle what comes back 3 actions

ActionWhat it does
Triage the inboxRanks waiting replies. Each thread gets an intent, a priority and a one line next step naming the person where known.
Read a contact’s messagesReads the actual conversation, so a reply can be drafted against what was really said.
Draft a response to a replyDrafts a short answer in your voice and queues it for a person to approve. Never auto-sends.

Write it back without creating duplicates 4 actions

ActionWhat it does
CRM connection statusWhich CRMs are connected, their sync policy, health and latest import progress.
Look up records in the CRMReads companies, people or deals straight from the CRM without importing. Each row says whether it is already linked, so you can tell what is genuinely new. Nothing is written.
Push a company to the CRMPushes a company and its contacts. Match first: an existing record on the same domain is updated and linked, never duplicated.
Import from the CRMBackground import of companies, people and deals, linked by domain, never duplicated.

The full breakdown

That is the surface. The rest of this post is the evidence: what came back when we ran the same model twice, where Otto lands on the published search benchmarks, and what Ops keeps control of.

Nine verified people, or one

One model. Claude Opus 5, twice on the same afternoon, back to back. The only thing that changed between the two runs was whether it could reach our data.

MeasureOpus 5, no connectorOpus 5, with Otto Pilot
Companies returned with a dated, sourced trigger310 (3.3x)
Companies scored against our own rubric
Each with headcount, HQ and a score.
010
Named people29 (4.5x)
People with a verified employment record19 (9x)
People it would not vouch for (lower is better)10
Accounts where it found nobody (lower is better)30
Wrong company warnings raised before outreach
It caught three companies sharing one name.
01

“One verified person across five accounts is the honest count.” Claude Opus 5, no connector

How we ran it, in case you want to pull on it

Both runs got the same ideal customer profile, attached as the first message, before either question. Handing the baseline our ICP is the step people quietly skip, because withholding it makes the comparison look a lot better. It also makes it worthless. Otto’s advantage was never knowing who we sell to. The workspace already holds that. The advantage is reaching the live data that profile describes, so giving the baseline the same profile costs us nothing and removes the obvious objection.

Two questions, written down before either run started, identical across both:

“Which publishers, studios and streamers matching our ICP raised funding or announced a push into new languages or markets in the last 60 days? Give me the source for each.”

“Now the harder question. Who actually owns audio production, dubbing or localisation at these companies? Go deep on the strongest account: LinkedIn profiles, and why each person is worth contacting now.”

The sixty day window is doing real work in that first question. It sits past the model’s training cutoff, so anything it returns has to come from somewhere it can actually reach today.

The workspace was empty when we started. An ICP and nothing else, zero accounts, zero contacts, checked before the first prompt, so nothing in either answer could be a stored row read back to us. We ran each question once. No retries, no second attempts, no picking the better of two. What came out is what got counted.

The baseline was good, which is the whole point

A benchmark where the control looks stupid is an advert with a table in it.

Without the connector, Opus 5 did real work. It found dated, sourced expansion news, and it checked its own finds against our size bands without being asked to:

“Textbook trigger shape, dated, public, catalogue driven, but they’re Sony-owned and well past your 5,000-employee ceiling.”

Claude Opus 5, no connector

It caught the other end of the band too, flagging a promising smaller find as probably under our fifty employee floor and worth a headcount check before anyone worked it. That is careful. If we had wanted an easy win, that section is the one we would have cut.

Then we asked the question that actually eats a rep’s week

Discovery was not where it fell over. Who owns the work was.

The baseline named two people. It could verify one. On the second it stopped and told us why:

“This came from broker databases rather than a primary source, so treat the title as needing confirmation. Broker data goes stale.”

Claude Opus 5, no connector

Read that twice, because it is the most honest line in either run and it is also the exact failure. The model is not inventing anything. It knows it cannot stand behind the title, and it says so out loud. Then it summarised itself, under a heading it chose:

“I could not identify an audio, dubbing or localisation owner at DPG Media, Diamond Films or VertTV. One verified person across five accounts is the honest count.”

Claude Opus 5, no connector

One out of five. Three accounts where the answer was, in effect, I do not know who works here.

That is the ceiling on a model with no access to live data. You cannot reason your way to a fact nobody gave you.

With the connector, it got past the names

Same model, same two questions, one afternoon later.

Ten companies came back, each scored against our own rubric instead of ranked by how relevant they felt:

“Every row carries headcount, geography and a score against your rubric, not a relevance guess.”

Claude Opus 5, Otto Pilot connected

Then it stopped keyword matching job titles and described the person it wanted instead. One query, five named owners at five different majors, every one with a verified employment record and a live profile. Then it went deep on the top ranked account through LinkedIn and found four more, including a director who has been in that seat since January 2024 and at the company since 2014. Twelve years of institutional memory, on the first call.

The part we did not expect was this:

“Every localisation title at MUBI is a subtitling title. There is no dubbing or audio production role anywhere in the function. That is your ICP’s subtitle-only trigger showing up in the org chart itself, the same quarter MUBI became available in two new Nordic markets.” Claude Opus 5, Otto Pilot connected

Every localisation job at that company is a subtitling job. No dubbing, no audio production, nobody. And they had just gone live in two new Nordic markets. New territories, a pipeline that only does subtitles, and no one hired to do the rest of it. You do not need to research that account any further. You need to write the email.

It also stopped us emailing the wrong company

“Name collision. The company search also matches Mubi Medical, mubi.pl and MUBI Sistemas de Gestão. I resolved against the film platform before searching, but pin the entity with a domain before any outreach.”

Claude Opus 5, Otto Pilot connected

There are at least three companies with that name. A general assistant picks one and you learn which from the reply. This one told us which it had used, and told us to pin it with a domain before anyone sent anything.

Both runs happened in a test workspace holding an ideal customer profile and nothing else, zero accounts and zero contacts. The profile is a worked example, an AI voice company selling into publishers, studios and streamers. Not a customer, and no customer data appears in either run.

Reps are already doing this. Nothing is watching it.

There are two ways AI gets into a go-to-market team. Ops builds the workflow, owns the data, governs all of it, and ships next quarter. Or the rep opens a chat window on Monday morning and gets on with it.

The rep is not the problem. Somebody who builds their own research loop because the Ops queue is six weeks deep is telling you precisely what is missing from the stack you already paid for. And you cannot take it off them. They will do it on their phone.

So give the assistant the workspace instead. That is what Model Context Protocol is for, and it is the entire idea behind this connector.

Top of all four search benchmarks, at a fraction of the cost

The head to head above is one workflow on one afternoon. These measure the search engine underneath it.

Otto runs at three effort tiers, and all three are in the table, including the cheap one. Publishing only your best tier is how benchmarks get gamed.

BenchmarkOtto, lowOtto, mediumOtto, highBest other published result
Company-FindAll
passed entities per task
13.2 $0.0218.1 $0.0923.6 $0.3418.7 $2.10
People-FindAll
passed entities per task
9.4 $0.0315.2 $0.1520.1 $0.3614.4 $2.10
DeepSearchQA
score
0.645 $0.030.724 $0.100.833 $0.360.765 $1.55
WideSearch
row F1
42.0 $0.0350.5 $0.1058.4 $0.3653.0 $2.15

Otto figures come from Otto’s own Find Leads benchmark run across the three effort tiers. Competitor figures are published third-party benchmark results from 2026, positioned on the same axes. We did not measure those, and we are not presenting them as ours.

On all four, Otto’s high tier is the top result, and it gets there for somewhere between a sixth and a quarter of what the next best point costs.

The middle tier is the one that interests us more. On Company-FindAll it matches the best frontier model result for about four cents on the dollar.

Company search accuracyOttoNext bestThird
Retrieval
finding the right companies
74%37%36%
Why-now
answering questions about them
88%66%65%

Reps get the speed. Ops keeps the keys.

If you run Ops you already know how this goes. Credits get spent on something nobody approved. A duplicate lands in the CRM. Somebody asks who signed it off, and the honest answer is that nobody could see it happening in the first place. Then it becomes your problem.

Five limits, and you set all five.

  1. You mint every connection, and you revoke it. Settings, Integrations, MCP. One click sign in from the assistant, or a manual key. Revoking takes effect immediately and kills the connection outright.
  2. You choose what each connection is allowed to do. Read-only, or read and write. A read-only connection can search, read and report, and that is the end of it: no sending, no enrolling anyone in a campaign, no writing to the CRM. Anything that needs a signed-in session, workspace administration for example, is not exposed to the connector at all.
  3. Nothing gets spent without the price on the table first. Every action states its cost in the description the assistant reads, so it knows what a call costs before it makes one. Before any bulk operation the assistant is told to quote the total and wait for a yes, instead of quietly running a paid action down a spreadsheet.
  4. Every call is logged. The action name and whether it worked, written to your workspace audit trail. When someone asks what was run, you have an answer instead of a theory.
  5. Nothing gets duplicated into your CRM. A push looks for an existing record on the same domain first, then updates and links it rather than creating a second one. There is also a read-only CRM lookup that tells you which records are already linked before anything is created, which is the direct answer to reps “finding” leads the company has owned for a year.

Connecting it takes about a minute

Open Otto Pilot, then Settings, then Integrations, then MCP. It hands you the connector URL and mints the connection.

Paste that URL into Claude, ChatGPT or Gemini as a custom connector, sign in when it asks, approve. If you want the assistant to look but not touch, drop write access on the approval screen. There is a manual key in the same panel if your client needs one instead: shown once, hashed at rest, revocable from the same place.

The model was never the bottleneck

Everyone is arguing about which model. Almost nobody is arguing about what it can see.

Same model, same profile, same two questions. One run could vouch for a single person across five accounts and told us so in writing. The other came back with nine, plus ten scored companies, a reason to call grounded in an org chart, and a warning that stopped us emailing a company on the wrong continent.

We did not upgrade the model. We gave it our data.

Get more for your tokens. Get more for your go-to-market.

We will connect it to Claude, ChatGPT or Gemini with you, on your own data, and show you what comes back. Half an hour, no slides.

Book a demo

Already have an account? Settings, then Integrations, then MCP.

Read next

We’ve done the math. Your next move will be your best one.

data + prospecting + enrichment + intent signals + outreach + intelligence = Otto + You

The film