MCP Server
Work on your agent from the AI apps you already use. Once connected, you can tell Claude, ChatGPT, Codex or Cursor things like "add our shipping times to the shop agent and check what it answers now", and it does it: reads the knowledge base, adds what is missing, rewrites the instructions, sets up proactive messages and tests the answer right after.
MCP (Model Context Protocol) is the open standard these apps use to talk to other services. BitPalm runs an MCP server, your app connects to it and you sign in with your BitPalm account.
Server address: https://agents.bitpalm.ai/api/mcp
How it works
- You add BitPalm in your AI app with the server address above.
- The app opens a BitPalm page in your browser. You sign in, if you aren't already, and decide what the app may do: read and change, or read only.
- You land back in the app, connected. No key to copy anywhere.
You can see every connected app under Settings in the BitPalm dashboard and disconnect it with one click. It loses access right away.
Which app works how
| App | How |
|---|---|
| Claude (web and desktop app) | Custom connector |
| ChatGPT (web, paid plans) | Developer mode app |
| Claude Code | One command |
| Cursor | mcp.json |
| Codex (CLI and IDE extension) | Two commands |
| Scripts, n8n, Zapier, CI | API key |
Claude
- In Claude open Customize → Connectors and click Add custom connector.
- Name:
BitPalm. Server URL:https://agents.bitpalm.ai/api/mcp - Click Add, then Connect. Sign in with BitPalm and allow access.
- In a chat click + → Connectors and switch BitPalm on.
On Team and Enterprise plans an owner adds the connector once under Organization settings → Connectors → Add → Custom. After that everyone connects with their own BitPalm account, so each person only reaches their own agents.
ChatGPT
ChatGPT connects custom MCP servers in developer mode. That needs a paid plan (Plus, Pro, Business, Enterprise or Edu) and works on the web for now.
- In ChatGPT open Settings → Security and login and switch on Developer mode.
- Create a new app with the + button in the apps area. Name:
BitPalm. Server URL:https://agents.bitpalm.ai/api/mcp. If ChatGPT asks for the authentication, pick OAuth. - Sign in with BitPalm and allow access.
- In a chat, BitPalm is now available with the developer tools.
OpenAI renames these menus now and then. If a label looks different, the steps stay the same: developer mode on, new app with the server URL, OAuth.
Claude Code
Run this once in your terminal:
claude mcp add --transport http --scope user bitpalm https://agents.bitpalm.ai/api/mcpThen type /mcp inside Claude Code, pick bitpalm and choose to authenticate. Your browser opens, you sign in with BitPalm, done.
--transport httptells Claude Code that BitPalm is a server on the internet, not a program on your computer.--scope usermakes BitPalm available in all your projects. Leave it out to add it to the current project only.
Cursor
Add this to ~/.cursor/mcp.json, or open Cursor Settings → Tools & MCP and add a new server there:
{
"mcpServers": {
"bitpalm": {
"url": "https://agents.bitpalm.ai/api/mcp"
}
}
}The first time Cursor needs BitPalm, it opens your browser to sign in.
Codex
codex mcp add bitpalm --url https://agents.bitpalm.ai/api/mcp
codex mcp login bitpalmThe second command opens your browser to sign in with BitPalm. Codex keeps the sign-in, and the Codex extension for VS Code and Cursor uses the same setup.
API keys
For everything that can't sign in through a browser, such as scripts, n8n, Zapier or a CI job, use an API key instead.
- In the dashboard go to Settings → API keys and click Create key. Tick Read only if the script should never change anything.
- Copy the key. It starts with
bp_live_and is shown only once. - Send it with every request in one of these headers:
Authorization: Bearer bp_live_YOUR_KEYx-api-key: bp_live_YOUR_KEY
The apps above take a key too, if you prefer that over the sign-in:
claude mcp add --transport http bitpalm https://agents.bitpalm.ai/api/mcp \
--header "Authorization: Bearer bp_live_YOUR_KEY"export BITPALM_API_KEY="bp_live_YOUR_KEY"
codex mcp add bitpalm --url https://agents.bitpalm.ai/api/mcp --bearer-token-env-var BITPALM_API_KEYFor Cursor, add "headers": { "Authorization": "Bearer bp_live_YOUR_KEY" } next to the url.
First things to ask
- "Which agents do I have on BitPalm? Show me the instructions of the shop agent."
- "Add our shipping times as knowledge to the shop agent, then ask it when an order arrives."
- "Which questions would go to the pricing specialist? Test five typical ones with route_question."
- "Add a proactive message on /pricing after 20 seconds that offers help with choosing a plan."
- "Run the agent check on the shop agent, then fix whatever it finds and ask it again."
- "Add three quick links under the greeting: prices, delivery times and contact, in German and English."
What the tools can do
Agents
| Tool | Needs | What it does |
|---|---|---|
list_agents | read | Every agent with id, slug, status and chat link |
get_agent | read | Full system prompt, greeting and placeholder per language, counts and links |
update_agent | write | Replaces the system prompt, or pauses and switches the agent back on |
update_greeting | write | Greeting and input placeholder, with translations per language |
Knowledge. Every knowledge tool takes an optional specialist id, then it works on that specialist's knowledge.
| Tool | Needs | What it does |
|---|---|---|
list_knowledge | read | Files, websites and texts with their status and when a site was last read |
read_knowledge | read | The text behind one entry |
add_knowledge_text | write | Adds a text, searchable right away |
update_knowledge_text | write | Replaces a text; the old version answers until the new one is in |
add_knowledge_website | write | Crawls a website in the background |
resync_knowledge_website | write | Reads a website again; if the crawl fails, the old content stays |
delete_knowledge | write | Removes one entry and what was learned from it |
Quick links and triggers
| Tool | Needs | What it does |
|---|---|---|
list_quick_links | read | The buttons under the greeting, grouped by page |
add_quick_link | write | A button that sends a question or opens a page, with translations |
update_quick_link | write | Changes label, question, url or translations |
delete_quick_link | write | Removes a button |
list_triggers | read | The proactive messages with their rules and translations |
create_trigger | write | A new proactive message, for example after 20 seconds on the pricing page |
update_trigger | write | Changes text, translations, rule, frequency, or switches it on and off |
delete_trigger | write | Removes a proactive message |
Specialists and corrections
| Tool | Needs | What it does |
|---|---|---|
list_specialists | read | The specialists with what they cover and their example questions |
create_specialist | write | A new specialist, within the plan's limit |
update_specialist | write | Changes what it covers, its example questions and rules, or pauses it |
list_corrections | read | The facts the agent was corrected on |
add_correction | write | One fact the agent got wrong, applied to every conversation |
delete_correction | write | Removes a correction |
Tools and API endpoints. Keys and tokens are only entered in the dashboard, so they never go through an AI chat. Claude says where to enter them.
| Tool | Needs | What it does |
|---|---|---|
list_tools | read | The built-in tools, whether each is on, its settings with keys masked, and what is still missing |
update_tool | write | Switches a tool on or off and changes its settings, for example where support tickets go |
list_api_endpoints | read | The agent's own endpoints with address, parameters, when it calls them and whether a key is stored |
create_api_endpoint | write | A new endpoint. One that needs a key stays off until the key is in the dashboard |
update_api_endpoint | write | Changes address, method, parameters, when the agent calls it, or switches it on and off |
delete_api_endpoint | write | Removes an endpoint and its key |
test_api_endpoint | write | Calls an endpoint once with the stored key and shows the answer. It is a real call |
Testing and numbers
| Tool | Needs | What it does |
|---|---|---|
ask_agent | read | Asks a question and returns the answer, nothing is stored |
route_question | read | Which specialist would take a question, with the scores |
run_agent_check | read | Starts the agent check in the background (paid plans) |
get_agent_check | read | The latest check report: score, findings and knowledge problems |
agent_stats | read | Conversations, visitors, leads and appointments |
get_embed_code | read | Script tag, npm snippet and chat link |
New system prompts switch the agent into expert mode, so the behavior form stops writing over them.
Good to know
- Read only means read only. An app or key without write access never sees the tools that change things, so the AI can't even try.
- Your account only. A connection or key reaches the agents of the account it belongs to, nothing else.
- Audit trail. Every change through MCP lands in the agent's audit log, marked as MCP together with the app's name.
- Keys stay in the dashboard. Tool keys and endpoint keys can't be set or read through MCP.
- No visitor data. Conversations, visitors and leads are not readable here. Numbers, yes. Content, no.
- Limit. 120 requests per minute per connection or key.
- Disconnecting works right away. Remove an app under Settings, or revoke a key, and everything running with it stops.
For developers
The server follows the MCP authorization spec, so any spec-compliant client finds its way on its own:
- Protected resource metadata:
https://agents.bitpalm.ai/.well-known/oauth-protected-resource/api/mcp - Authorization server metadata:
https://agents.bitpalm.ai/.well-known/oauth-authorization-server - Dynamic client registration (RFC 7591), authorization code flow with PKCE (S256 only), refresh tokens that rotate on every use, token revocation (RFC 7009)
- Scopes:
readandwrite. Access tokens last an hour, refresh tokens 60 days. - A request without credentials gets
401withWWW-Authenticate: Bearer resource_metadata="…"
When something doesn't work
| What you see | What to check |
|---|---|
| The sign-in page says the link doesn't work | Start the connection again from inside the app. The link the app built was incomplete or too old. |
| Claude or ChatGPT can't reach the server | The server URL has to be exactly https://agents.bitpalm.ai/api/mcp, without anything after it. |
| Only tools that read show up | The connection or key is read-only. Disconnect the app under Settings and connect again, this time allowing changes. |
| The app worked yesterday and asks to sign in again | The connection was removed, or it wasn't used for 60 days. Sign in again. |
401 with an API key | The key is wrong, revoked or expired. |
429 | More than 120 requests in a minute. Wait a moment. |
A tool that can't do what was asked answers with a normal result that explains why, so the AI can correct itself instead of giving up.