Let your operators ask, not click.
Give property managers an assistant that can actually work in your product, scoped to the properties that operator is allowed to touch.
What your customers are asking for
Your customers' operators live in your product all day, and they have started asking why they cannot just ask for what they need. They want to pull a rent roll, check which units are turning over, or draft a renewal without clicking through six screens.
At the same time their IT and compliance people are asking a harder question: if an assistant can read a rent roll, what stops it reading a portfolio that operator has no business seeing?
Why a shared API key fails
The quickest path is to mint one API key, hand it to the assistant, and let it call your API. That works in a demo and fails in production for a specific reason: the key carries your service account's permissions, not the operator's.
Once the agent holds that key, every user of the assistant has the union of everything your API can do. A leasing agent at one management company can ask for another company's data and your API will happily answer, because your API was never told who was asking.
Revocation is no better. Removing an operator's access in your product changes nothing, because the credential the agent is using was never theirs.
One request, followed all the way through
- 01A leasing agent asks their assistant: "Which units at Riverside are vacant next month?"
- 02The assistant calls the search_units tool on your LockMCP endpoint. It has no API key. It carries a short-lived session belonging to that leasing agent.
- 03LockMCP verifies the session, resolves the person, and checks their role against the tool. The role is allowed to call search_units.
- 04The property parameter is narrowed to the property IDs that agent actually manages, so the model never sees Riverside, and cannot ask about it, if it is not theirs.
- 05Your credentials are decrypted in memory and the call goes to your API. The response comes back, and the request is written to the audit log against that agent's name.
- 06The next morning their manager can see exactly who asked what, and the compliance team has an answer that does not begin with "the integration".
What your customer gets
Answers, not navigation
Operators ask in the assistant they already have open, rather than learning another screen.
Their own permissions
The assistant is bounded by what that person can already do in your product, and nothing more.
No new login
They authenticate the way they do today. There is no second directory to manage.
A record for their auditor
Every agent-driven action is attributed to the person whose session made it.
What you get
One integration, not per-customer
Each customer gets an isolated connection and endpoint from the same deployment you already run.
A security answer that holds
"The agent never holds a credential" is a sentence that survives a security questionnaire.
No API rewrite
Your existing OpenAPI spec is the input. Endpoints stay exactly as they are.
A reason to move upmarket
Governed agent access is the feature enterprise buyers are starting to require.