Gives your AI assistant direct access to Rebrickable's complete LEGO catalog: 26k sets, 62k parts, 17k minifigs, all embedded at build time so there's no runtime API needed. You get ten tools covering search, comparison, and lookup across sets, parts, and minifigures. Search for sets by theme or year, find which sets contain a specific brick in a specific color, compare multiple sets side by side to see shared parts, or look up minifig appearances. The browse_themes tool lets you navigate LEGO's theme hierarchy, and find_mocs surfaces community alternate builds. Useful when you're cataloging a collection, hunting down replacement parts, or just answering "which sets have that piece" without hallucinations.
LEGO sets, parts, minifigs, and inventories. An MCP server.
Ask your AI assistant about LEGO sets, find specific bricks, look up minifigures, browse themes, and compare sets. All backed by Rebrickable's catalog (26k sets, 62k parts, 17k minifigs), not hallucinations.
10 tools. Zero config. Works with every MCP-compatible IDE.
npx -y lego-oracle
claude mcp add lego-oracle -- npx -y lego-oracle
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"lego-oracle": {
"command": "npx",
"args": ["-y", "lego-oracle"]
}
}
}
Add to .cursor/mcp.json:
{
"mcpServers": {
"lego-oracle": {
"command": "npx",
"args": ["-y", "lego-oracle"]
}
}
}
Add to .vscode/mcp.json:
{
"servers": {
"lego-oracle": {
"command": "npx",
"args": ["-y", "lego-oracle"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"lego-oracle": {
"command": "npx",
"args": ["-y", "lego-oracle"]
}
}
}
Add to settings.json:
{
"context_servers": {
"lego-oracle": {
"command": {
"path": "npx",
"args": ["-y", "lego-oracle"]
}
}
}
}
| Tool | Description |
|---|---|
search_sets | Search for sets by name, theme, year, or piece count. Full-text search with filters. |
get_set | Get complete set details: inventory (grouped by part category), minifigures, theme hierarchy. |
compare_sets | Compare 2-4 sets side by side: piece count, year, theme, minifigs, shared parts. |
| Tool | Description |
|---|---|
search_parts | Search parts by name, category, colour, or material. |
get_part | Get part details including available colours and mold/print variants. |
find_part_in_sets | Find which sets contain a specific part (optionally in a specific colour), sorted by quantity. |
| Tool | Description |
|---|---|
search_minifigs | Search minifigures by name. |
get_minifig | Get minifig details and every set it appears in. |
| Tool | Description |
|---|---|
browse_themes | Browse the LEGO theme hierarchy. Top-level themes or drill into sub-themes with set counts. |
find_mocs | Find community alternate builds (MOCs) for a set's parts. |
All data is embedded at build time from Rebrickable. No network calls at runtime.
| Category | Count |
|---|---|
| Sets | 26,339 |
| Parts | 61,702 |
| Colours | 275 |
| Minifigures | 16,646 |
| Inventory entries | 1,483,652 |
| Part relationships | 35,757 |
| Themes | 490 |
Data is updated daily via GitHub Actions. New npm versions are published automatically when Rebrickable data changes.
npm install
npm run build
npm test # 141 tests
To refresh data from Rebrickable:
npm run fetch-data
npm run build
Data from Rebrickable. LEGO is a trademark of the LEGO Group. This project is not produced by or endorsed by the LEGO Group.
MIT