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.
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 uvFor Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"OR with winget:
winget install --id=astral-sh.uv -eOther 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:
Anthropic's own instructions for this step are here - https://modelcontextprotocol.info/docs/quickstart/user/.
This section is for anyone who wants to contribute to the codebase.
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 venvAnd install dependencies with
uv pip install -r pyproject.tomlRun the inspector with
./inspector.shThe inspector should output the localhost URL for accessing its UI.
source .venv/bin/activate
pytestThis 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.