Grok Bot
This page covers three different xAI products. They connect differently, and one of them is the Bot.
Not open yet. Opens with early access.
On this page
On this page
- Grok Bot is the persistent agent you install on your computer or phone. Cursor's servers make its connector calls, so it uses the Cursor address.
- Grok Build is the coding command line.
- The Grok chat app (grok.com) has its own Connectors screen.
If you are building on Grok with the xAI API, see xAI API.
Before you start
- Grok Bot. Install it from
cursor.com/dashboard/botorx.ai/botand sign in with a Cursor account (or Sign in with Grok for a Grok Business seat). It needs one of the plans that include it, and it is documented for US use. It does not offer a developer API we call, so you add our server inside the app. - Grok Build. The
grokcommand line, and an API key from the console. - Grok chat. A grok.com account. On Business and Enterprise an admin has to provision connectors first.
- An Understanding account. Sign up if you have none.
Set it up
Grok Bot
- Open a Bot and ask it:
Add an MCP server at https://api.theunderstanding.company/mcp/cursor. Or choose Connect apps in the sidebar and add the server by URL. - If the app shows Authorize or Authenticate, finish it. That opens our sign-in page; sign in with your Understanding account and Allow. The approval screen names the app by its address.
- Check that the app shows Added and not Needs auth.
- In a chat, type
@to attach the Understanding app to a task.
Grok Bot doesn't document which sign-in it accepts for a server added by URL. Do not paste your key into the chat. If the app offers a secure secret field, use that.
Team admins can add the server in the Cursor dashboard under Plugins and MCPs, in the Team Marketplace. On Enterprise, if Apply to MCP servers is on, add api.theunderstanding.company to Allowed destinations. A member who sees Disabled by team admin should restart the app.
Grok Build
grok mcp add --transport http understanding https://api.theunderstanding.company/mcp/grok \ --header 'Authorization: Bearer ${UNDERSTANDING_API_KEY}'
Use single quotes, as above. Your shell expands ${UNDERSTANDING_API_KEY} inside double quotes before Grok Build sees it, and the key itself would then be written into the config file. Add --scope project to write .grok/config.toml for one project, a file that can be committed, so keep the single quotes there above all. To edit the file yourself, put this in ~/.grok/config.toml. This form keeps the key out of the file:
[mcp_servers.understanding] url = "https://api.theunderstanding.company/mcp/grok" headers = { Authorization = "Bearer ${UNDERSTANDING_API_KEY}" }
Check it with grok mcp doctor understanding and grok mcp list. Grok Build expands ${UNDERSTANDING_API_KEY} from your environment when it reads the file, so with the single-quoted command or the TOML block the key is not written into the file. The double-quoted form stores the key.
Grok chat app
- Go to grok.com, then Connectors, then New Connector, then Custom.
- Paste
https://api.theunderstanding.company/mcp/grok. Grok discovers the tools. - Complete the sign-in Grok shows.
How to supply a bearer key or a custom header in this screen is not documented. The address has to be reachable from the public internet; local and private addresses are rejected.
What we tuned for this service
- Grok Bot uses
/mcp/cursor, the same wording and result shape as the Claude address: short descriptions that describe and do not instruct, and one compact JSON object per result with the abstain flag first. Grok Bot spends from a usage pool it shares with Cursor and the Grok apps, so a small result matters. - Grok Build and Grok chat use
/mcp/grok, which has the shortest descriptions and offers only the seven banking question tools, notget_usageand not the three health tools. xAI puts every tool definition into the model's context, so fewer and shorter is better. - The
/mcp/grokaddress also accepts a bare key in theAuthorizationheader (noBearer), because xAI'sauthorizationfield is not documented to add the word. Anx-api-keyheader works too. - Results are plain data. Grok Bot ignores instructions that arrive inside tool results, so we put none there.
- Every tool is marked read-only.
Check that it works
Ask Grok:
Is the merchant DRAFTKINGS with merchant category code 7995 a gambling merchant? Use the Understanding app.Grok should call check_restricted_merchant (in Grok Build the tool may appear as understanding__check_restricted_merchant). The result is one JSON object:
{"abstain":false,"answer":true,"probability":0.97,"reasons":["mcc_7995","rule_gambling_category","kind_sportsbook"],"decision":"restricted_merchant","type":"predicate"}Then try LUCKY COINS LLC with code 5816. A case that abstains starts {"abstain":true,... and Grok should say it is unsure. The numbers show the format. They are not measured results.
If it doesn't connect
- Grok Bot shows Needs auth. Finish the Authorize step. If the app offers no way to sign in or to set a header for a server added by URL, a key alone may not work there; tell us what you see at api@theunderstanding.company.
- The server shows Disabled by team admin, or is blocked on Enterprise. Ask an admin to add it in the Team Marketplace and to allow
api.theunderstanding.company. - Grok Build says the server is not reachable. Run
grok mcp doctor understanding. A 401 means the key is wrong or revoked. - The key is refused in the xAI
authorizationfield. Useheaderswith an explicitBearerinstead. See xAI API. - Calls come from a place you did not expect. Grok Bot's calls come from Cursor's servers, not from your computer, so an allow-list for your own address does not help. The key and the sign-in are what identify you.
# Grok Bot
This page covers three different xAI products. They connect differently, and one of them is the Bot.
Not open yet. Opens with early access.
## On this page
- Grok Bot is the persistent agent you install on your computer or phone. Cursor's servers make its connector calls, so it uses the Cursor address.
- Grok Build is the coding command line.
- The Grok chat app (grok.com) has its own Connectors screen.
If you are building on Grok with the xAI API, see [xAI API](/api/docs/integrations/xai-api).
## Before you start
- Grok Bot. Install it from `cursor.com/dashboard/bot` or `x.ai/bot` and sign in with a Cursor account (or Sign in with Grok for a Grok Business seat). It needs one of the plans that include it, and it is documented for US use. It does not offer a developer API we call, so you add our server inside the app.
- Grok Build. The `grok` command line, and an API key from the console.
- Grok chat. A grok.com account. On Business and Enterprise an admin has to provision connectors first.
- An Understanding account. Sign up if you have none.
## Set it up
### Grok Bot
1. Open a Bot and ask it: `Add an MCP server at https://api.theunderstanding.company/mcp/cursor`. Or choose Connect apps in the sidebar and add the server by URL.
2. If the app shows Authorize or Authenticate, finish it. That opens our sign-in page; sign in with your Understanding account and Allow. The approval screen names the app by its address.
3. Check that the app shows Added and not Needs auth.
4. In a chat, type `@` to attach the Understanding app to a task.
Grok Bot doesn't document which sign-in it accepts for a server added by URL. Do not paste your key into the chat. If the app offers a secure secret field, use that.
Team admins can add the server in the Cursor dashboard under Plugins and MCPs, in the Team Marketplace. On Enterprise, if Apply to MCP servers is on, add `api.theunderstanding.company` to Allowed destinations. A member who sees Disabled by team admin should restart the app.
### Grok Build
```
grok mcp add --transport http understanding https://api.theunderstanding.company/mcp/grok \
--header 'Authorization: Bearer ${UNDERSTANDING_API_KEY}'
```
Use single quotes, as above. Your shell expands `${UNDERSTANDING_API_KEY}` inside double quotes before Grok Build sees it, and the key itself would then be written into the config file. Add `--scope project` to write `.grok/config.toml` for one project, a file that can be committed, so keep the single quotes there above all. To edit the file yourself, put this in `~/.grok/config.toml`. This form keeps the key out of the file:
```
[mcp_servers.understanding]
url = "https://api.theunderstanding.company/mcp/grok"
headers = { Authorization = "Bearer ${UNDERSTANDING_API_KEY}" }
```
Check it with `grok mcp doctor understanding` and `grok mcp list`. Grok Build expands `${UNDERSTANDING_API_KEY}` from your environment when it reads the file, so with the single-quoted command or the TOML block the key is not written into the file. The double-quoted form stores the key.
### Grok chat app
1. Go to grok.com, then Connectors, then New Connector, then Custom.
2. Paste `https://api.theunderstanding.company/mcp/grok`. Grok discovers the tools.
3. Complete the sign-in Grok shows.
How to supply a bearer key or a custom header in this screen is not documented. The address has to be reachable from the public internet; local and private addresses are rejected.
## What we tuned for this service
- Grok Bot uses `/mcp/cursor`, the same wording and result shape as the Claude address: short descriptions that describe and do not instruct, and one compact JSON object per result with the abstain flag first. Grok Bot spends from a usage pool it shares with Cursor and the Grok apps, so a small result matters.
- Grok Build and Grok chat use `/mcp/grok`, which has the shortest descriptions and offers only the seven banking question tools, not `get_usage` and not the three health tools. xAI puts every tool definition into the model's context, so fewer and shorter is better.
- The `/mcp/grok` address also accepts a bare key in the `Authorization` header (no `Bearer`), because xAI's `authorization` field is not documented to add the word. An `x-api-key` header works too.
- Results are plain data. Grok Bot ignores instructions that arrive inside tool results, so we put none there.
- Every tool is marked read-only.
## Check that it works
Ask Grok:
```
Is the merchant DRAFTKINGS with merchant category code 7995 a gambling merchant? Use the Understanding app.
```
Grok should call `check_restricted_merchant` (in Grok Build the tool may appear as `understanding__check_restricted_merchant`). The result is one JSON object:
```
{"abstain":false,"answer":true,"probability":0.97,"reasons":["mcc_7995","rule_gambling_category","kind_sportsbook"],"decision":"restricted_merchant","type":"predicate"}
```
Then try LUCKY COINS LLC with code 5816. A case that abstains starts `{"abstain":true,...` and Grok should say it is unsure. The numbers show the format. They are not measured results.
## If it doesn't connect
- Grok Bot shows Needs auth. Finish the Authorize step. If the app offers no way to sign in or to set a header for a server added by URL, a key alone may not work there; tell us what you see at api@theunderstanding.company.
- The server shows Disabled by team admin, or is blocked on Enterprise. Ask an admin to add it in the Team Marketplace and to allow `api.theunderstanding.company`.
- Grok Build says the server is not reachable. Run `grok mcp doctor understanding`. A 401 means the key is wrong or revoked.
- The key is refused in the xAI `authorization` field. Use `headers` with an explicit `Bearer` instead. See [xAI API](/api/docs/integrations/xai-api).
- Calls come from a place you did not expect. Grok Bot's calls come from Cursor's servers, not from your computer, so an allow-list for your own address does not help. The key and the sign-in are what identify you.
Source: /api/docs/integrations/grok-bot