A Model Context Protocol Server for the UK Science Museum Group API
LocalAbout A Model Context Protocol Server for the UK Science Museum Group API
A Python MCP server that lets LLMs retrieve data from the UK Science Museum Group. It is intended for Claude Desktop users and connects the assistant to the museum’s collections API.
Key features
- 01Fetch data from the museum group
- 02Connect through Claude Desktop
- 03Python-based MCP server
Use cases
- 01Retrieve museum collection information
- 02Ask an LLM about Science Museum Group data
MCP support
It exposes access to UK Science Museum Group data to MCP clients, allowing an LLM to retrieve information from the collections API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEA Model Context Protocol Server for the UK Science Museum Group API
This project is a Python MCP (https://modelcontextprotocol.io/introduction) server that allows your LLM to fetch data from the UK Science Museum Group. Info is available at https://github.com/TheScienceMuseum/collectionsonline/wiki/Collections-Online-API#get-search.
It is currently supported by Claude Desktop for MacOS and Windows.
Integrate with Claude Desktop
This guide assumes you are using Homebrew on MacOS for package management.
Download Claude Desktop.
MacOS:
brew install --cask claude
Windows: https://claude.com/download
All you need is to install UV, a Python package/ project manager, then change your Claude Desktop settings to add this MCP.
For MacOS:
brew install uv
For Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
OR with winget:
winget install --id=astral-sh.uv -e
Other installation options are available at https://docs.astral.sh/uv/getting-started/installation.
To configure Claude Desktop, go to Claude Desktop's settings -> Developer, edit config.
This will create a configuration file at:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Open this file and add this JSON blob as a top level key in the existing JSON config:
"mcpServers": {
"scienceMuseum": {
"command": "uvx",
"args": [
"science-museum-mcp"
]
}
}
Closing and re-opening Claude Desktop should now start the MCP server. This can be verified by pressing the "+" icon in Claude's prompt input and viewing Connectors. The "scienceMuseum" connector should be activated.
Claude can now be queried. As an example:
Anthropic's own instructions for this step are here - https://modelcontextprotocol.info/docs/quickstart/user/.
Developing
This section is for anyone who wants to contribute to the codebase.
Setup and Install Dependencies
Clone the repository.
The project is configured to use uv (Install link: https://docs.astral.sh/uv/#installation) for dependency management and building. It uses npx (Install link: https://www.npmjs.com/package/npx) to run the MCP inspector.
Create a virtual env with
uv venv
And install dependencies with
uv pip install -r pyproject.toml
Run the inspector with
./inspector.sh
The inspector should output the localhost URL for accessing its UI.
Running Unit Tests
source .venv/bin/activate
pytest
Publishing
This is currently a manual process I can do. This will be changed to a Github action if the project gets any development from now on.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.