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:
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.