Ingest
Load RDF from text, files or large streamed uploads. Every ingest runs as a background job, attributed to you.
BrainKB MCP connects your AI agent to the BrainKB knowledge base through the Model Context Protocol. Ask in plain language, and your agent signs in as you, ingests RDF into your workspaces, answers questions over extracted entities, and traces where every triple came from.
One connection.WHAT YOU CAN REACH IN BRAINKB
Ask in plain language and your agent picks the right BrainKB tools. Every action runs as you, within your permissions.
Load RDF from text, files or large streamed uploads. Every ingest runs as a background job, attributed to you.
Search everything you may read, open a whole space, or list the graphs in the knowledge base.
Vetted questions about extracted entities, cells, markers, phenotypes, causal claims and research resources, answered from the graph without writing a query.
See the history of any graph: who added what, when, and the exact triples each ingest contributed.
Create private or public spaces, for yourself or a team, and choose who can read or edit them.
Sign in with Globus, ORCID or GitHub, keep a personal access token, and let admins manage roles and permissions.
Public spaces in BrainKB are open knowledge for everyone. Connect any MCP client without logging in and your agent can browse, search and read them. It is read-only: nothing can be added or changed without an account.
Anyone, from any MCP client, with no token or account.
brainkb_list_spacesbrainkb_searchbrainkb_read_spaceEverything on the left, plus what your role and memberships allow.
https://mcp.brainkb.org/mcp to your
client and skip login. Then just ask: "What public spaces are in BrainKB?"Point your client at https://mcp.brainkb.org/mcp (streamable HTTP). Every call
that needs an account runs as you: the client signs in with your own BrainKB account,
never a shared one.
Just reading open knowledge? No need to log in; see Open knowledge.
Apps that connect by URL (Perplexity, claude.ai, ChatGPT) choose OAuth with no client ID or secret, then sign in on the BrainKB page that opens.
✓ tested with BrainKB · want the agent skill too? See Skill.
claude mcp add --scope user --transport http brainkb https://mcp.brainkb.org/mcp
claude and say “log me in to BrainKB”; it hands you a browser link.npx brainkb install instead (Skill).[mcp_servers.brainkb] url = "https://mcp.brainkb.org/mcp"
~/.codex/config.toml, start codex, and say “log me in to BrainKB”.npx brainkb install --agent codex (Skill).1. Open the app's connector settings
Perplexity Settings → Connectors → + Custom connector ✓ tested
claude.ai Settings → Connectors → Add custom connector ✓ tested
ChatGPT Settings → Apps & Connectors → Create (developer mode)
2. Server URL https://mcp.brainkb.org/mcp
3. Authentication OAuth (leave client ID and secret empty)
4. Sign in on the BrainKB page that opens, then allow access
Only reading open knowledge? No need to log in: public
spaces can be listed, searched and read with no authentication.
{
"mcpServers": {
"brainkb": { "url": "https://mcp.brainkb.org/mcp" }
}
}
~/.cursor/mcp.json (on Windows: %USERPROFILE%\.cursor\mcp.json).brainkb appears under Connected with its tools enabled; if it shows Needs login, click it and sign in on the BrainKB page.{
"servers": {
"brainkb": { "type": "http", "url": "https://mcp.brainkb.org/mcp" }
}
}
brainkb, accept the sign-in prompt, and sign in on the BrainKB page.{
"mcpServers": {
"brainkb": {
"type": "http",
"url": "https://mcp.brainkb.org/mcp",
"tools": ["*"]
}
}
}
~/.copilot/mcp-config.json (on Windows: %USERPROFILE%\.copilot\mcp-config.json). It applies to Copilot everywhere, even with no folder open."tools": ["*"] enables every BrainKB tool; list tool names instead to allow only some.{
"mcpServers": {
"brainkb": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.brainkb.org/mcp"]
}
}
}
mcp-remote opens the BrainKB sign-in page in your browser on first connect.One command installs the BrainKB skill and registers this MCP server. The skill teaches your agent to confirm who it is acting as, ingest large files safely, pick the right workspace and question, and answer provenance questions.
Adds the skill to ~/.claude/skills/brainkb and registers brainkb with Claude Code.
npx brainkb install
--scope project for this project only · --mcp both for production and sandbox · npx brainkb status to check.
Start claude, then:
log me in to BrainKB
Opens a browser sign-in (Globus, ORCID or GitHub). Then ask, e.g. “Which papers mention the subthalamic nucleus?”
npx brainkb install --agent codex
Installs to ~/.agents/skills/brainkb; --agent both adds Claude Code too.
Codex is not registered automatically. Add to ~/.codex/config.toml, then start codex and say “log me in to BrainKB”.
[mcp_servers.brainkb] url = "https://mcp.brainkb.org/mcp"
npx brainkb install --dest ~/my-agent/skills --mcp none
Use the folder your agent reads SKILL.md skills from.
Add https://mcp.brainkb.org/mcp (streamable HTTP) in the agent's MCP settings. Per-client steps are under Connect.
Ask the agent to log you in to BrainKB, then ask your question.
Re-running install updates the skill; a copy you edited is never overwritten silently.
npx brainkb uninstall removes it. Node.js 18.17+.
brainkb on npm ↗ ·
Skill on GitHub ↗
Replays of real answers from BrainKB: naming variants, shared entities and trends by year across three papers, and a mapping review of the sandbox test graph. Then illustrative ingest and provenance flows. Pick a task to jump to it; hover to pause.
Ingests are attributed to the account that made them and recorded as W3C PROV-O, with the exact triples each job added. Your agent can only see or change what you are allowed to: your role decides what you may do, and a space's members and access rules decide who may read or write it.
A Model Context Protocol
server for the BrainKB knowledge base. MCP clients such as Claude Code, Cursor, VS Code,
Perplexity, claude.ai and ChatGPT connect to
https://mcp.brainkb.org/mcp, and your agent can then work with workspaces,
ingest, search, ready-made questions and provenance on your behalf.
No, not to read open knowledge. Without logging in, your agent can list, search and read every public space; it is read-only, and private spaces stay hidden. You only need to log in to read your private spaces or to change anything (create a space, ingest, share), and for provenance, SPARQL and admin tools. See Open knowledge.
Yes. The BrainKB skill works alongside this server: install it in your agent, and it guides the agent through sign-in, ingest, questions and provenance using the server's tools.
With a personal access token
sent as an Authorization: Bearer header, or through the Globus, ORCID or
GitHub login tools, which hand you a browser link. Every call that needs an account
runs as you. Reading public spaces needs no login.
Add
a custom connector with the URL https://mcp.brainkb.org/mcp and choose OAuth, leaving
the client ID and secret empty. The app registers itself and opens a BrainKB sign-in
page; sign in with Globus, ORCID or GitHub, or paste a personal access token. If an app
says the server "does not support automatic registration", it is not using OAuth
discovery: pick OAuth explicitly, or use a client that does. Custom connectors may
need a paid or developer plan in the app.
Private spaces are visible to their members only. Public spaces are readable by anyone, including unauthenticated clients. Ready-made questions currently need an Admin role.
Stream it to
/upload. The server answers 202 with an
upload_id and ingests in the background, and your agent can follow the
job from there. Up to 5 GB per file.
import requests
requests.post("https://mcp.brainkb.org/upload",
params={"filename": "review.ttl", "graph": "<graph_iri>"},
headers={"Authorization": f"Bearer {TOKEN}"},
data=open("review.ttl", "rb")) # streamed off disk
Large answers come
back a page at a time, so they never flood your agent. A SPARQL or ready-made question
without its own LIMIT returns 500 rows per page (ask for up to
5000 with limit); the answer's page.next_offset
says where the next page starts, and ORDER BY keeps pages stable. Any
answer larger than about 80 kB is cut to its first rows,
with a truncated note saying how to fetch the rest. For a count, ask for
COUNT(*) first.
Yes, so that one client cannot
slow the service down for everyone. Per address, per minute: 600 requests,
30 new connections, 120 reads, 40 changes and
8 sign-ins. Each caller can run 6 calls at once. Past a
limit, the server answers with a retryable error (HTTP 429, or
503 when it is busy) and says how long to wait. Agents should retry after
that wait rather than immediately. Signed-in Admin and SuperAdmin accounts are not
limited.
That is
the endpoint working correctly: a browser GET sends no
Accept: text/event-stream, so the server refuses it. Use an MCP client.
Register the server, sign in, and ask your first question.