Skip to main content
Glama
ifiecas

Curator

by ifiecas

Curator – Museums Victoria Collections MCP Server

An AI discovery tool for 1.15M+ museum records. Built for Copilot Studio with Power Platform custom connectors.

Status Python License


Overview

Curator is an MCP (Model Context Protocol) server that exposes the Museums Victoria Collections API as a set of intelligent discovery tools. Integrated into Copilot Studio, it enables natural language search and exploration across:

  • 1.15M+ records spanning specimens, items, articles, and species

  • Natural Sciences – paleontology, zoology, geology, mineralogy

  • Humanities – art, history, indigenous cultures, technology

  • Rich metadata – taxonomy, images, provenance, locations, dates

Features

✓ Full-text search across collections
✓ Browse by type (specimens, items, articles, species)
✓ Get detailed records with images and metadata
✓ Pagination and filtering support
✓ Works offline (no Museums Victoria API key needed)
✓ Hosted on Azure (Container Instance or App Service)
✓ Exposes 8 discovery tools to Copilot Studio


Related MCP server: ALA API MCP Server

Quick Start

1. Deploy to Azure (3 minutes)

# Clone/download this repo
git clone <repo> && cd curator-mcp

# Login to Azure
az login

# Run deployment script (or follow QUICKSTART.md)
./deploy.sh

2. Add to Copilot Studio

  • Open your Curator agent

  • Click AddAdd MCP server

  • Enter your Azure URL (from deployment)

  • Click Add

3. Start using

User: "Show me dinosaurs from Victoria"
Curator: [calls search_collections + formats results]

User: "Get specimen P206966"
Curator: [calls get_specimen + returns full details]

Architecture

Museums Victoria Collections API
        ↓
    MCP Server (Python)
        ├─ search_collections
        ├─ get_specimen
        ├─ get_item
        ├─ get_article
        ├─ list_specimens
        ├─ list_items
        ├─ list_articles
        └─ list_species
        ↓
  Azure Container Instance / App Service
        ↓
  Copilot Studio Agent (Curator)
        ↓
     User Chat

Available Tools

Tool

Description

Example

search_collections

Search across all records with filters

Query: "dinosaur", Filter by: specimen, Natural Sciences

get_specimen

Fetch single specimen by ID

ID: "specimens/1035098"

get_item

Fetch single collection item

ID: "items/12345"

get_article

Fetch single article/guide

ID: "articles/16713"

list_specimens

Browse all specimens (paginated)

Page: 1, Per page: 10

list_items

Browse all items

Page: 1, Per page: 20

list_articles

Browse all articles

Page: 1, Per page: 10

list_species

Browse all species records

Page: 1, Per page: 10


Documentation


Local Development

Prerequisites

  • Python 3.11+

  • Docker (optional)

  • Azure CLI (for deployment)

Setup

# Create virtual environment
python -m venv venv
source venv/bin/activate  # or: venv\Scripts\activate (Windows)

# Install dependencies
pip install -r requirements.txt

# Run locally
python curator_mcp_server.py

Test

# In another terminal:
curl -X POST "http://localhost:8000/tools/search_collections" \
  -H "Content-Type: application/json" \
  -d '{"query": "dinosaur", "perpage": 5}'

Docker (Local)

docker build -t curator-mcp .
docker run -p 8000:8000 curator-mcp

# Or with docker-compose:
docker-compose up

Deployment

See QUICKSTART.md for 5-minute setup.

# Deploy
az acr build --registry curatorregistry --image curator-mcp:latest .
az container create --resource-group curator-rg --name curator-mcp ...

# Get URL
az container show --resource-group curator-rg --name curator-mcp --query ipAddress.fqdn

Azure App Service (for 24/7 availability)

See DEPLOYMENT.md for full guide.

az appservice plan create --name curator-plan ...
az webapp create --resource-group curator-rg --plan curator-plan ...

Integration with Copilot Studio

Add MCP Server

  1. Open Curator agent → Settings

  2. Click AddAdd MCP server

  3. Fill in:

    • Server name: Curator Museums Victoria

    • Server URL: Your Azure URL

    • Authentication: None

  4. Click Add

Agent Topics

Example topic: "Explore Collections"

Trigger: "Find * in the museum"

Flow:
1. Extract search term from user message
2. Call search_collections (query=term, perpage=5)
3. For each result:
   - Display title + image
   - Show summary (first 150 chars)
   - Add "View full record" button
4. Offer related searches

Costs

Option

Cost

Best For

Container Instance

~$0.0015/min

Ad-hoc use, prototyping

App Service (B1)

~$10/month

Always-on, frequent use


Features Roadmap

  • Caching layer for popular searches

  • Advanced filtering (date ranges, locations)

  • Image gallery views

  • Export to PDF/CSV

  • Analytics/audit logging

  • API rate limiting

  • Custom API key support


Contributing

  1. Fork the repo

  2. Create a feature branch (git checkout -b feature/amazing-tool)

  3. Commit your changes (git commit -m 'Add amazing tool')

  4. Push to the branch (git push origin feature/amazing-tool)

  5. Open a Pull Request


License

MIT © 2026 Ivy Fiecas
Museums Victoria Collections API is public and free to use.


Support

Issues? Check DEPLOYMENT.md troubleshooting section.

Questions? Open an issue on GitHub.

Want to extend it? Fork and modify curator_mcp_server.py – all tools are self-contained.


Acknowledgments

  • Museums Victoria for the open Collections API

  • Anthropic for the MCP protocol

  • Microsoft for Copilot Studio

  • Built with ❤️ in Melbourne, Australia

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ifiecas/curator-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server