WireCanalby Qualiteg
bolt Connection guide

Use your in-house MCP server from Grok

From creating the canal to registering a custom connector on grok.com, granting approval, and verifying it works. A careful step-by-step walkthrough with screenshots of the actual screens.

What this guide covers

We will make the MCP server running on your local (in-house) machine usable from Grok — without opening any inbound ports. The flow has 4 parts: create a canal in WireCanal → start the Agent → register the connector in Grok → approve the connection.

First, set things up on the WireCanal side

1

Create a canal — choose "MCP" as the type

On the dashboard, click "Create a new canal", choose MCP as the type, and click "Next".

Canal creation wizard: choosing MCP as the type
Select "MCP" in the creation wizard
2

Check "Grok" under "Which AI will you use?"

Just pick the AI you will use, and the connection settings for that AI are prepared automatically. Here, check Grok.

Which AI will you use: checking Grok
Select Grok under "Which AI will you use?"
3

Choose the public address

For the public address (hostname), the "auto-assigned subdomain" is fine. You can also reserve a name of your choice or use a custom domain.

Choosing the public address
Leaving it on "auto-assigned subdomain" is fine
4

Set the forwarding target to your local MCP server

For the forwarding target, enter the address of the MCP server running on your machine (e.g. localhost:9310).

Entering the forwarding target
Set the forwarding target to your local MCP server
5

Review and create

Confirmation screen
Review the type, public address, forwarding target, and AI selection, then click "Create"
6

The client ID and secret (shown only once) — usually not needed

Right after creation, the "MCP connection" tab shows the client ID and client secret for the Grok connection (the secret is shown only this once). For the normal flow below you will not need them — Grok registers itself with WireCanal automatically. Note them down only if you plan to configure the OAuth settings manually.

The one-time display of the client ID and secret
The client credentials appear on this screen only. Needed only for manual configuration
7

Decide which tools to expose, and start the Agent

Download the configuration file wirecanal.json from the "Setup" tab, and list only the tool names you are willing to show to the outside AI in tools.allow (the default is deny-all). For the syntax and all options, see the wirecanal.json configuration reference.

wirecanal.json on the Setup tab
The "Setup" tab. This local json is the one and only allowlist
wirecanal.json
{
  "access_key": "ck_...",
  "forward_target": "localhost:9310",
  "mode": "mcp",
  "tools": { "default": "deny", "allow": ["get_time", "echo"] }
}

Start the Agent on the same machine. No inbound ports need to be opened. If you have not installed the Agent yet, or want to keep it running as a service (auto-start), see the OS-specific setup guides.

terminal
wirecanal.exe -config wirecanal.json

When the startup log shows a line saying that canal <ID> will deliver access to https://<hostname> to your local forwarding target, the connection is established.

That completes the WireCanal side. Now, over to Grok.

Setting up on the Grok side

8

Add a new connector from "Skills and Connectors"

On grok.com, open "Skills and Connectors" in the left menu → "New Connector", and choose "Custom (add your own custom connector)".

Grok's new connector screen
"New Connector" → "Custom"
9

Enter a name and the URL, then add it

Enter a name (anything you like) and the Server URL (the canal's public URL + /mcp, e.g. https://<hostname>/mcp), then click "Add Connector". Grok registers itself with WireCanal automatically (no client ID or secret to paste), and WireCanal's connection-consent screen opens in a popup window.

Grok's custom connector form
Enter the custom name and the server URL, then "Add Connector"
lightbulbIf the automatic flow does not complete

If Grok asks for OAuth credentials instead, paste the client ID / secret from step 6 and set the token authentication method to client_secret_post — everything else can stay at the auto-detected values.

10

Approve the connection

In the popup, review the details and simply click "Approve". Only the canal owner can grant approval.

lightbulbStay logged in on the same browser

Log in to both Grok and WireCanal in the same browser (same profile). If they are split across profiles, a login screen will open instead of the consent screen.

WireCanal's connection-consent screen
WireCanal's consent screen. Click "Approve" and the connection is complete
11

Connected

When your connector shows Connected under the "Installed" section of "Skills and Connectors", the connection is complete.

Grok connector connected
The installed connector shows as Connected
12

Try it out

Just mention the connector by name in a chat and call the tool. For example, ask "Use get_time to tell me the current time in Japan" — and the real data returned by your local MCP server is used in Grok's answer.

Calling the tool from a Grok chat
If real data from your local MCP server comes back, it works
verified_userTools you have not allowed do not get through, even if called

If a tool is not in tools.allow, the local Agent refuses it on the spot even when the AI tries to call it, and the call never reaches your in-house MCP server. We have verified this behavior in real connections with Grok as well (two-key).

No open ports. Connect from anywhere.

Sign-up is free. No credit card required — create your first canal right now.

Sign up free and get started