An MCP (Model Context Protocol) server that provides access to AIND (Allen Institute for Neural Dynamics) metadata and data assets through a comprehensive set of tools and resources. This server targets the V2 aind-data-schema format.
Each IDE/client has its own configuration method, look at their documentation for instructions on MCP configuration/setup.
You can either use the command uvx aind-data-mcp to launch the server, or install it locally with uv tool install aind-data-mcp and then launch it with just aind-data-mcp.
- Refer to the code ocean MCP server for additional support
This MCP server provides the following tools:
Data Retrieval & Querying
get_records— Query MongoDB collections using filters and projectionsaggregation_retrieval— Execute complex MongoDB aggregation pipelinescount_records— Count documents matching a filterflatten_records— Retrieve and flatten records into dot-notation for easier inspectionget_project_names— List all project names in the databaseget_summary— Generate an AI-powered summary for a specific data asset
Schema Navigation
get_top_level_nodes— Explore the top-level fields of the V2 metadata schemaget_additional_schema_help— Query-writing guidance for V2 aggregationsget_modality_types— List all available data modality names and abbreviations
Schema Examples (one tool per document type)
get_acquisition_example,get_data_description_example,get_instrument_example,get_procedures_example,get_subject_example,get_processing_example,get_model_example,get_quality_control_example
NWB File Access
identify_nwb_contents_in_code_ocean— Load an NWB file from the/datadirectory in a Code Ocean capsuleidentify_nwb_contents_with_s3_link— Load an NWB file from an S3 path
Resources (accessible via the MCP protocol)
resource://aind_api— Context and usage patterns for the AIND data access APIresource://load_nwbfile— Reference script for loading NWB files
To develop the code, run
uv sync --extra devTo run tests:
uv run coverage run -m unittest discover && uv run coverage reportTo run linting:
uv run flake8 . && uv run interrogate --verbose .