brain-operator-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@brain-operator-mcplist my brains"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Brain Operator MCP
A TypeScript MCP server that lets ChatGPT and other MCP clients read and safely modify TheBrain through the TheBrain REST API.
Setup
npm install
cp .env.example .env
# edit .env and set THEBRAIN_API_KEY
npm run devThe server defaults to:
GET /healthPOST /mcpTheBrain Cloud API base URL:
https://api.bra.in
Related MCP server: MCP Server
Health
curl http://localhost:3000/healthExpected:
{
"ok": true,
"name": "brain-operator-mcp",
"version": "0.1.0"
}MCP Inspector
npm run inspectUse http://localhost:3000/mcp as the Streamable HTTP endpoint.
ChatGPT App Endpoint
For development, expose the local server through HTTPS:
npm run dev
ngrok http 3000Then add this MCP server endpoint in ChatGPT developer mode:
https://<ngrok-subdomain>.ngrok.app/mcpIf MCP_API_TOKEN is set, clients must send:
Authorization: Bearer <MCP_API_TOKEN>Tools
Read-only:
health_checklist_brainsget_brainsearch_thoughtsget_thoughtget_thought_graphget_notelist_attachments
Safe writes:
create_thoughtupdate_thoughtcreate_linkappend_noteadd_url_attachment
Plan workflow:
create_change_planget_change_plandiscard_change_plancommit_change_plan
Safety
Never put a real API key in source, docs, tests, logs, screenshots, or commits.
Single-step write tools respect
WRITE_TOOLS_ENABLED.Destructive tools are not registered in v0.1.
Batch writes must be created as a plan, reviewed by the user, then committed by
planId.Notes are append-only and limited by
MAX_NOTE_CHARS.URL attachments reject local and private-network hosts.
Manual Smoke Tests
Read-only:
Call list_brains.
Pick a brainId.
Call search_thoughts with queryText = "test".
Call get_thought on one result.Single-step write:
Call create_thought:
- name: "[MCP_TEST] Brain Operator Smoke Test"
- label: "Created by brain-operator-mcp smoke test"
Call append_note on created thought:
- markdown: "This is a smoke test note."Batch plan/commit:
The example below uses redacted placeholders. Do not paste private source notes into public docs, issues, or screenshots.
{
"title": "[MCP_TEST] Redacted Import",
"changes": [
{
"id": "c1",
"op": "create_thought",
"clientRef": "t_root",
"name": "[MCP_TEST] REDACTED_ROOT_TOPIC",
"label": "[REDACTED_LABEL]"
},
{
"id": "c2",
"op": "create_thought",
"clientRef": "t_core_loop",
"name": "[MCP_TEST] REDACTED_CHILD_TOPIC"
},
{
"id": "c3",
"op": "create_link",
"fromRef": "t_root",
"toRef": "t_core_loop",
"relation": "child"
},
{
"id": "c4",
"op": "append_note",
"targetRef": "t_root",
"markdown": "[REDACTED_MARKDOWN_CONTENT]"
}
]
}Then call commit_change_plan with:
{
"planId": "returned_plan_id",
"confirm": true
}Common Errors
BRAIN_ID_REQUIRED: passbrainIdor setTHEBRAIN_DEFAULT_BRAIN_ID.WRITE_DISABLED: setWRITE_TOOLS_ENABLED=truewhen you intentionally want writes.UNSAFE_URL: use a publichttporhttpsURL.PLAN_NOT_PENDING: the plan was already committed, discarded, or expired.
Verification
npm run typecheck
npm run lint
npm test
npm run buildThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Gamecrazy/brain-operator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server