Connect an MCP server.
Everything you need to set MCP up in Kryex, screen by screen: what to enter in each field, recipes for the common providers, and how to fix failures. For how it works and why it's safe, see MCP Connectors: Architecture, Security & Governance.
Who does what
Which kind of connection?
| Choose an organization MCP server when… | Choose a personal connector when… |
|---|---|
| One organization-owned credential (service account or API key) should be used for everyone | Each person should act as themselves, with their own permissions at the service |
| You want per-person, per-tool READ / WRITE / ADMIN grants and approval holds in Kryex | The service already governs per-person permissions (GitHub, Atlassian…) and you want accountability per person |
| The server is internal, or isn't in the catalog | The service is in the connector catalog |
Both can exist for the same service at the same time. They're independent.
Register an organization MCP server
Admin console→Governance→MCP Servers→Register serverThe wizard has three steps. Nothing is saved until you register, except with Sign in now, which saves the server as soon as sign-in completes so the token has somewhere to live.
Step 1 · Connect
| Field | What to enter |
|---|---|
| Name | A short unique name the agent will use, e.g. figma-internal-mcp. |
| Description | What the server is for, written for the agent (“Read-only access to the design system”). Agents see this. |
| Endpoint URL | The server's MCP URL, e.g. https://mcp.internal.example.com/mcp. Must be https://. |
| Allow plain http:// (no TLS) | Leave off. Turn on only for a server on a real public address with no TLS. It never unblocks private, loopback or cloud-metadata addresses. |
Then pick how Kryex authenticates:
No sign-in
For open servers, or servers that take an API key. Under Request headers add up to 4: a header name (usually Authorization, or e.g. X-API-Key), the full value (e.g. Bearer abc123… or the raw key), and tick Required if the server needs it. Values are encrypted on save and never shown again. Headers aren't permissions: who may call which tool is set in the Access tab.
Sign in now (OAuth)
You sign in once and every granted person uses that one sign-in. Choose a provider:
- Automatic — the server's own sign-in. For Atlassian, Linear, Sentry, Notion and other modern MCP servers. Register Kryex automatically (recommended) needs nothing. Use your own OAuth client only if the server doesn't allow apps to register themselves, and register the callback
https://auth.kryexlabs.com/connectors/mcp/callbackin it. - A built-in provider (GitHub, Atlassian, Google, Slack, Notion, Figma). Use the published identity where available, or create an OAuth app at the provider with the callback
https://auth.kryexlabs.com/connectors/<provider>/callbackand paste its client ID and secret. - Custom OAuth provider for self-hosted GitLab, Jira Data Center or in-house SSO. Fill the authorize and token URLs (both
https://), choose client authentication (in the request body, or an HTTP Basic header), paste the client ID and secret, and register the…/connectors/custom/callbackcallback at your provider.
Click Connect → and approve in the sign-in window. If your browser blocks it, a “Click here to open the sign-in page →” link appears. The wizard waits up to 5 minutes, and What's happening shows each step if anything goes wrong.
Sign in when needed
Marked coming soon in the console and not available yet.
Finally choose a grouping model to suggest tool tiers (from Governance → Model gateway → LLM config), or No model — floor only to let the fixed keyword rule decide alone. Either way, you approve every tool. Click Discover tools →.
Step 2 · Discover tools
Kryex lists the server's tools (name and description). Nothing is saved yet. Click Classify tools →. With Sign in now, the server was saved when sign-in finished, but its tools stay quarantined until you activate them; if you close the wizard before sign-in finishes, the half-made server is removed automatically.
Step 3 · Review & register
- Three columns, READ, WRITE and ADMIN. Each tool card shows the AI's suggestion and reason.
- Drag cards between columns, tick several and use Move to, or use the per-card tier menu. ↺ Re-classify re-runs suggestions with another model and never changes anything you've already approved.
- The AI can't propose a tier below the safety floor (a tool named
delete_*is at least ADMIN). You can still choose any tier, and you're accountable for it. - Finish with Register & activate tools → (normal wizard), Activate tools → (after sign-in), or Save (N changes) when regrouping later. Only the tools you register or activate become usable.
The server's page
- Discovered tools shows a badge counting quarantined tools. Approve them here, or use Review in canvas / Regroup in canvas. Moving an active tool to a higher tier asks for confirmation, and existing grants are re-checked on the agent's next turn.
- Refresh discovery re-reads the server's tools. Any tool whose definition changed is re-quarantined until you re-approve it.
- Reconnect sign-in (OAuth servers) signs in again with the same setup when the shared sign-in expired, was revoked or never finished. A banner appears automatically in those cases.
- Disable / Enable turns the whole server off or on for everyone, immediately. Delete removes the server, its tools and stored credentials, and revokes every grant (revoked grants stay in the audit trail).
Give people access
MCP Servers→your server→AccessStart from nothing
Nobody has access by default: “No one has access yet — everyone is denied by default.” Click + Give someone access… and pick a person.
Tick the tools they may use
Tools appear in READ, WRITE and ADMIN sections, with Select all / Clear per section. The tiers are independent: giving WRITE tools doesn't give READ tools.
Choose Auto or Approval per tool
Auto runs within the grant. Approval makes every call wait for an admin; the exact call runs on approval. An outdated · Fix chip means a grant no longer matches the tool's current tier; click Fix to align it.
Apply
Apply changes saves everything for that person at once; Remove all access revokes all their grants on this server. Changes reach the agent on its next turn.
Developers have nothing to do: granted tools appear to the agent automatically. In Auto mode READ tools run without a prompt, while WRITE and ADMIN tools ask first. Approval-held calls wait for an admin under Governance → Connections.
Set up personal connectors
The first two steps are for the platform admin. On the hosted service, Kryex Labs has already done them. In a self-hosted or air-gapped deployment, your own administrator does them, in the console section named Kryex Labs.
1 · Register provider apps (built-in providers only)
Admin console→Kryex Labs→OAuth AppsPick the provider (e.g. GitHub, Atlassian), paste the client ID and secret from the app you registered at the provider, and optionally scopes (blank uses the provider default). At the provider, the app's callback must be https://auth.kryexlabs.com/connectors/<provider>/callback. Connectors that use Automatic or Custom OAuth don't need this page.
2 · Create and publish a connector
Admin console→Kryex Labs→Connector catalog→New connectorUse Start from: GitHub, Atlassian, Linear, Sentry or Notion to pre-fill.
- Identity. A square logo under 145 KB that fills its tile; a name and a slug (the agent calls the connector
@slug; lowercase letters, digits and-); a tagline and description users see in Kryex Code. - Connection. The full MCP server URL including its path (e.g.
https://mcp.atlassian.com/v1/mcp), and how people sign in. Automatic (recommended): click Check sign-in and expect “Self-registration: Supported”. Built-in provider: needs its app on OAuth Apps, plus an app install URL for GitHub Apps. Custom OAuth: authorize and token URLs, client ID and secret, client authentication, scopes, and an optional revocation URL used on disconnect. - Listing. Category, made by, and documentation, support and privacy policy URLs.
- Help & setup. Text shown when someone's sign-in stalls or fails, and the setup each organization's admin must do at the provider (shown to them as a checklist; wrap values in backticks to make them copyable).
- Save, then Publish. For Automatic, saving registers Kryex with the provider (“Kryex registered with …”), or a red message says why it couldn't. Drafts are invisible to users. If people are already connected and you change how the connector signs in, they're asked to reconnect.
- Tools and health. The tool list fills itself on the first connection (or use Refresh tools); set each tool's tier. Test connection checks reachability, sign-in setup and registration, and the health panel shows the 7-day sign-in funnel and open incidents.
3 · Allow, restrict and set up (org admin)
Admin console→Governance→Connectors→a connectorAllowed for your organization
The switch at the top. Turning it off blocks every call immediately; connected people keep their sign-in but can't use the connector.
Set up in the provider
If shown (“Needed once”), do the listed steps in the provider's own admin console, clicking a value to copy it, then Mark as done. That's a note for your admins and changes no access.
Tools
Search and filter (All / Read / Write / Admin / Blocked), untick a tool to block it for everyone, or use Block all / Allow all per tier, then Save changes. Each person can still only do what their own account at the service allows.
Sign-in app (optional)
Use your own app to have your people sign in through your company's OAuth app: set its callback to the URL shown, enter the client ID and secret (plus optional scopes, and the app install page for GitHub Apps), and Save. Changing the client or secret later, or Switch back, asks people who signed in through it to reconnect.
4 · Connect your account (developer)
Kryex Code→Settings→Connectors- Open the connector under Yours or Discover and click Connect. Your browser opens the provider's page; sign in and approve.
- GitHub only: you'll continue to Install on GitHub. Pick the account and choose all repositories, or the ones you want.
- Kryex Code shows Connected. When the browser asks, allow it to open Kryex Code.
- If something goes wrong, Kryex Code shows why and what to do. After 90 seconds it explains what usually blocks a sign-in.
- Reconnect to switch accounts or renew. Disconnect removes your sign-in and revokes it at the provider where supported.
Provider recipes
GitHub — personal connector, GitHub App
Create a GitHub App (not an OAuth App)
Callback URL https://auth.kryexlabs.com/connectors/github/callback. Repository permissions as your tools need (e.g. Contents, Issues, Pull requests: Read & write; Administration only if agents should create repositories). Installable on Any account.
Register it on OAuth Apps
Provider GitHub, the app's client ID (starts Iv23…) and a client secret.
Create the connector
Start from GitHub. MCP URL https://api.githubcopilot.com/mcp/, app install URL https://github.com/apps/<your-app-slug>/installations/new. Publish.
People connect and install
Users connect, then install the app on their account and repositories. Without the install, calls are refused with “finish setup”.
Atlassian — Jira & Confluence, Automatic
Create the connector
Start from Atlassian, MCP URL https://mcp.atlassian.com/v1/mcp (the full path), sign-in Automatic. Run Check sign-in, Save, Publish. The template pre-fills both help texts.
Each customer's Atlassian org admin, once
At admin.atlassian.com → your organization → Rovo → Rovo MCP server → Domains: keep Allow Atlassian supported domains on and Add domain https://auth.kryexlabs.com/**. Under Permissions keep Read, Write and Search allowed. Atlassian blocks Delete and Manage by default; those calls come back as refused by Atlassian's settings.
Users connect
Atlassian first shows “Kryex Code is requesting access”. Tick only the products you use (Jira, Confluence, Compass), then Accept.
Linear, Sentry, Notion — Automatic
Start from the template, run Check sign-in, Save, Publish. There's no app to create.
A self-hosted or in-house service
Register it as an organization MCP server with a Custom OAuth provider, or No sign-in plus an API-key header. On the shared hosted service, private-network addresses are blocked: use a public HTTPS address, or a self-hosted Kryex deployment.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Atlassian: “Your organization admin must authorize access from this redirect URL”, Accept greyed out | The Atlassian org hasn't allowed Kryex's sign-in address | Add https://auth.kryexlabs.com/** under Rovo MCP server → Domains, then Connect again |
| Atlassian: “Something went wrong” after Accept | A domain change still propagating, or mixed Atlassian sign-ins in one browser | Wait a few minutes; retry in a private window signed in only to the right account |
| Atlassian: “Access denied” for one person | Their account has no site with the product they ticked | On the request-access page, tick only the products they have |
| Agent: “rejected a sign-in it issued moments ago… compatibility problem” | A defect between Kryex and that provider; Kryex staff are already notified | Don't reconnect repeatedly. Check Health → Incidents |
| Agent: “rejected your saved sign-in — reconnect” | The sign-in was revoked or can't be renewed | Settings → Connectors → Reconnect |
| Agent: “refused this action for the user's account (HTTP 403)” | The person lacks permission at the service, or its admin blocks that action for AI tools | Grant it at the service, if appropriate |
| Agent: “isn't responding properly… temporary” | The provider is down or erroring | Try later; repeated failures open an incident automatically |
| Agent: “the server redirected to … update the endpoint URL” | The MCP URL moved | Personal connector: edit the MCP server URL in the catalog. Organization server: register it again with the new URL, then delete the old one |
| Agent: “rejected the shared sign-in… an admin needs to reconnect” | The shared OAuth sign-in expired or was revoked | MCP Servers → server → Reconnect sign-in |
| Agent: “tool is quarantined pending admin re-approval” | A new tool, or its definition changed | MCP Servers → server → approve it, or Review in canvas |
| Agent: “no grant” / denied | No access to that tool or tier | Access tab → give the person that tool |
| GitHub: “isn't installed on your GitHub account” / “Resource not accessible by integration” | The GitHub App isn't installed, or lacks a permission | Install on GitHub, or enable the permission in the app settings and have users accept it |
| Connector card: “Sign-in not set up” | The provider app is missing, or Automatic registration failed | OAuth Apps page, Check sign-in, then Save again |
| Health: “Kryex isn't registered yet” | The connector was saved while the provider was unreachable | Save the connector again |
| Funnel: many started, none finished | Something at the provider blocks people, often an allowlist | Fill in the org-admin setup steps, and check the provider's admin settings |
| “Sign-in timed out” in Kryex Code | The browser flow was abandoned or blocked | Reconnect, and follow the help shown on the connector page |
Evidence for any of the above is in Governance → Audit log, filtered to MCP servers, Connectors or Tool calls, and by user.
Device licenses (self-hosted)
Pin your own Kryex Server
Kryex Code verifies every license signature on the device and, by default, trusts the Kryex Labs signing keys. A self-hosted deployment pins its own server's key in the machine policy file, which only an administrator can write: %ProgramData%\Kryex\policy.json on Windows, /etc/kryex/policy.json on macOS and Linux.
{
"license_public_keys": [
"-----BEGIN PUBLIC KEY-----\n…\n-----END PUBLIC KEY-----"
]
}Get the key from your server's /license/public-key, and list both keys during a key rotation. Once pinned, a license from any other server is refused at sign-in with a message naming this setting.
Tamper alerts
If a license on a device is edited, forged or signed by an untrusted key, Kryex Code stops using it and reports it: an email to every active admin of the organization (at most one per device and kind per day), a high-severity License tampering finding on the Security page, and a license.tamper_detected audit event with the device, key id and app version. If it wasn't expected, revoke the device under Kryex Code → Devices; the person signs in again on a clean device.