Skip to main content

A 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:

Screenshot 2025-04-15 at 19 43 05

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.

Metadata

Release files for science-museum-mcp 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for science-museum-mcp 1.0.1
File Size Uploaded Provenance Actions
science_museum_mcp-1.0.1.tar.gz 8.0 kB Without provenance Details for science_museum_mcp-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for science-museum-mcp 1.0.1
File Interpreter ABI Platform Actions
science_museum_mcp-1.0.1-py3-none-any.whl Python 3 none any Details for science_museum_mcp-1.0.1-py3-none-any.whl

Total release size: 15.5 kB

Release files / science_museum_mcp-1.0.1.tar.gz

Download URL science_museum_mcp-1.0.1.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7659678c3584f9730e0c08360f2cf1b0bbf463996fc31d7e0aa2324287975010
BLAKE2b-256 checksum
How to use checksums
a5c12d7e3bcc9063d49b9cabe0ade26aa7b7df6f028e0731a027c0ab2d90a0d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.14

Release files / science_museum_mcp-1.0.1-py3-none-any.whl

Download URL science_museum_mcp-1.0.1-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9df1e6cfa19d17ab9a848610f63ac19f946895faa8c0961582ac531f067bb963
BLAKE2b-256 checksum
How to use checksums
603eec977cd714d4d362d8b59e57d3550c9a20662e4d8bc00ef8f443afaf2a52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.14

Security for science-museum-mcp 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page