Skip to main content
Glama
dandi-query-server

dandi-query-server

by bendichter

dandi-query-server MCP Server

Enables complex queries over data on the DANDI Archive

This is a TypeScript-based MCP server that implements a simple notes system. It demonstrates core MCP concepts by providing:

  • Resources representing text notes with URIs and metadata

  • Tools for creating new notes

  • Prompts for generating summaries of notes

Features

Resources

  • List and access notes via note:// URIs

  • Each note has a title, content and metadata

  • Plain text mime type for simple content access

Tools

  • create_note - Create new text notes

    • Takes title and content as required parameters

    • Stores note in server state

Prompts

  • summarize_notes - Generate a summary of all stored notes

    • Includes all note contents as embedded resources

    • Returns structured prompt for LLM summarization

Related MCP server: lafe-blog MCP Server

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "dandi-query-server": {
      "command": "/path/to/dandi-query-server/build/index.js"
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Available Tools

7 tools
execute_sqlC

Execute advanced SQL queries against the DANDI database

Inputs: sql (required).

get_filter_optionsA

Get available filter options for basic search

Inputs: no named parameters.

get_full_schemaA

Get complete database schema with all tables and their columns

Inputs: no named parameters.

get_schemaC

Get database schema information

Inputs: table.

search_assetsB

Search DANDI assets (files/sessions) using basic filters

Inputs: limit, offset, species, dandiset_id, +2 more.

search_datasetsC

Search DANDI datasets using basic filters

Inputs: name, limit, offset, anatomy, +4 more.

validate_sqlA

Validate SQL query without executing it

Inputs: sql (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 7 tools

    Disambiguation4/5

    Most tools have distinct purposes, but `get_schema` and `get_full_schema` overlap significantly. The descriptions differ in wording but not in clear behavioral distinction, which could confuse an agent.

    Naming Consistency5/5

    All tool names follow a consistent `verb_noun` pattern (e.g., `execute_sql`, `search_datasets`). Even `get_full_schema` adheres to this pattern with an adjective inserted. No mixing of conventions.

    Tool Count5/5

    Seven tools cover querying, schema exploration, and validation. This is a well-scoped set for a database query server—enough tools to be useful without overwhelming the user.

    Completeness4/5

    The tool set covers core query, schema, and search needs. Missing conveniences like direct single-resource lookup by ID, but SQL can compensate. Minor gap in not having a tool for retrieving specific dataset details without SQL.

    Related MCP Connectors

    Related MCP Servers