Connectors
A connector is an external MCP server your users can reach from a conversation: their mail, their files, their tickets. With most connectors each user connects their own account once, and Qry then acts as that person there, with that person's permissions — Qry reads the mail of whoever is asking, never a shared mailbox. A connector can also use one shared credential (a service account), as MCP servers in Qry always did.
This page is for administrators. Users connect their accounts in Settings › Connections, or from the card Qry shows in a conversation when it needs a service they have not connected yet.
Turn connectors on
Connectors are off by default. Turn them on in Admin › System configuration › Connectors. Then:
- Admin › MCP becomes Admin › Connectors. Every MCP server already configured was copied in as a connector, with its credential and the same people allowed to use it.
- Review the access of the copied servers. Before connectors, access was given tool by tool; a connector is granted as a whole. Where somebody gains tools they could not use before, the connector is marked Review access and its Access tab lists who gained what. Turn those tools off, or narrow who can use it, and save.
- STDIO servers (started with
docker run) are copied disabled: a connector is reached over HTTP. Run the server as its own service and add its URL.
Turning connectors off again returns to the MCP servers as they were.
The Public URL
Signing in to a provider sends the user's browser back to Qry at:
https://<your Qry address>/connectors/callback
Qry builds it from Admin › System configuration › Application › Public URL, which must be the address your users open Qry at. The Add connector panel shows the exact redirect URI to register at each provider.
Add a connector
Admin › Connectors › Add connector shows the catalog and a Custom MCP server option. Every catalog connector starts read-only: a tool that changes something (sends, creates, deletes) stays off until you turn it on in its Tools tab.
| Connector | What users get | What you register |
|---|---|---|
| Gmail | Search and read mail, draft replies (nothing is sent) | A Google OAuth client |
| Google Drive | Find and read files, create new ones | The same Google client |
| Google Calendar | Read calendars and events, find free time | The same Google client |
| Jira and Confluence | Issues and pages | Nothing |
| Notion | Pages and databases | Nothing |
| Linear | Issues, projects, cycles | Nothing |
| Asana | Tasks and projects | Nothing |
| GitHub | Repositories, issues, pull requests | A GitHub OAuth App |
| Slack | Messages, channels, files | A Slack app |
Servers marked Nothing register Qry themselves (OAuth dynamic client registration): each user signs in and that is all.
Google Workspace (Gmail, Drive, Calendar)
Google's own MCP servers. One OAuth client in your Google Cloud project serves all three.
- In a Google Cloud project of your organization, enable the MCP API and the product API of each one you want: Gmail MCP API and Gmail API; Drive MCP API and Google Drive API; Calendar MCP API and Google Calendar API.
- In Google Auth Platform › Audience, choose Internal. Only accounts of your Google Workspace organization can then sign in, and Gmail's and Calendar's restricted scopes need no Google verification.
- In Google Auth Platform › Clients, create a client of type Web application, select Use this client for an AI-powered agent, and add the redirect URI the Add connector panel shows.
- In Qry, add Gmail and paste the client ID and secret. Add Drive and Calendar with Use the same client as Gmail.
Each user then connects each product once (Google asks for consent per product).
The Workspace MCP servers are in Google's developer preview. If every call answers permission denied, check that the project's organization is enrolled in the Google Workspace Developer Preview Program.
Jira and Confluence
Atlassian's own MCP server. Nothing to register: each user signs in with their Atlassian account and chooses the site. If sign-in says the server is not allowed, an Atlassian organization admin has to allow the Rovo MCP server at admin.atlassian.com. Creating, commenting on and moving issues are off until you turn them on in the Tools tab; each still asks the user first.
GitHub
- In your GitHub organization's settings, open Developer settings › OAuth Apps › New OAuth App.
- Use the redirect URI from the Add connector panel as the Authorization callback URL.
- Generate a client secret and paste the client ID and secret into Qry.
Your organization may have to approve the app before members' private repositories are visible.
Slack
- At api.slack.com/apps, create an app for your workspace and enable it for the Slack MCP server.
- Under OAuth & Permissions, add the redirect URI and the user token scopes the Add connector panel lists.
- Paste the app's client ID and secret into Qry.
A custom MCP server
Any server that speaks MCP over Streamable HTTP (or SSE). Choose who signs in:
- Each user signs in (OAuth). If the server publishes its OAuth metadata (most do), leave the endpoints blank: Qry discovers them and registers itself. Otherwise enter the authorization and token endpoints and the client ID and secret of an app you registered.
- Each user's own token. Each user pastes a personal token.
- Shared credential. One bearer token, API key, username and password, or custom headers for everyone.
- No authentication.
Who can use a connector
In the connector's Access tab:
- Grant it to everyone, or to users, groups and workspaces (every member). Grants add up. With none, only admins can use it — and an admin using a per-user connector uses their own account.
- Choose where it runs: conversations, notebook prompt cells, scheduled tasks, Telegram and WhatsApp. A tool that changes something needs the user's confirmation, so it is only offered in conversations.
Tools and confirmations
The Tools tab lists what the server offers. For each tool:
- On / off for everyone.
- Reads / Changes. Qry starts from what the server declares (its read-only hint) and you can correct it.
- Ask first. A tool that changes something asks the user before it runs: the conversation shows what it will do, and nothing happens until they Approve. Without an answer in five minutes it is not done.
New tools a server adds later appear marked New after Read again. A connector where each user signs in has its tools read with the first account that connects.
Many tools
When a conversation could use more connector tools than Search connector tools above (Admin › System configuration › Connectors, 40 by default), the assistant searches them instead of receiving every one: it finds the tools it needs and then calls them. Searching is one more step the assistant can skip, so keep the number high unless the list is really long. A user who names a connector in the message — @gmail — gets that connector's tools directly, whatever the number.
Long answers
A connector can answer with a lot of text — a page of 50 Jira projects is about 70,000 characters. The assistant reads up to Longest connector answer of it (Admin › System configuration › Connectors, 100,000 by default, about 25,000 tokens); past that the answer is cut and the assistant is told to ask for fewer results. A higher value lets it read more at once and costs more per question.
Connections and activity
- Connections lists who has connected, with which account and when they last used it. You can revoke one person's connection or all of them; Qry tells the provider and forgets the tokens.
- Activity lists every call: who, which tool, from where, the result and how long it took. Qry never stores what a call sent — an email's text, a file's name — only which arguments it had.
Security notes
- Tokens and secrets are stored encrypted. A client secret is sent only to the token endpoint configured for it, never to an address a server's metadata names.
- Content returned by a connector is marked as external data for the model, which is told not to follow instructions found in it — a received email can carry some.
- Qry refreshes each user's token shortly before it expires. When a provider refuses (the user revoked Qry there, or the password changed), the connection is marked Needs reconnecting and the user is asked to connect again.