AIP-MCP · Private integration between companies
Your systems
need to talk.
Your data doesn't.
Two companies connect their software without either side handing over its data, its systems, or its code. AIP-MCP maps what the field names and types justify, asks a person about the rest, and produces a bridge that cannot reach the network. Not by promise. By construction.
Mission
Make it possible for two companies to integrate without either one having to trust the other, or anyone in between.
The problem
Integration stalls on a question that isn't technical.
One system calls it full_name. The other calls it name. Reconciling that takes an engineer, and that engineer has to see both sides.
So the work stops on who is allowed to look. Legal negotiates. Compliance scope widens. Integrations that should take days take quarters, and the ones between competitors never happen at all.
End to end
The whole thing, start to finish.
Two companies that have never shared anything, from first contact to a verified bridge.
The boundary
Watch the values disappear.
Nothing real crosses the boundary. Types survive so a bridge can be proposed. Every value, identifier and category is reduced to its shape.
Inside the company
What leaves the company
Worked example
A benefits platform onboards three customers.
Every enterprise runs some HR system, and no two name things the same way. For a software vendor, each new customer means another integration, and another argument about employee data.
Onboarding today
- A solutions engineer per customer, for weeks
- A data-processing agreement negotiated each time
- Your staff handling their employees' records
- Every HR system upgrade breaks something
Onboarding with AIP-MCP
- The customer describes their system once, privately
- No employee data ever reaches your platform's builders
- A narrower compliance footprint to negotiate
- Format changes are caught, then rebuilt or held for a person
Use cases
Three integrations, from first call to a verified bridge.
Each one is a situation companies are in right now: what they are trying to do, how it goes with today's tools, and the same job done through AIP-MCP, step by step.
Scenario
A home-goods retailer is moving its warehousing to a new third-party logistics provider. Every order has to land in the 3PL's warehouse system in the 3PL's format: weights in pounds, its own field names, its own service codes. The retailer's order system works in grams and names its fields and its delivery services differently.
Objective
Be shipping from the new warehouse before the holiday peak, without giving the 3PL's integration team a login to the order system. The same 3PL ships for two of the retailer's competitors.
How this goes today
- A joint project: mapping workshops, a shared test environment, sample files of real orders sent by email
- The 3PL's engineers read customer names and home addresses while they build
- The unit conversion lives in hand-written code that gets reviewed once, if at all
- When either side changes a field, orders fail quietly until a customer calls
In 1999 NASA lost the Mars Climate Orbiter because a contractor's software reported thruster impulse in pound-force seconds and the navigation software expected newton-seconds. Two organizations, one interface, one unit nobody checked.
With AIP-MCP, start to finish (illustrative)
Set upEach side, separately
Each company installs AIP-MCP inside its own network. Nothing is hosted in the middle, and neither side gets an account on the other's system.
DescribeEach side, separately
The retailer gives it the specification its order API already has, and one exported sample order. The 3PL does the same for its inbound-shipment API. Each becomes a description that stays at home.
RedactAutomatic
At each boundary every value and identifier is stripped. What leaves is structure: a string here, a number there, a category with three values.
ProposeThe tool
Working from the two shapes alone, the tool maps what the names and types justify and turns everything else into a short list of questions for a person.
Retailer emitsStatus3PL expectsorder_refconfirmed by a personreferencerecipientconfirmed by a personrecipient_nameship_streetconfirmed by a personstreetship_cityconfirmed by a personcityship_postcodeconfirmed by a personpostcodeparcel_gramsmapped + g → lbweight_lbserviceconfirmed by a personservice_codeDecideOne person per side
NEXT_DAY,STANDARDandECONOMYhave to become the 3PL'sND,STDandECO. Which means which is a business meaning, so the tool asks instead of guessing. The two operations leads confirm the field pairs and the three service codes. Nobody opened an order to do it.CheckAutomatic
Before it may run, the bridge is independently checked and every output is verified, the pound figures included. It passes, and it is signed. Before anything is saved, the output is also checked against the 3PL's own published schema.
RunRunning
Orders are translated. Each record passes through the sealed bridge and comes out in the 3PL's format. The bridge has no way to reach a network.
Leaves the retailer
order_ref"SO-48213"recipient"Dana Whitfield"ship_street"14 Harbour Rd"ship_city"Leeds"ship_postcode"LS1 4AP"parcel_grams2500service"NEXT_DAY"Arrives at the 3PL
reference"SO-48213"recipient_name"Dana Whitfield"street"14 Harbour Rd"city"Leeds"postcode"LS1 4AP"weight_lb5.51155service_code"ND"HealMonths later
The retailer's platform renames
parcel_gramstomass_g. The mismatch is caught before an order goes out wrong. A new bridge is built, has to pass the same checks again, and replaces the old one. A change it cannot resolve with confidence is held for a person instead of going live. So is a rebuilt bridge that would write fewer of the fields the 3PL requires.
No shared test environment, and no sample files of real orders in anyone's inbox.
The 3PL's engineers never saw a customer.
The unit conversion is checked on every build, not trusted once.
Scenario
A regional hospital group starts using an outside laboratory for specialised tests. Orders have to move from the hospital's records system into the lab's. The hospital names its fields its own way, keeps the record number as a number, and codes sex as a single letter. The lab wants its own field names, a text identifier and spelled-out values.
Objective
Start sending orders without any outside engineer, the lab's or a contractor's, handling patient records during the build. Keep the list of organizations that touch patient data exactly as short as it is today.
How this goes today
- An interface project between two vendors, usually measured in months
- Every outside party that handles records while building it needs its own agreement and security review first
- Test messages are made from real or lightly masked patients
- A code that was mapped wrong shows up in production, on a real patient's order
Under US health privacy law, any vendor that handles patient records on a provider's behalf has to sign a business associate agreement before it starts. Every extra party in an interface build is another agreement, another review, and another place a record can sit.
With AIP-MCP, start to finish (illustrative)
Set upEach side, separately
The hospital installs AIP-MCP inside its own network, next to the records system. The lab does the same on its side. No third party sits between them.
DescribeEach side, separately
The hospital describes one thing, the lab order it sends. The lab describes the order it accepts. Both come from interface specifications that already exist. Charts, results and billing are simply not in the description.
RedactAutomatic
Before anything leaves the hospital, every value is reduced to its shape. The mapper learns that a name field is a string. It never learns a name.
ProposeThe tool
No field here can be paired safely from its name and type alone, so the tool pairs none of them. It hands every pair back as a question it has no business answering.
Hospital emitsStatusLab expectsmrnconfirmed by a personpatient_idfamily_nameconfirmed by a personlast_namegiven_nameconfirmed by a personfirst_nametest_codeconfirmed by a personpanel_code(nothing)confirmed by a personordering_sitesexconfirmed by a personsexpriorityconfirmed by a personurgencyDecideOne person per side
An interface analyst at the hospital and one at the lab confirm the field pairs and the site code, and agree that
F,MandUbecomefemale,maleandunknown, and thatSTATmeansurgent. They exchanged code lists, not patients.CheckAutomatic
Before it may run, the bridge is independently checked, without any real patient's record. The signed result shows which bridge was checked and the verdict, so an auditor can confirm it later. Before anything is saved, each order is also checked against the lab's own published schema.
RunRunning
Orders pass through the sealed bridge into the lab's format. The only parties that ever hold the record are the two that always had to.
Leaves the hospital
mrn4471902family_name"Whitfield"given_name"Dana"sex"F"test_code"CBC-D"priority"STAT"Arrives at the lab
patient_id"4471902"last_name"Whitfield"first_name"Dana"sex"female"panel_code"CBC-D"urgency"urgent"ordering_site"NGH-01"HealMonths later
The hospital's records vendor ships an upgrade that renames
test_codetoorder_code. The break is caught at the boundary, not on a patient's order. The rename is confirmed by one person, the bridge is rebuilt and checked again before it goes live, and the lab has nothing to do.
No patient record left the hospital to get the interface built.
The people who mapped the fields worked from a shape, not a patient.
Every bridge that runs carries a signed record of the checks it passed.
Scenario
An appliance maker sells through forty independent distributors. To plan production it needs monthly sales per product from all of them. Every distributor runs a different ERP, counts in cases where the manufacturer counts in units, and uses its own region codes.
Objective
One clean monthly feed, in the manufacturer's format, from all forty, without asking any distributor to open its ERP, its customer list or its pricing to the company that also sells to its rivals.
How this goes today
- Spreadsheets emailed at month end, every one in a different layout
- An analyst re-keys and reconciles them by hand, every month
- Distributors refuse a direct connection, because the same system holds their customers and margins
- One distributor changes its export and the totals are quietly wrong until someone reconciles
In October 2020 Public Health England failed to report nearly 16,000 positive COVID-19 cases on time. Results were being passed between systems as spreadsheet files, and an old file format silently dropped the rows that did not fit.
With AIP-MCP, start to finish (illustrative)
Set upManufacturer, once
The manufacturer installs AIP-MCP and describes the one thing it wants to receive: a monthly sales line. That description is written once and reused for every distributor.
DescribeEach distributor
Each distributor installs it on its own side and describes only its monthly sales export. Customer and price tables are not in the description, so they are not in the shape, so there is nothing about them to leak.
RedactAutomatic
Product codes, quantities and regions are reduced to their types before anything leaves the distributor. The manufacturer's side does the same.
ProposeThe tool
Forty different exports, one target. This is distributor 17.
Distributor emitsStatusManufacturer expectsskuconfirmed by a personproduct_codeperiodconfirmed by a personmonth(nothing)confirmed by a persondistributor_idcases_soldproposed, corrected by a personunits_soldregionconfirmed by a personterritoryDecideThe distributor
The tool pairs
cases_soldwithunits_soldon its own, and that pairing is wrong: a case holds 12 units. This is why a person reviews every bridge. The distributor corrects it, confirms the other field pairs, and says thatNEis the north-east territory. The bridge is updated.CheckAutomatic
Each of the forty bridges is independently checked and signed before it may run. A bridge that fails never goes live, and the other thirty-nine are unaffected. Every output is also checked against the manufacturer's own published schema.
RunRunning
Sales lines from every distributor come out in one format. Nobody re-keys anything.
Leaves distributor 17
sku"HX-2200"cases_sold40period"2026-08"region"NE"Arrives at the manufacturer
product_code"HX-2200"units_sold480month"2026-08"territory"north-east"distributor_id"D-017"HealMonths later
Distributor 12 upgrades its ERP and
cases_soldbecomesqty_cases. That one bridge stops, is rebuilt and is checked again. If the new name cannot be matched with confidence, it is held for a person rather than guessed.
Forty feeds in one format, with no month-end re-keying.
No distributor opened its ERP, its customers or its prices to the manufacturer.
A changed export stops at the boundary instead of reaching the forecast.
Who it's for
Wherever trust is the constraint, not effort.
If both parties will hand their data to a shared integrator, conventional tools win. This is built for the cases where they won't.
Software vendors
Onboard a customer's system
Connect the system your customer already runs without your platform ever holding their records, and without a services engagement per account.
Partner networks
Many partners, one schema
Normalize data from distributors, suppliers or franchisees while each keeps its internals private.
Regulated & cross-border
Connect what legally can't mix
Link entities separated by residency or privacy rules, where records cannot leave a region even inside one company.
Competitors
Exchange without exposure
Share operational data with rivals through a bridge that never holds either side's records.
What you get
The benefit, plainly.
0
Records exposed
Neither counterparty, nor anyone building the bridge, ever sees a real value.
1
Description per system
Describe what you have once. Every new counterparty reuses it, with no new disclosure.
1
Person, only when needed
When a partner changes format, the break is caught before bad data moves. The bridge is rebuilt and checked again, or held for a person if the change is ambiguous.
Pilot
Try it on one integration you are stuck on.
AIP-MCP is a command-line tool that runs on your own machine, offline. A pilot uses records you export from your own systems. We never receive them, and it needs no production access, no credentials and no network changes.
What you bring: the API specs (OpenAPI 3, as JSON) for the two systems you want to connect, one sample record exported from each, and a few hours from one engineer.
What you get: a working, verified bridge for that integration, the short list of decisions it handed to your team, and the signed record of the checks it passed, which you can show your security reviewers.
What it will never do
- Reach the network from a bridge
- Guess what a category means
- Go live after an ambiguous change
Built in four months by one founder, Achuthan Ram. 1,020 automated tests, including deliberately hostile inputs the tool is required to reject. US provisional patent filed May 2026. A working prototype, not a hosted service.