The assistant and connecting your own AI
The panel can talk to an AI in two ways: a chat inside the panel running on your own API key, and a connection that lets your own AI client (Claude, ChatGPT) work with the panel directly. This page explains how to set both up and — more imp
Written for: Customer, Reseller, Administrator
The panel can talk to an AI in two ways: a chat inside the panel running on your own API key, and a connection that lets your own AI client (Claude, ChatGPT) work with the panel directly. This page explains how to set both up and — more importantly — what an AI may and may not do here.
Screenshot — Panel → Administration → Settings → AI connection. The chat button itself is in the top bar. Screenshots are captured withopenwolf designqcinto.wolf/designqc-captures/.
The rule that decides everything
The AI can never do more than you. Every action goes through the same permission check as your own clicks. A customer who asks the assistant to restart the server gets the same answer as if that customer had clicked it themselves: not allowed.
On top of that sits a second boundary: a list of operations that are never an AI action, in any form, no matter how high your rights are. They are in the panel under Never available, with a reason per operation. Examples:
| Operation | Why not |
|---|---|
| removing an account | irreversibly deletes data |
| writing files | that is a shell with extra steps |
| installing WordPress | installs third-party code and creates an administrator |
| minting a wp-admin login link | that stays a human act |
The list is generated from the tool registry, not maintained by hand. What is not in it does not exist as an AI action.
You never have to say which server something is on
Just ask: "add info@mydomain.com". The assistant works out the account and the machine itself, inside your own hosting — so if the domain is not yours, the answer is "I do not know that domain", and not a list of what your neighbour has.
If the model does name a server, that name is checked:
| You are | The rule |
|---|---|
| administrator or server administrator | the machine has to be in your own assignment |
| reseller or end user | you have to have hosting on that machine |
Since 10 August 2026 the second case is a real question about your hosting rather than about the group the machine sits in. That was the same problem as everywhere else in the panel: one machine serves customers of several resellers, so "which group is that machine in" says nothing about whether it is your server. See Where a website is served.
When the server name is wrong the answer is always the same sentence — "there is no node X you can reach" — whether that server does not exist or is not yours. That is deliberate: the difference between those two answers would let you read off the hostnames of every machine on the platform.
Chat in the panel, with your own key
The chat button in the top bar works as soon as you connect an API key of your own. You pay your own usage directly to the provider; the panel is not in between and adds nothing.
- Go to Settings → AI connection → Chat in the panel with your own key.
- Choose a provider and a model.
- Paste your API key and click Connect.
The key is kept encrypted on the server and never shown again; you only see its last characters. Under What it has cost you are the turns, actions and tokens per day and per model — your bill, in your terms.
Disconnecting is Remove key. That takes the key off the server.
Connecting your own AI client (MCP)
If you would rather work from Claude or ChatGPT, connect it to the panel over MCP. Under The URL to connect are two addresses:
- MCP endpoint — the full address. Paste this into your client as a custom connector. You then sign in to the panel and grant consent; the connection works with exactly your rights and nothing more.
- Read-only endpoint (deep research) — the same, but carrying search and fetch only. Use this for ChatGPT deep research: there is demonstrably no action next to it that can change anything.
Under Connected clients you see what currently has access, with its rights, when it was connected and when it was last used. Disconnect revokes every token of that client; the client has to ask for consent again next time.
What an AI can do here
Under What an AI can do here is the full list of available actions, with the right each one needs and whether it changes anything. Changing actions are marked yes — with confirmation: the panel asks you to agree before it happens.
That is the heart of the design: reading is free, changing asks a human.
For administrators: setting it per node group
AI settings belong to the hosting group, like the rest of the group configuration. Under Per node group you set, per group:
| Setting | What it does |
|---|---|
| Customers may connect their own AI | switches the MCP connection on or off |
| Customers may use the chat in the panel | switches the chat on or off |
| Customers may also choose the providers you added | beside the default providers |
| Actions per minute / per day | the rate limit |
| Actions per conversation · Steps per answer | how far one question may run |
| Concurrent conversations per customer | how many may run at once |
| Keep conversations (days) | how long the history stays |
Those limits protect the tool layer and the nodes, not a model — the customer pays for their own AI. With a group switched off, a customer in that group sees the notice that AI connections are off and nothing else.
What is recorded
Every AI action lands in the audit log, with the client that made it. Search Administration → Audit log for the client to see what happened on your behalf. For a conversation in the panel, the retention the group sets applies.
From the terminal
The connection itself is a web thing — you connect it in your AI client, not in a shell. What you do do on the server is check what happened on somebody's behalf:
# on panel1: the audit log, oldest first, filtered down to the AI rows
corecp-panel audit export --config /etc/corecp/panel.yaml --since 0 --limit 500 \
| grep -i 'mcp\|assistant'
# does the log's chain still add up? (an edited row fails here)
corecp-panel audit verify --config /etc/corecp/panel.yaml
corecp-panel audit status --config /etc/corecp/panel.yamlAnd to check that the MCP endpoint answers at all — without a token this should be a 401, which is exactly what you want to see:
curl -si https://panel.yourbrand.com/mcp | head -1
# HTTP/2 401That the actions themselves exist independently of the AI is visible in corectl: every AI action is an existing operation and nothing new.
corectl help | head -40 # the same operations, with no AI in betweenWhen something is not right
| What you see | What it usually is |
|---|---|
| "AI connections are off for this hosting group" | An administrator has not enabled them for the group. |
| The chat button is not there | No key connected, or the chat is off for your group. |
| The AI says something is not allowed | Exactly right: your own rights apply. Ask your hosting provider, or do it yourself in the panel. |
| The client keeps asking for consent | The connection was disconnected, or the token expired. Connect again. |
| "{used} of {limit} AI actions today" and it stops | Your group's daily limit is reached. Tomorrow again, or ask for more. |
| An action appears nowhere in the list | It is deliberately excluded. Look under Never available for the reason. |
See also
- What you can arrange yourself — the rights that apply to the AI too.
- Securing your account — why a connection never does more than you.
- Finding help and seeing what changed — where the rest of the documentation lives.