Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

VirtualFlyBrain

by VirtualFlyBrainversion 1.11.4i★ –iRuns in the cloud
Registry nameorg.virtualflybrain/vfb3-mcp

Install

Overview

Description from the maker (original English)

MCP server for Drosophila neuroscience data from VirtualFlyBrain

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://vfb3-mcp.virtualflybrain.org

Run this in your terminal

claude mcp add --transport http vfb3 https://vfb3-mcp.virtualflybrain.org

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "vfb3": {
      "url": "https://vfb3-mcp.virtualflybrain.org"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "vfb3": {
      "type": "http",
      "url": "https://vfb3-mcp.virtualflybrain.org"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://vfb3-mcp.virtualflybrain.org

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.

  • get_term_info

    Get term info for a VFB or anatomy ontology entity (VFB_*, FBbt_*, etc.). THIS IS THE QUERY DISCOVERY TOOL: the response's "Queries" array lists the valid query_type values that run_query accepts for this entity. ALWAYS call get_term_info before run_query unless you already obtai

  • run_query

    Run a pre-computed query on a VFB entity. REQUIRED WORKFLOW: (1) call get_term_info on the ID first; (2) read the response's "Queries" array; (3) pass one of those values as query_type. Calling run_query with a guessed query_type will return an error. If a query returns empty row

  • search_terms

    Search VFB terms. This is the search virtualflybrain.org itself runs — the same Solr query, the same ranking — so what comes back first here is what a user would see first on the site. USE filter_types BY DEFAULT. Unfiltered searches mix scRNAseq artifacts and developmental stage

  • list_search_facets

    List the type names search_terms can filter, exclude, boost or demote by, with the number of terms carrying each one. Call this instead of guessing: there are over 200 names, they are the index's own annotations rather than a curated list, and they change as data is added. Use co

  • resolve_entity

    Resolve an unresolved FlyBase-related query string into VFB/FlyBase IDs and metadata. Pass the raw text exactly as the user wrote it (for example "P{VT054895-GAL4.DBD}", "Hb9-GAL4", "SS04495", "MB002B", "PAM cluster", or "dpp"). Do NOT pass resolved IDs such as FBgn/FBal/FBti/FBc

  • resolve_combination

    Resolve an unresolved split-GAL4 combination name or synonym into its FBco ID and component hemidrivers. Pass the raw combination text exactly as the user wrote it (for example "MB002B" or "SS04495"). Do NOT pass an FBco ID; if you already have one, use the downstream tool direct

  • list_connectome_datasets

    List available connectome datasets with their labels and symbols. Use the returned symbols when constructing exclude_dbs arguments for query_connectivity. Common datasets include Hemibrain (hb), FAFB (fafb), MANC, and others. Call this tool if unsure which dataset symbols are val

  • query_connectivity

    Query synaptic connectivity between Drosophila neuron classes across ALL connectome datasets simultaneously for comparative connectomics. This is NOT pre-cached — it runs live queries, so expect slow responses (up to several minutes). Set both upstream_type AND downstream_type to

  • get_predicted_neurotransmitters

    Get the PREDICTED neurotransmitter(s) for a Drosophila neuron class — itself or any subclass — from per-instance connectome predictions (each reconstructed neuron carries a predicted transmitter with a confidence). Use this for "what neurotransmitter does use?" when you want the

  • get_known_neurotransmitters

    Get the KNOWN (curated) neurotransmitter(s) for a Drosophila neuron class and its subclasses, from the ontology's classification rather than per-instance predictions — so there is no confidence. Use this for "what neurotransmitter is known to use?" when you want the curated/estab

  • get_hierarchy

    Build a hierarchy tree for a VFB term, showing ancestors (parents) and/or descendants (children). Use relationship "part_of" for brain region structure (e.g. "what are the parts of the mushroom body?") and "subclass_of" for cell type hierarchies (e.g. "what types of Kenyon cell a

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain virtualflybrain.org (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 659 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 11 tool descriptions and found no hidden instructions to the AI

Compared with others in Otheri

  • More stars than 0% of the other 32602 servers in this category
  • Published to the registry more recently than 95% of the other 32602 servers in this category
  • Basic checks equal to or better than 100% of the other 32602 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is VirtualFlyBrain safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.11.4) reached the registry yesterday.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Rystic

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

Rystic

by Rystic-Inc

Start, seed, clock, inspect and diff Rystic API simulators from your agent.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

VFB3-MCP Server

A Model Context Protocol (MCP) server for Virtual Fly Brain (VFB): query *Drosophila melanogaster* neuroanatomy, connectomics, expression and reagent data from Claude, Copilot or any other MCP client.

Canonical repository: VirtualFlyBrain/VFB3-MCP (this one) — maintained by the Virtual Fly Brain team. Hosted service: https://vfb3-mcp.virtualflybrain.org — no installation, no API key, no account.

claude mcp add --transport http virtual-fly-brain https://vfb3-mcp.virtualflybrain.org

The earlier copy at Robbie1977/VFB3-MCP is archived at v1.3.0 and is not maintained; use this repository and the URL above.

This server provides tools to query VFB data, run queries, and search for terms. In HTTP mode it runs statelessly (no session tracking), so any replica can handle any request and standard load balancing works.

🚀 Quick Start

Use the Live Service (Recommended)

The easiest way to use VFB3-MCP is through our hosted service at https://vfb3-mcp.virtualflybrain.org. This requires no installation or setup on your machine.

Claude Desktop Setup
  1. Open Claude Desktop and go to Settings
  2. Navigate to the MCP section
  3. Add a new MCP server with these settings:
  • Server Name: virtual-fly-brain (or any name you prefer)
  • Type: HTTP
  • Server URL: https://vfb3-mcp.virtualflybrain.org

Configuration JSON (alternative method):

{

"mcpServers": { "virtual-fly-brain": { "type": "http", "url": "https://vfb3-mcp.virtualflybrain.org", "tools": ["*"] } } }

Claude Code Setup
  1. Locate your Claude configuration file:
  • macOS/Linux: ~/.claude.json
  • Windows: %USERPROFILE%\.claude.json
  1. Add the VFB3-MCP server to your configuration:
{

"mcpServers": { "virtual-fly-brain": { "type": "http", "url": "https://vfb3-mcp.virtualflybrain.org", "tools": ["*"] } } }

  1. Restart Claude Code for changes to take effect
GitHub Copilot Setup
  1. Open VS Code with GitHub Copilot installed
  2. Open Settings (Ctrl/Cmd + ,)
  3. Search for "MCP" in the settings search
  4. Find the MCP Servers setting
  5. Add the server URL: https://vfb3-mcp.virtualflybrain.org
  6. Give it a name like "Virtual Fly Brain"

Alternative JSON configuration (in mcp.json):

{

"servers": { "virtual-fly-brain": { "type": "http", "url": "https://vfb3-mcp.virtualflybrain.org" } } }

Visual Studio Code (with MCP Extension)
  1. Install the MCP extension for VS Code from the marketplace
  2. Open the Command Palette (Ctrl/Cmd + Shift + P)
  3. Type "MCP: Add server" and select it
  4. Choose "HTTP" as the server type
  5. Enter the server details:
  • Name: virtual-fly-brain
  • URL: https://vfb3-mcp.virtualflybrain.org
  1. Save and restart VS Code if prompted
Other MCP Clients

For any MCP-compatible client that supports HTTP servers:

{

"mcpServers": { "virtual-fly-brain": { "type": "http", "url": "https://vfb3-mcp.virtualflybrain.org", "tools": ["*"] } } }

Gemini Setup

To use the Virtual Fly Brain (VFB) Model Context Protocol (MCP) server with Google Gemini, you can connect through custom Python/Node.js clients that support MCP.

Note: Direct Gemini web interface integration with MCP is not currently supported. Developer tools are needed to connect the two.

Option 1: Using Python

For application development, use the mcp and google-genai libraries to connect.

Setup: pip install google-genai mcp

Implementation: Use a streamable HTTP transport in JSON response mode (e.g. enableJsonResponse: true) to connect to the VFB URL, list its tools, and pass their schemas to the Gemini model as Function Declarations.

Testing the Connection

Once configured, you can test that VFB3-MCP is working by asking your AI assistant questions like:

Basic Queries:

  • "Get information about the neuron VFB_jrcv0i43"
  • "Search for terms related to medulla in the fly brain"
  • "What neurons are in the antennal lobe?"

Advanced Queries:

  • "Find all neurons that connect to the mushroom body"
  • "Show me expression patterns for gene repo"
  • "What brain regions are involved in olfactory processing?"
  • "Run a connectivity analysis for neuron VFB_00101567"

Search Examples:

  • "Search for adult neurons in the visual system"
  • "Find genes expressed in the central complex"
  • "Show me all templates available in VFB"

If you see responses with VirtualFlyBrain data, including neuron names, brain regions, gene expressions, or connectivity information, the setup is successful!

For more detailed usage examples and API calls, see [examples.md](examples.md).

Example Workflow
  1. Search for a term: "Search for neurons in the optic lobe"
  2. Get detailed info: "Get information about VFB_00101567"
  3. Run specific queries: "Show connectivity for VFB_00101567"
  4. Explore relationships: "What neurons synapse in the mushroom body?"

🛠️ Available Tools

The MCP server exposes the following tools (available to assistants like Claude and Copilot):

  • get_term_info — Get detailed metadata for a VFB ID
  • run_query — Run a precomputed analysis query for a VFB ID (see the Queries field from get_term_info)
  • search_terms — Search VFB entities by text with filtering / boosting options. This is the same search virtualflybrain.org itself runs
  • list_search_facets — List the facets_annotation type names that search_terms' filter_types / exclude_types / boost_types / demote_types accept, optionally filtered by substring
  • resolve_entity — Resolve an unresolved FlyBase-related query string (e.g., P{VT054895-GAL4.DBD} or a driver line / cell type label) to VFB/FlyBase IDs and metadata (not the same as VFB term search)
  • resolve_combination — Resolve an unresolved split-GAL4 combination name or synonym into its component IDs
  • list_connectome_datasets — List available connectome datasets (e.g., Hemibrain, FAFB)
  • query_connectivity — Query connectivity across connectome datasets using upstream/downstream filters, returned as a strongest-first page plus a summary computed over every connection found
  • get_predicted_neurotransmitters — Predicted neurotransmitter(s) for a neuron class (and its subclasses) from per-instance connectome predictions, per instance or aggregated with mean confidence, optionally split by dataset
  • get_known_neurotransmitters — Known (curated) neurotransmitter(s) for a neuron class and its subclasses, from the ontology classification (no confidence)
  • get_hierarchy — Traverse the ontology hierarchy for a VFB ID: part_of (region/tissue structure) and/or subclass_of (cell-type taxonomy), ancestors and/or descendants

🛠️ Local Installation

Prerequisites
  • Node.js 18 or higher
  • npm or yarn
Step-by-Step Installation
  1. Clone the repository:
   git clone https://github.com/VirtualFlyBrain/VFB3-MCP.git

cd VFB3-MCP

  1. Install dependencies:
   npm install
  1. Build the project:
   npm run build
  1. Start the server:
   npm start
Platform-Specific Setup
Claude Desktop (Local Development)

For local development with Claude Desktop, add this to your MCP configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{

"mcpServers": { "vfb3-mcp": { "command": "node", "args": ["/absolute/path/to/VFB3-MCP/dist/index.js"] } } }

Claude Code

Add to your claude.json file:

{

"mcpServers": { "vfb3-mcp": { "command": "node", "args": ["/absolute/path/to/VFB3-MCP/dist/index.js"] } } }

Visual Studio Code
  1. Install the MCP extension for VS Code
  2. Press Cmd + Shift + P (macOS) or Ctrl + Shift + P (Windows/Linux)
  3. Select MCP: Add server…
  4. Choose Command type
  5. Enter:
  • Name: vfb3-mcp
  • Command: node
  • Arguments: /absolute/path/to/VFB3-MCP/dist/index.js
GitHub Copilot

Configure the MCP server URL in your Copilot settings to point to your local server:

http://localhost:3000

For HTTP mode testing:

MCP_MODE=http PORT=3000 node dist/index.js
Docker Installation

Using Docker Compose (Recommended):

docker-compose up --build

Manual Docker Build:

# Build the image

docker build -t vfb3-mcp .

Run the container

docker run -p 3000:3000 vfb3-mcp

Pull Pre-built Image:

docker pull virtualflybrain/vfb3-mcp:latest

docker run -p 3000:3000 virtualflybrain/vfb3-mcp:latest

Available Tools

get_term_info

Retrieve detailed information about VFB terms using their IDs.

Parameters:

  • id (string): VFB ID (e.g., "VFB_jrcv0i43")
  • force_refresh (boolean, optional): Bypass the response cache and recompute (see run_query below for the cost and the whitelisting caveat)
run_query

Execute predefined queries on VFB data.

Parameters:

  • id (string or array): One or more VFB IDs (e.g., "VFB_00101567")
  • query_type (string): Query type from the entity's Queries array (e.g., "PaintedDomains")
  • queries (array, optional): {id, query_type} pairs for mixed batch queries
  • limit (number, optional): Max rows per call (default 25). The true total is always returned as count; use 0 for all rows (still capped ~25000)
  • offset (number, optional): Row offset for paging (default 0); re-run with offset += limit for the next page
  • include_images (boolean, optional): Include the thumbnail column (default false — it is stripped to save space, and the response _note says how to re-add it)
  • force_refresh (boolean, optional): Bypass the response cache and recompute. Expensive; intended only as a one-shot retry of a call that returned a stale or failed result. A failed query is already retried once automatically. Requires the server's egress IP to be whitelisted on v3-cached — from a non-whitelisted host nginx ignores the header and serves the cached entry unchanged.

The response reports count_status alongside count: exact (count is the true total), row_count (no total supplied — count is just the rows returned), or unavailable (the query failed upstream and count is -1). A -1 is an error indication, not an empty result set, and _note says so in words.

FlyBase stocks and split-GAL4 combination publications are run_query query_types too: FindStocks and FindComboPublications. FindStocks takes FlyBase feature, stock and strain (FBsn) IDs. For a split combination (FBco), FindStocks returns stocks with both hemidrivers where they exist, and otherwise falls back to stocks of each hemidriver; a match column says which.

search_terms

Search for VFB terms. This calls VFBquery's /search, which is the search virtualflybrain.org itself runs — the same Solr query, the same filters and boosts, the same final sort — so a result here is the result a user would see on the site. Deprecated terms are already excluded server-side; there is no need to ask for that.

Parameters:

  • query (string): Search query (e.g., "medulla")
  • filter_types (array, optional): Keep only results matching ALL of these facets_annotation types (AND logic)
  • exclude_types (array, optional): Drop results matching ANY of these facets_annotation types (OR logic)
  • boost_types (array, optional): Lift results matching these types up the ranking without excluding others
  • demote_types (array, optional): Sink results matching these types to the bottom of the ranking without excluding them. Ignored for a type that also appears in boost_types
  • unique (boolea

Only the beginning is shown; read the rest in the repo

Ask PopNx