mcpserver.lol
registry/brainkb
Connection check verified live · 26h ago

brainkb

MCP server for querying BrainKB, a knowledge base for neuroscience knowledge graphs.

Tools 53
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 26h ago

Tools & capabilities

53 tools

Read from the running server on 26h ago.

brainkb_activate_user email*
(Admin) Activate a user's account (sets the JWT user active) by email.
brainkb_add_access_rule slug*action*subject_type*subject_value*
(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) |…
brainkb_add_space_graph slug*descriptionnamed_graph_iri*
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…
brainkb_add_space_member roleslug*member_email*
Add/update a space member. role: 'owner' | 'editor' | 'viewer'. Owner only.
brainkb_assign_role role*email*
(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…
brainkb_available_roles
(Admin) List the available roles/groups (Admin, Lab Member, Curator, …).
brainkb_ban_user email*reason*
(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 acc…
brainkb_capabilities member*
(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_create_permission name*action*resource*description
(Admin) Create a new usermanagement permission, e.g. name='dataset.export', resource='dataset', action='export'. Attach it to roles via the usermanagement role-permissions…
brainkb_create_role name*categorydescription
(Admin) Create a new role/group — e.g. an 'External' collaborator group — which can then be assigned with brainkb_assign_role.
brainkb_create_space name*slug*space_typevisibilitydescription
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 ar…
brainkb_create_token daysname
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 neve…
brainkb_deactivate_user email*
(Admin) Deactivate a user's account by email.
brainkb_delta job_id*
The exact triples a job added (its delta), as JSON-LD.
brainkb_delta_compare job_id_a*job_id_b*
Compare two jobs' deltas: A-only / B-only / shared triple counts + triples.
brainkb_delta_history named_graph_iri*
A named graph's change history: one entry per ingest delta (job, triple count, timestamp), newest first.
brainkb_discard_upload upload_id*
Delete one of your staged uploads without ingesting it.
brainkb_finish_login code*base_url
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…
brainkb_globus_login base_urlprovider
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…
brainkb_grant_capability member*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_priv…
brainkb_grant_role_capability 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…
brainkb_ingest_files file_paths*max_concurrencynamed_graph_iri*
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_ingest_text data*sha256expected_bytesnamed_graph_iri*
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…
brainkb_ingest_upload upload_id*named_graph_iri*
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…
brainkb_job_status job_id*
Detailed status of one ingest job: status, progress %, current file/stage, per-file failures, and (when complete) a summary.
brainkb_list_access_rules slug*
List a space's fine-grained access rules (member/manager of the space).
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…
brainkb_list_jobs limit
List the user's ingest jobs (newest first) with status and progress.
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-…
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' | 'e…
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 th…
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 qrolelimit
(Admin) List users (profiles) — filter by `q` (name/email/orcid) or `role`. Shows profile_id, email, roles, providers, ban status.
brainkb_login email*base_urlpassword*
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…
brainkb_logout
Forget the cached token for this session.
brainkb_provenance_graph named_graph_iri*
PROV-O ingestion/activity history (JSON-LD) for a named graph.
brainkb_provenance_job job_id*
PROV-O provenance bundle (JSON-LD) for one ingest job.
brainkb_read_space slug*
Read all RDF (JSON-LD) in a space's graphs. Public spaces are readable by anyone; private spaces require membership.
brainkb_recover_job job_id*
Attempt to recover a stuck/errored ingest job (marks it recoverable/errored).
brainkb_remove_access_rule slug*rule_id*
(Space manager) Delete a fine-grained access rule by its id (see brainkb_list_access_rules).
brainkb_remove_role role*email*
(Admin) Remove a role/group from a user by email.
brainkb_revoke_capability member*capability*
(Admin only) Revoke a previously granted capability from a user.
brainkb_revoke_role_capability role*capability*
(Admin only) Revoke a capability from a role/group.
brainkb_revoke_token token_id*
Revoke one of your Personal Access Tokens by id (see brainkb_list_tokens). Takes effect immediately — the next call using that token fails.
brainkb_role_capabilities role*
(Admin only) List the capabilities granted to a role/group (e.g. 'uk_collaborator', 'Lab Member').
brainkb_search q*limitspaceoffset
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…
brainkb_set_space_visibility slug*visibility*
Set a space 'public' (anyone, even anonymous, can read) or 'private' (members only). Owner only.
brainkb_sparql sparql_query*
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 pr…
brainkb_unban_user email*
(Admin) Lift a ban on a user by email.
brainkb_upload_status upload_id*
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 API), `submi…
brainkb_use_token token*base_url
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 subsequent ca…
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 SERVER talks…