org.brainkb/brainkb
REMOTE · MCP.BRAINKB.ORG · SCANNED SEP 25
MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 53 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability79
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 4085 tokens (~77/item across 53 items; 53 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (11% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "brainkb_revoke_token" implies "revoke" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 53 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the org.brainkb/brainkb MCP server?
org.brainkb/brainkb is a hosted endpoint at https://mcp.brainkb.org/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.brainkb.org
claude mcp add --transport http org-brainkb-brainkb 'https://mcp.brainkb.org/mcp'
{
"mcpServers": {
"org-brainkb-brainkb": {
"url": "https://mcp.brainkb.org/mcp"
}
}
} {
"servers": {
"org-brainkb-brainkb": {
"type": "http",
"url": "https://mcp.brainkb.org/mcp"
}
}
} [mcp_servers.org-brainkb-brainkb] url = "https://mcp.brainkb.org/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"org-brainkb-brainkb": {
"type": "remote",
"url": "https://mcp.brainkb.org/mcp",
"enabled": true
}
}
} openclaw mcp add org-brainkb-brainkb --url 'https://mcp.brainkb.org/mcp' --transport streamable-http
mcp_servers:
org-brainkb-brainkb:
url: "https://mcp.brainkb.org/mcp" {
"McpServers": {
"org-brainkb-brainkb": {
"Transport": "http",
"Url": "https://mcp.brainkb.org/mcp"
}
}
} assistant mcp add org-brainkb-brainkb -t streamable-http -u 'https://mcp.brainkb.org/mcp'
{
"mcpServers": {
"org-brainkb-brainkb": {
"type": "http",
"url": "https://mcp.brainkb.org/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 0
- Server version: 1.29.0 → 1.30.0 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 8 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 6 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 4 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Probed https://mcp.brainkb.org/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.brainkb.org | CN=Amazon RSA 2048 M01,O=Amazon,C=US | 11 Aug 2026 | 24 Feb 2027 | RSA 2048 | SHA256-RSA | 785ad5740f112c6bc361a2c42b21f41 |
| SANs: mcp.brainkb.org | ||||||
| CN=Amazon RSA 2048 M01,O=Amazon,C=US (CA) | CN=Amazon Root CA 1,O=Amazon,C=US | 23 Aug 2022 | 23 Aug 2030 | RSA 2048 | SHA256-RSA | 77312380b9d6688a33b1ed9bf9ccda68e0e0f |
| CN=Amazon Root CA 1,O=Amazon,C=US (CA) | CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US | 25 May 2015 | 31 Dec 2037 | RSA 2048 | SHA256-RSA | 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.brainkb.org. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| org. | present | 26974 | 8 | Verified |
| brainkb.org. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.brainkb.org/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.brainkb.org/mcp | HTTPS enforced | 301 | https://mcp.brainkb.org:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
brainkb_activate_user ~34
(Admin) Activate a user's account (sets the JWT user active) by email.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – |
No output schema declared.
No examples provided.
brainkb_add_access_rule ~170
(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 exist for an action, only matching callers may perform it; the space owner and Admin/SuperAdmin always bypass (no lockout). Example: restrict writing to Admins -> action='write', subject_type='global_role', subject_value='Admin'.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| slug | string | yes | – |
| subject_type | string | yes | – |
| subject_value | string | yes | – |
No output schema declared.
No examples provided.
brainkb_add_space_graph ~117
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's already registered (to any space) the call returns 409; graph bindings are permanent (no unregister/delete).
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| named_graph_iri | string | yes | – |
| slug | string | yes | – |
No output schema declared.
No examples provided.
brainkb_add_space_member ~55
Add/update a space member. role: 'owner' | 'editor' | 'viewer'. Owner only.
| Name | Type | Req | Description |
|---|---|---|---|
| member_email | string | yes | – |
| role | string | – | – |
| slug | string | yes | – |
No output schema declared.
No examples provided.
brainkb_assign_role ~97
(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 (hierarchy: SuperAdmin > Admin).
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| role | string | yes | – |
No output schema declared.
No examples provided.
brainkb_available_roles ~29
(Admin) List the available roles/groups (Admin, Lab Member, Curator, …).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
brainkb_ban_user ~73
(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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| reason | string | yes | – |
No output schema declared.
No examples provided.
brainkb_capabilities ~52
(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.
| Name | Type | Req | Description |
|---|---|---|---|
| member | string | yes | – |
No output schema declared.
No examples provided.
brainkb_create_permission ~80
(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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| description | string | – | – |
| name | string | yes | – |
| resource | string | yes | – |
No output schema declared.
No examples provided.
brainkb_create_role ~62
(Admin) Create a new role/group — e.g. an 'External' collaborator group — which can then be assigned with brainkb_assign_role.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | – |
| description | string | – | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
brainkb_create_space ~162
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'; description: short human description (recommended — surfaces in the registry); space_type: 'individual' (a personal space — any write-capable role) or 'team' (a shared space — only Admin/SuperAdmin, or a user granted create_team_space).
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | – |
| name | string | yes | – |
| slug | string | yes | – |
| space_type | string | – | – |
| visibility | string | – | – |
No output schema declared.
No examples provided.
brainkb_create_token ~142
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 config; then no login or browser is needed until it expires. `name`: a label so you can tell tokens apart (e.g. 'laptop'). `days`: lifetime (default 90, server-capped). Treat the returned token like a password.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| name | string | – | – |
No output schema declared.
No examples provided.
brainkb_deactivate_user ~29
(Admin) Deactivate a user's account by email.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – |
No output schema declared.
No examples provided.
brainkb_delta ~32
The exact triples a job added (its delta), as JSON-LD.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
No output schema declared.
No examples provided.
brainkb_delta_compare ~47
Compare two jobs' deltas: A-only / B-only / shared triple counts + triples.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id_a | string | yes | – |
| job_id_b | string | yes | – |
No output schema declared.
No examples provided.
brainkb_delta_history ~45
A named graph's change history: one entry per ingest delta (job, triple count, timestamp), newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| named_graph_iri | string | yes | – |
No output schema declared.
No examples provided.
brainkb_discard_upload ~30
Delete one of your staged uploads without ingesting it.
| Name | Type | Req | Description |
|---|---|---|---|
| upload_id | string | yes | – |
No output schema declared.
No examples provided.
brainkb_finish_login ~65
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.
| Name | Type | Req | Description |
|---|---|---|---|
| base_url | string | – | – |
| code | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
brainkb_globus_login ~121
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-time code — pass it to brainkb_finish_login(code) to complete. (The browser step is unavoidable: only the user can consent at the provider.)
| Name | Type | Req | Description |
|---|---|---|---|
| base_url | string | – | – |
| provider | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
brainkb_grant_capability ~102
(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, read_private (NOT the admin-only 'grant'/'sparql_admin').
| Name | Type | Req | Description |
|---|---|---|---|
| capability | string | yes | – |
| member | string | yes | – |
No output schema declared.
No examples provided.
brainkb_grant_role_capability ~135
(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_space, ingest, recover, read_private (NOT the admin-only 'grant'/'sparql_admin'). Create the group first with brainkb_create_role, then assign it to users with brainkb_assign_role.
| Name | Type | Req | Description |
|---|---|---|---|
| capability | string | yes | – |
| role | string | yes | – |
No output schema declared.
No examples provided.
brainkb_ingest_files ~79
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.
| Name | Type | Req | Description |
|---|---|---|---|
| file_paths | array | yes | – |
| max_concurrency | integer | – | – |
| named_graph_iri | string | yes | – |
No output schema declared.
No examples provided.
brainkb_ingest_text ~269
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 caller must have write access to its space. `sha256` / `expected_bytes` are an integrity contract, and you should use them whenever the RDF came from a file. Ingest is append-only — no delete for triples, no unregister for a graph — so RDF that arrives here mangled is permanent. Because `data` is a string, it passes through the caller's context, where dense Turtle is exactly what gets silently altered: ligatures, Greek letters, embedded newlines, escaped quotes. Declare the digest of the bytes you MEANT to send (`shasum -a 256 file.ttl`) and this refuses the write on any mismatch, turning an unrecoverable corruption into a clean rejection.
| Name | Type | Req | Description |
|---|---|---|---|
| data | string | yes | – |
| expected_bytes | integer | – | – |
| named_graph_iri | string | yes | – |
| sha256 | string | – | – |
No output schema declared.
No examples provided.
brainkb_ingest_upload ~360
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 its own staged copy and posts it to the ingest API internally, so the RDF never passes through a model's context — nothing to transcribe, no context-window ceiling, and no reason to split the document (splitting breaks blank-node identity and silently detaches triples, permanently). Stage a file with any HTTP client — the point is that the LIBRARY reads the file, so the bytes never pass through a model: import requests, hashlib, pathlib f = pathlib.Path("review.ttl") r = requests.post( "https://mcp.brainkb.org/upload", params={"filename": f.name, "sha256": hashlib.sha256(f.read_bytes()).hexdigest()}, headers={"Authorization": f"Bearer {TOKEN}"}, data=f.open("rb"), # streamed — never loaded into memory ) print(r.json()) # -> {"upload_id": "up_...", "state": "staged"} It returns an upload_id and the sha256 the server computed — compare it with your own before ingesting. Returns a job_id; poll brainkb_job_status, then reconcile brainkb_delta(job_id) against the triple count you expected. The staged copy is deleted once the ingest API has accepted the bytes.
| Name | Type | Req | Description |
|---|---|---|---|
| named_graph_iri | string | yes | – |
| upload_id | string | yes | – |
No output schema declared.
No examples provided.
brainkb_job_status ~47
Detailed status of one ingest job: status, progress %, current file/stage, per-file failures, and (when complete) a summary.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
No output schema declared.
No examples provided.
brainkb_list_access_rules ~35
List a space's fine-grained access rules (member/manager of the space).
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
No output schema declared.
No examples provided.
brainkb_list_capabilities ~62
(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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
brainkb_list_jobs ~32
List the user's ingest jobs (newest first) with status and progress.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
No output schema declared.
No examples provided.
brainkb_list_permissions ~58
(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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
brainkb_list_registered_graphs ~33
List registered named graphs visible to the caller (private-space graphs the caller can't access are hidden).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
brainkb_list_spaces ~158
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 the space - access: 'owner' | 'member' | 'public' (how it's available to them) - can_write: their space role permits ingest (owner/editor) — a real ingest also needs the 'ingest' capability + any per-space access rules. Use this to tell the user which spaces they can read vs. write vs. only see as public.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
brainkb_list_tokens ~63
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
brainkb_list_uploads ~52
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
brainkb_list_users ~69
(Admin) List users (profiles) — filter by `q` (name/email/orcid) or `role`. Shows profile_id, email, roles, providers, ban status.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| q | string | – | – |
| role | string | – | – |
No output schema declared.
No examples provided.
brainkb_login ~159
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 exchanged on demand for per-service access tokens (query_service, usermanagement, …). Falls back to a legacy per-service token if the backend has no SSO. On the hosted multi-user remote you can skip this and instead have your client send an 'Authorization: Bearer <token>' header (a refresh token unlocks all services).
| Name | Type | Req | Description |
|---|---|---|---|
| base_url | string | – | – |
| string | yes | – | |
| password | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
brainkb_logout ~17
Forget the cached token for this session.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
brainkb_provenance_graph ~38
PROV-O ingestion/activity history (JSON-LD) for a named graph.
| Name | Type | Req | Description |
|---|---|---|---|
| named_graph_iri | string | yes | – |
No output schema declared.
No examples provided.
brainkb_provenance_job ~35
PROV-O provenance bundle (JSON-LD) for one ingest job.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
No output schema declared.
No examples provided.
brainkb_read_space ~45
Read all RDF (JSON-LD) in a space's graphs. Public spaces are readable by anyone; private spaces require membership.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
No output schema declared.
No examples provided.
brainkb_recover_job ~38
Attempt to recover a stuck/errored ingest job (marks it recoverable/errored).
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
No output schema declared.
No examples provided.
brainkb_remove_access_rule ~50
(Space manager) Delete a fine-grained access rule by its id (see brainkb_list_access_rules).
| Name | Type | Req | Description |
|---|---|---|---|
| rule_id | integer | yes | – |
| slug | string | yes | – |
No output schema declared.
No examples provided.
brainkb_remove_role ~37
(Admin) Remove a role/group from a user by email.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| role | string | yes | – |
No output schema declared.
No examples provided.
brainkb_revoke_capability ~40
(Admin only) Revoke a previously granted capability from a user.
| Name | Type | Req | Description |
|---|---|---|---|
| capability | string | yes | – |
| member | string | yes | – |
No output schema declared.
No examples provided.
brainkb_revoke_role_capability ~40
(Admin only) Revoke a capability from a role/group.
| Name | Type | Req | Description |
|---|---|---|---|
| capability | string | yes | – |
| role | string | yes | – |
No output schema declared.
No examples provided.
brainkb_revoke_token ~49
Revoke one of your Personal Access Tokens by id (see brainkb_list_tokens). Takes effect immediately — the next call using that token fails.
| Name | Type | Req | Description |
|---|---|---|---|
| token_id | integer | yes | – |
No output schema declared.
No examples provided.
brainkb_role_capabilities ~45
(Admin only) List the capabilities granted to a role/group (e.g. 'uk_collaborator', 'Lab Member').
| Name | Type | Req | Description |
|---|---|---|---|
| role | string | yes | – |
No output schema declared.
No examples provided.
brainkb_search ~81
Full-text search over the knowledge graphs, access-filtered by space visibility. Pass `space` to scope to one workspace, omit for a full search. Anonymous/other users never see private-space data.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
| q | string | yes | – |
| space | string | – | – |
No output schema declared.
No examples provided.
brainkb_set_space_visibility ~53
Set a space 'public' (anyone, even anonymous, can read) or 'private' (members only). Owner only.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
| visibility | string | yes | – |
No output schema declared.
No examples provided.
brainkb_sparql ~72
Run an arbitrary SPARQL query. Requires an Admin/SuperAdmin role (the sparql_admin capability) — for ordinary questions prefer brainkb_search, brainkb_read_space, or the provenance/delta tools, which need no admin role.
| Name | Type | Req | Description |
|---|---|---|---|
| sparql_query | string | yes | – |
No output schema declared.
No examples provided.
brainkb_unban_user ~30
(Admin) Lift a ban on a user by email.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – |
No output schema declared.
No examples provided.
What is the org.brainkb/brainkb MCP server?
org.brainkb/brainkb is an MCP server listed in the public MCP registry as org.brainkb/brainkb. MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs. This page covers its hosted endpoint (https://mcp.brainkb.org/mcp).
Is the org.brainkb/brainkb MCP server safe to use?
org.brainkb/brainkb scores 75 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the org.brainkb/brainkb MCP server expose?
org.brainkb/brainkb exposes 53 tools: brainkb_login, brainkb_globus_login, brainkb_finish_login, brainkb_logout, brainkb_whoami, and 48 more. Their descriptions and schemas cost roughly 4,085 tokens of context every time the server is loaded.
Does the org.brainkb/brainkb MCP server require authentication?
No. We connected to org.brainkb/brainkb without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the org.brainkb/brainkb MCP server still maintained?
org.brainkb/brainkb is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.