uk-science-museum-group-mcp

uk-science-museum-group-mcp

0

This project provides a Model Context Protocol server that enables data retrieval from the UK Science Museum Group API. It is compatible with Claude Desktop on both MacOS and Windows and requires configuration using the UV package manager.

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

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 change it to:

{
  "mcpServers": {
    "scienceMuseum": {
      "command": "uvx",
      "args": [
        "science-museum-mcp"
      ]
    }
  }
}

Opening Claude Desktop should now start the MCP server, and Claude can 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.