Ask questions, run reports, create and update records — from Claude, ChatGPT or Gemini. Every person connects with their own token, and you can revoke it in seconds.
Priority Gateway v1.55.x · endpoint POST /mcp
Two tabs, one endpoint: a question answered from live data, and a write that stops for a human.
An LLM reads what you paste into it. Without a tool surface, every Priority question ends in a screenshot, a CSV export, or a wrong guess.
Every install has its own forms, columns and rules. A connector with a schema baked in goes stale the morning somebody adds a column.
Reading is easy to approve. Writing is not. The question a finance lead actually asks is: whose rules apply when the model presses save?
One endpoint answers all three.
The gateway consolidates 23 narrow tools into three dispatchers, with no functionality lost. A model learns the surface once and uses it on any Priority.
priority_discover
Find out what exists
Forms and procedures by name, field metadata at any subform depth, dropdown values, credential checks.
priority_action
Do it in one call
Query, create, update, delete. Run procedures and reports, fire form actions, upload files, batch several writes.
priority_session
Edit like a person would
Open a form, set one field, watch Priority answer with warnings and cascading updates, then save.
Progressive discovery is why this works on your Priority. The model asks what exists before it does anything, so nothing about your install is hardcoded on our side. Add a column to ORDERS this morning and the model sees it this afternoon.
"How much did we sell last month" is one wrong join away from a confident wrong number. So the model gets the right slice of your schema first.
Anything with a total, a ranking, a breakdown or a date range.
Relevant forms, discriminator filters, join paths and lookup catalogs from the graph database of your own install.
It composes the query itself, against the dialect rules it was handed.
Dialect and column existence checked against the graph, before anything runs.
Executed on the read-only SQL channel and answered in the conversation.
The gateway never writes or rewrites the SQL. It scopes the schema, states the dialect rules, and checks what the model composed. The query stays the model's, and you can read it before it runs.
That scoping comes from a graph database of your own Priority, built by BI Generator: every table, column, form and foreign-key path, with the business meaning of each field and the filters that make a form view what it is — the entities your implementer built included. The custom table behind your quality process and the columns somebody added to the order line are on the map next to the standard ones. A model working from general knowledge of Priority would not know they exist; a model handed this context can answer questions about them on the first try.
The controls are the ones Priority already has. The gateway's job is to expose them, not to reinvent them.
| When the model… | What actually happens |
|---|---|
| reads data | It runs as the Priority user pinned into the token — the same permissions that person has in the Priority client, no more. |
| writes SQL | The SQL channel is read-only by construction. INSERT, UPDATE, DELETE and the rest of the mutating verbs are rejected before the query leaves the gateway. |
| creates or updates a record | The write goes through Priority's own form, so Priority's validations, business rules and triggers all run. Nothing writes straight to a table. |
| trips a Priority warning | The warning text is surfaced into the conversation instead of being swallowed. Someone confirms or cancels, and the save waits. |
| hits a confirmation dialog | You choose per call: confirm it, cancel it, fail the call, or hand the dialog text to the model and let it decide out loud. |
| picks the wrong protocol | The reference docs are part of the tool surface. The model looks up which technology fits before it guesses, and gets a correction hint when a query hits a known wall. |
Same endpoint, same tokens. Pick the one your people already use.
Paste the URL and connect. OAuth 2.1 with dynamic client registration and PKCE; the client discovers the auth server on its own from the gateway's challenge.
# Add a custom connector
https://your-gateway/mcp
Download the connector bundle from the licensing portal and open it. No config file to hand-edit, no JSON to get wrong.
# One click, from the portal priority-gateway.mcpb
ChatGPT and Gemini reach the gateway through their MCP support, and so does anything else that speaks the protocol over HTTP. Build your own agent on the same three tools.
# Streamable HTTP POST /mcp Authorization: Bearer gct_…
The token that clears the REST API clears MCP too. Nobody types a Priority password into an AI tool.
A gct_ token pins the Priority server, the user, the company and the language it was minted for. Mint it at the gateway's connect page or in the licensing portal; the default life is 365 days. A leaked token cannot be pointed at a different tenant.
Revoke a person from the portal or the API and the next request fails. Repoint a server and every token on it is revoked with it, so a stale token can't keep dialing the address it was minted against.
Turn on consent gating and the OAuth flow stops asking politely: it requires a pasted connector token, which binds every AI session to a real Priority identity rather than to whoever found the URL.
Issued connector bearers live in a persistent, encrypted store. Redeploy the gateway and connected clients keep working — and the store file on its own is useless to anyone who takes it.
Four facts worth checking before you wire anything.
Dispatcher tools, consolidated from 23 narrow ones with nothing lost.
Not a separate install, a separate licence, or a separate service to run.
Connected clients stay connected through a redeploy.
By construction, not by policy. Mutating verbs never reach Priority.
The /mcp endpoint your client connects to runs on Amazon Web Services, with Cloudflare in front of every request.
The hosted gateway runs in Amazon's Tel Aviv region, deployed from a versioned pipeline. Secrets live in AWS Parameter Store, encrypted, never in a database or a config file.
Every request arrives through Cloudflare: TLS, DDoS protection, a web application firewall, rate limiting and bot filtering, plus caching and routing that shorten the trip from wherever your people are.
The servers accept no inbound connections. They dial out to Cloudflare and traffic comes back down that tunnel, so there is no public port to find and nothing to scan. Admin surfaces sit behind a second gate.
Running the gateway yourself? MCP ships inside it. The same Cloudflare model gives your on-premises Windows service an endpoint an LLM can reach — without opening a port on your network.
One registration connects your team to Priority through AI. These products are already built on the surface this page describes.
Riding the same three tools
One sentence to a runnable app on your own Priority forms.
The same tools, the same tokens, in whatever you build next.
See the whole suite on the portfolio hub, or read what sits underneath this surface on the Priority Gateway page.