Skip to main content
A connector links a project to a remote MCP server, such as Linear, Notion or an internal service. Compiler can then call that server’s tools while it answers questions in the project, alongside reading your code.

Prerequisites

  • You’re an organization owner or admin, or you lead the project.
  • The MCP server is a remote server reached over HTTP. Servers that only run locally, started as a command, can’t be connected.

Before you connect a server

Whatever account you connect with is shared by the whole project. Everyone who asks a question in the project, from the web, Slack or an MCP client, can get answers drawn from what that account can see. Tools set to Ask run as that account too, once the person who asked approves them. Connect with an account or token that can only do what you’re happy for Compiler to do. Tool settings decide when Compiler may call a tool, but the account decides what the server lets it do.

Add a connector

  1. Open Settings, choose the project, and go to Connectors.
  2. Click Add a connector.
  3. Enter a Name. It prefixes the name of every tool from the server, so keep it short.
  4. Enter the Server URL, such as https://mcp.example.com/mcp.
  5. Choose the Authentication the server uses, then click Save and connect.
Most OAuth servers register Compiler automatically, so leave Client ID and Client secret blank. If a server needs an app registered in advance, register one there, add Compiler’s Redirect URL to it, and enter its client ID and secret. If the server later stops accepting the sign-in, the connector shows that it needs reconnecting, and Compiler stops using it until someone does.

Choose what each tool may do

Once a connector is connected, its page lists every tool the server offers. Set each one to: Tools the server marks as read-only start on Allow. Every other tool starts on Ask, since it may change data, such as creating an issue or updating a record. Many servers don’t mark their tools, so check the list after you connect and set the ones that only read to Allow. Changes apply to the next question. Each change is recorded in the audit log.

Approving a tool call

When Compiler wants to call an Ask tool, it stops and shows the tool, exactly what it will send, and the account it runs as, with Approve and Deny buttons. Only the person who asked can answer. If they deny it, Compiler is told they chose not to allow it and carries on without it. If they ask something else instead, the call is marked as not answered and never runs.
  • On the web, the request appears as a card in the conversation. Only the person who started the conversation can answer it.
  • In Slack, it appears as a reply in the thread. Only the person who asked the latest question in the thread can answer, and anyone else who clicks is told so. Once they answer, Compiler carries on in the same thread. If what the tool would send is too long to show in full in Slack, it can only be denied there.
If an admin turns a tool Off while a request is waiting, approving it no longer runs the tool.

MCP clients

Questions from MCP clients can’t show an approval request yet, so Ask tools are left out of them. Compiler can still use Allow tools there. To let Compiler use a tool from an MCP client, set it to Allow.
When you upgrade to a version with tool settings, every existing tool the server doesn’t mark as read-only starts on Ask. Questions from the web and Slack ask for approval before using it, and MCP clients can’t use it until you set it to Allow.

Servers on your private network

By default, Compiler refuses connector URLs that resolve to a private or loopback address, and every connector URL must use https. This stops a connector being used to reach services inside your network. To connect MCP servers on your intranet, set MCP_ALLOW_PRIVATE_NETWORK=true and restart Compiler. It then allows private addresses, and plain http for internal hostnames, such as ones without a dot or ending in .internal or .local. See Environment variables. Without it, adding such a server fails with a message that the host resolves to a blocked address.

Outbound access

If your network restricts egress, allow the instance to reach each connector’s server URL. For OAuth connectors, also allow the server’s sign-in and token addresses, which are often on a different host.

Limits

  • Compiler uses up to 100 tools from each server.
  • A tool call that takes longer than 60 seconds fails, and Compiler carries on without it.
  • Very large tool results are cut short before Compiler reads them.