# brainkb (slim) > brainkb, an MCP server by brainkb.org, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs. - Full: https://www.anchorterminal.com/tools/brainkb.md (~3,050 tokens) · this version ~2,980 tokens · JSON https://www.anchorterminal.com/tools/brainkb.json · canonical https://www.anchorterminal.com/tools/brainkb - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-04 # brainkb > Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/ - Kind: MCP server, by brainkb.org (https://brainkb.org) - Listed because: It's published in the registry under brainkb.org, a namespace the registry only gives to whoever proves they control that domain. - What the official MCP registry says: MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs. ## Facts - MCP registry: `org.brainkb/brainkb` 0.1.0 - Endpoint: https://mcp.brainkb.org/mcp (streamable HTTP) - Source: https://github.com/sensein/BrainKB - GitHub stars: 5 - Registry entry updated: 2026-07-23 ## Tools - Tools it lists (55, about 6,951 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-04 22:25 UTC): - `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… - `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.… - `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… - `brainkb_logout`: Forget the cached token for this session. - `brainkb_whoami`: Report the current caller's auth state (email, authenticated, and when the cached session expires). When signed in it also returns base_url — the backend THIS… - `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… - `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… - `brainkb_revoke_token`: Revoke one of your Personal Access Tokens by id (see brainkb_list_tokens). Takes effect immediately — the next call using that token fails. - `brainkb_use_token`: Use a Personal Access Token (brainkb_pat_...) for THIS session — an alternative to setting BRAINKB_TOKEN in the config. Validates the token, then caches it so… - `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:… - `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… - `brainkb_set_space_visibility`: Set a space 'public' (anyone, even anonymous, can read) or 'private' (members only). Owner only. - `brainkb_add_space_member`: Add/update a space member. role: 'owner' | 'editor' | 'viewer'. Owner only. - `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… - `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_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… - `brainkb_upload_status`: State of one of your staged/submitted uploads. `state` is `staged` (waiting for brainkb_ingest_upload), `submitting` (the server is streaming it to the ingest… - `brainkb_discard_upload`: Delete one of your staged uploads without ingesting it. - `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… - `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. - `brainkb_list_jobs`: List the user's ingest jobs (newest first) with status and progress. - `brainkb_job_status`: Detailed status of one ingest job: status, progress %, current file/stage, per-file failures, and (when complete) a summary. - `brainkb_recover_job`: Attempt to recover a stuck/errored ingest job (marks it recoverable/errored). - `brainkb_search`: Full-text search over the knowledge graphs, access-filtered by space visibility. Pass `space` to scope to one workspace, omit for a full search.… - `brainkb_read_space`: Read all RDF (JSON-LD) in a space's graphs. Public spaces are readable by anyone; private spaces require membership. - `brainkb_list_registered_graphs`: List registered named graphs visible to the caller (private-space graphs the caller can't access are hidden). - `brainkb_sparql`: Run an arbitrary SPARQL query. Requires an Admin/SuperAdmin role (the sparql_admin capability) — for ordinary questions prefer brainkb_search,… - `brainkb_qa_list`: Find a canned question BrainKB can answer, then run it with brainkb_qa_run. Prefer these over writing SPARQL: they are vetted against BrainKB's actual… - `brainkb_qa_run`: Run a canned question from brainkb_qa_list by id. `params` maps parameter names to values; they are validated and escaped, never spliced in raw. Runs through… - `brainkb_provenance_job`: PROV-O provenance bundle (JSON-LD) for one ingest job. - `brainkb_provenance_graph`: PROV-O ingestion/activity history (JSON-LD) for a named graph. - `brainkb_delta`: The exact triples a job added (its delta), as JSON-LD. - `brainkb_delta_history`: A named graph's change history: one entry per ingest delta (job, triple count, timestamp), newest first. - `brainkb_delta_compare`: Compare two jobs' deltas: A-only / B-only / shared triple counts + triples. - `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. - `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.… - `brainkb_revoke_capability`: (Admin only) Revoke a previously granted capability from a user. - `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… - `brainkb_role_capabilities`: (Admin only) List the capabilities granted to a role/group (e.g. 'uk_collaborator', 'Lab Member'). - `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… - `brainkb_revoke_role_capability`: (Admin only) Revoke a capability from a role/group. - `brainkb_list_access_rules`: List a space's fine-grained access rules (member/manager of the space). - `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'… - `brainkb_remove_access_rule`: (Space manager) Delete a fine-grained access rule by its id (see brainkb_list_access_rules). - `brainkb_list_users`: (Admin) List users (profiles) — filter by `q` (name/email/orcid) or `role`. Shows profile_id, email, roles, providers, ban status. - `brainkb_available_roles`: (Admin) List the available roles/groups (Admin, Lab Member, Curator, …). - `brainkb_create_role`: (Admin) Create a new role/group — e.g. an 'External' collaborator group — which can then be assigned with brainkb_assign_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… - `brainkb_remove_role`: (Admin) Remove a role/group from a user by email. - `brainkb_activate_user`: (Admin) Activate a user's account (sets the JWT user active) by email. - `brainkb_deactivate_user`: (Admin) Deactivate a user's account by email. - `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;… - `brainkb_unban_user`: (Admin) Lift a ban on a user by email. - `brainkb_list_permissions`: (Admin) List all usermanagement permissions (resource/action pairs used for page-access and role-permission mapping). These are the addable 'permission'… - `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… - How its tools read to an agent (0 errors, 102 warnings, 5 notes, about 6,951 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score): - warn TC11 brainkb_activate_user: its one parameter, email, has no description - warn TC11 brainkb_add_access_rule: 2 parameters without a description: slug, subject_value - warn TC11 brainkb_add_space_graph: none of its 3 parameters has a description - warn TC11 brainkb_add_space_member: none of its 3 parameters has a description - warn TC11 brainkb_assign_role: none of its 2 parameters has a description - warn TC11 brainkb_ban_user: none of its 2 parameters has a description - warn TC11 brainkb_capabilities: its one parameter, member, has no description - warn TC11 brainkb_create_permission: none of its 4 parameters has a description - warn TC11 brainkb_create_role: none of its 3 parameters has a description - warn TC11 brainkb_create_space: 1 parameter without a description: name - warn TC11 brainkb_create_token: 1 parameter without a description: days - warn TC11 brainkb_deactivate_user: its one parameter, email, has no description - warn TC11 brainkb_delta: its one parameter, job_id, has no description - warn TC11 brainkb_delta_compare: none of its 2 parameters has a description - warn TC11 brainkb_delta_history: its one parameter, named_graph_iri, has no description - warn TC11 brainkb_discard_upload: its one parameter, upload_id, has no description - warn TC11 brainkb_finish_login: none of its 2 parameters has a description - warn TC11 brainkb_globus_login: none of its 2 parameters has a description - warn TC11 brainkb_grant_capability: none of its 2 parameters has a description - warn TC11 brainkb_grant_role_capability: none of its 2 parameters has a description - warn TC11 brainkb_ingest_files: none of its 3 parameters has a description - warn TC11 brainkb_ingest_text: none of its 4 parameters has a description - warn TC11 brainkb_ingest_upload: none of its 2 parameters has a description - warn TC11 brainkb_job_status: its one parameter, job_id, has no description - JSON: https://www.anchorterminal.com/api/v1/tools/brainkb.json - Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming