Brainkb is a remote MCP server that gives an AI agent 53 tools, among them brainkb_activate_user, brainkb_add_access_rule, brainkb_add_space_graph. It answers at https://mcp.brainkb.org/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 12 September 2026; the last check, on 24 October 2026, succeeded.
MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
brainkb_activate_user | (Admin) Activate a user's account (sets the JWT user active) by email. Inputs: email |
brainkb_add_access_rule | (Space manager) Restrict a space action to a subject. action: 'read' | 'write' | 'manage'. subject_type: 'global_role' (e.g. 'Admin','Lab Member') | 'member' (an email) | 'space_role' ('viewer'|'editor'|'owner', matched as >=). When rules e Inputs: slug, action, subject_type, subject_value |
brainkb_add_space_graph | Register a named graph and bind it to a space, so ingest/read on that graph are governed by the space's membership and visibility. Owner/editor only. The named_graph_iri is **globally unique** — one graph belongs to exactly one space. If it Inputs: slug, named_graph_iri, description |
brainkb_add_space_member | Add/update a space member. role: 'owner' | 'editor' | 'viewer'. Owner only. Inputs: slug, member_email, role |
brainkb_assign_role | (Admin) Assign a role/group to a user by email (e.g. 'Lab Member', 'External', or a custom group). The user must already have a profile (created on first login/registration). NOTE: assigning the 'Admin'/'SuperAdmin' role is SuperAdmin-only Inputs: email, role |
brainkb_available_roles | (Admin) List the available roles/groups (Admin, Lab Member, Curator, …). |
brainkb_ban_user | (Admin) Ban a user by email (reversible; preserves history). This is how accounts are removed — there is NO hard delete. Banning an Admin is SuperAdmin-only; SuperAdmin accounts cannot be banned. Inputs: email, reason |
brainkb_capabilities | (Admin only) Show a user's roles, effective capabilities, and delegated grants. Useful to check why someone can/can't create team spaces, ingest, etc. Inputs: member |
brainkb_create_permission | (Admin) Create a new usermanagement permission, e.g. name='dataset.export', resource='dataset', action='export'. Attach it to roles via the usermanagement role-permissions API. Inputs: name, resource, action, description |
brainkb_create_role | (Admin) Create a new role/group — e.g. an 'External' collaborator group — which can then be assigned with brainkb_assign_role. Inputs: name, category, description |
brainkb_create_space | Create a workspace/space. The caller becomes owner. slug: lowercase/hyphen id, **globally unique** — if it's already taken the call returns 409 (pick another slug; slugs are never reused/deleted). visibility: 'private' or 'public'; descript Inputs: slug, name, visibility, description, space_type |
brainkb_create_token | Generate a Personal Access Token (PAT) for browser-free auth. Requires you to be logged in already (brainkb_login or brainkb_globus_login). The token is shown ONCE and never again — copy it and set it as BRAINKB_TOKEN in your MCP/skill conf Inputs: name, days |
brainkb_deactivate_user | (Admin) Deactivate a user's account by email. Inputs: email |
brainkb_delta | The exact triples a job added (its delta), as JSON-LD. Inputs: job_id |
brainkb_delta_compare | Compare two jobs' deltas: A-only / B-only / shared triple counts + triples. Inputs: job_id_a, job_id_b |
brainkb_delta_history | A named graph's change history: one entry per ingest delta (job, triple count, timestamp), newest first. Inputs: named_graph_iri |
brainkb_discard_upload | Delete one of your staged uploads without ingesting it. Inputs: upload_id |
brainkb_finish_login | Complete an OAuth login started with brainkb_globus_login by exchanging the one-time code shown in the browser for a session token. The code is single-use and never echoed back. Inputs: code, base_url |
brainkb_globus_login | Start an OAuth login (Globus / ORCID / GitHub) for THIS session — use this instead of brainkb_login when the user signs in with Globus rather than a password. Returns a URL to open in a browser; after signing in, the page shows a short one- Inputs: provider, base_url |
brainkb_grant_capability | (Admin only) Delegate a capability to a user — e.g. 'create_team_space' or 'manage_team_space' so a Curator/Lab Member can create/manage team spaces. Grantable: create_private_space, create_team_space, manage_team_space, ingest, recover, re Inputs: member, capability |
brainkb_grant_role_capability | (Admin only) Grant a capability to a whole role/group so EVERY member gets it — e.g. give a custom group 'uk_collaborator' the 'ingest' or 'create_private_space' capability. Grantable: create_private_space, create_team_space, manage_team_sp Inputs: role, capability |
brainkb_ingest_files | Ingest local RDF files (ttl/nt/nq/rdf/owl/jsonld/json) into a named graph. Returns a job_id; runs in the background — poll with brainkb_job_status. Inputs: named_graph_iri, file_paths, max_concurrency |
brainkb_ingest_text | Ingest raw RDF text (Turtle / N-Triples / JSON-LD, auto-detected) into a named graph. Returns a job_id; ingestion runs in the background — poll with brainkb_job_status. The graph must be registered (see brainkb_add_space_graph) and the call Inputs: named_graph_iri, data, sha256, expected_bytes |
brainkb_ingest_upload | Ingest a file you staged with `POST /upload` into a named graph. This is the route for a large local file: your HTTP client streams the bytes straight to this server over HTTPS, then you name the resulting upload_id here. The server reads i Inputs: named_graph_iri, upload_id |
brainkb_job_status | Detailed status of one ingest job: status, progress %, current file/stage, per-file failures, and (when complete) a summary. Inputs: job_id |
brainkb_list_access_rules | List a space's fine-grained access rules (member/manager of the space). Inputs: slug |
brainkb_list_capabilities | (Admin only) Catalog of all KG capabilities, which are delegatable ('grantable'), which are admin-only, and a description of each. Use this to see the available permission options before granting to a user or group/role. |
brainkb_list_jobs | List the user's ingest jobs (newest first) with status and progress. Inputs: limit |
brainkb_list_permissions | (Admin) List all usermanagement permissions (resource/action pairs used for page-access and role-permission mapping). These are the addable 'permission' options; KG action-capabilities are listed by brainkb_list_capabilities. |
brainkb_list_registered_graphs | List registered named graphs visible to the caller (private-space graphs the caller can't access are hidden). |
brainkb_list_spaces | List spaces the user can see (their own/member spaces + public ones), each annotated with THIS caller's permission so you know what they may do: - your_role: 'owner' | 'editor' | 'viewer' | null (their space membership) - is_owner: they own |
brainkb_list_tokens | List your Personal Access Tokens (metadata only — the secret is never shown): id, name, prefix, created/last-used/expiry, and whether each is active/revoked/expired. Use the id with brainkb_revoke_token. |
brainkb_list_uploads | List RDF files YOU have staged with POST /upload but not yet ingested. Shows each upload_id, its size, sha256 and when it expires. Only your own uploads are visible. |
brainkb_list_users | (Admin) List users (profiles) — filter by `q` (name/email/orcid) or `role`. Shows profile_id, email, roles, providers, ban status. Inputs: q, role, limit |
brainkb_login | Authenticate to BrainKB with the user's credentials and cache the JWT for THIS session only (isolated per caller). The password/token are never echoed. Uses single sign-on: one login mints a refresh token, cached for THIS session, which is Inputs: email, password, base_url |
brainkb_logout | Forget the cached token for this session. |
brainkb_provenance_graph | PROV-O ingestion/activity history (JSON-LD) for a named graph. Inputs: named_graph_iri |
brainkb_provenance_job | PROV-O provenance bundle (JSON-LD) for one ingest job. Inputs: job_id |
brainkb_read_space | Read all RDF (JSON-LD) in a space's graphs. Public spaces are readable by anyone; private spaces require membership. Inputs: slug |
brainkb_recover_job | Attempt to recover a stuck/errored ingest job (marks it recoverable/errored). Inputs: job_id |
brainkb_remove_access_rule, brainkb_remove_role, brainkb_revoke_capability, brainkb_revoke_role_capability, brainkb_revoke_token, brainkb_role_capabilities, brainkb_search, brainkb_set_space_visibility, brainkb_sparql, brainkb_unban_user, brainkb_upload_status, brainkb_use_token, brainkb_whoami
Every block below points at https://mcp.brainkb.org/mcp. Pick your client and copy.
claude mcp add --transport http brainkb https://mcp.brainkb.org/mcp
{
"mcpServers": {
"brainkb": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.brainkb.org/mcp"]
}
}
}{
"mcpServers": {
"brainkb": {
"url": "https://mcp.brainkb.org/mcp"
}
}
}{
"servers": {
"brainkb": {
"type": "http",
"url": "https://mcp.brainkb.org/mcp"
}
}
}{
"context_servers": {
"brainkb": {
"url": "https://mcp.brainkb.org/mcp"
}
}
}{
"mcpServers": {
"brainkb": {
"serverUrl": "https://mcp.brainkb.org/mcp"
}
}
}{
"mcpServers": {
"brainkb": {
"url": "https://mcp.brainkb.org/mcp"
}
}
}name: Brainkb
version: 0.0.1
schema: v1
mcpServers:
- name: Brainkb
type: streamable-http
url: https://mcp.brainkb.org/mcp{
"mcpServers": {
"brainkb": {
"httpUrl": "https://mcp.brainkb.org/mcp"
}
}
}{
"mcpServers": {
"brainkb": {
"type": "http",
"url": "https://mcp.brainkb.org/mcp"
}
}
}{
"mcpServers": {
"brainkb": {
"url": "https://mcp.brainkb.org/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.brainkb.org%2Fmcp&type=streamable_http&id=brainkb&name=Brainkb
It answered our last check on 24 October 2026 in 618 ms. Over 6 checks since 12 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by brainkb.org and served from mcp.brainkb.org, the vendor's own domain: https://mcp.brainkb.org/mcp.
53, as returned by the server's own tools/list on 23 September 2026: brainkb_activate_user, brainkb_add_access_rule, brainkb_add_space_graph, brainkb_add_space_member, brainkb_assign_role, brainkb_available_roles, brainkb_ban_user, brainkb_capabilities, and 45 more.
It answered our last check on 24 October 2026 in 618 ms. Over 6 checks since 12 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.brainkb.org/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: org.brainkb. Endpoint host: mcp.brainkb.org. ARD identifier: urn:air:org.brainkb:mcp:brainkb.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.