digital-fireplace-mcp
MCP server for 34 embeddable pixel-art digital fireplaces. Enables listing fireplace styles, retrieving HTML/embed codes, and getting recommendations based on mood or tags.
README
digital-fireplace-mcp
Brought to you by Good Feels · shop.getgoodfeels.com
An MCP server (and a self-hosted gallery) for 34 embeddable pixel-art digital fireplaces.
Each fireplace is a single-file HTML page that renders a tiny living scene — a stone hearth, a CRT yule log, a sparkler, a slow-burning joint, a phoenix egg, a plasma reactor — and pins a small Good Feels attribution to the bottom-right. Embed any of them with one <iframe> snippet, anywhere.
classic-hearth wood-stove campfire joint-tray
yule-log crystal-cave space-stove tiki-torch
lava-lamp cabin-window mystic-brazier jack-o-lantern
menorah birthday-candle sparkler new-years
bonfire-beach forge-anvil sun-disc volcano
aurora dragon-mouth phoenix-egg lightsaber
solar-flare welding-arc gas-stove furnace-coal
tea-light match-strike cigar-ashtray incense
bong-cherry firefly-jar
CC0. Take it, fork it, theme it, ship it.
What's in the box
public/fireplaces/*.html— 34 self-contained fireplace pagespublic/lib/fire.js— the shared fire engine (Doom 1993 fire algorithm + 7 swappable palettes + aFireCrackleWebAudio synth)public/lib/chrome.js— shared sponsor footer + tap-to-start audio gatepublic/index.html— "The Hearth Picker" gallery, a live grid of all 34 with embed code modalpublic/server.js— minimal Node static server (no framework deps)src/index.ts— MCP server exposing 7 tools
Quick start
# Install + build
npm install
npm run build
# Run the static gallery on http://127.0.0.1:4700
npm run serve
# Run the MCP server (stdio)
npm start
Open http://127.0.0.1:4700 to browse the picker. Click any tile's embed button to get a turnkey iframe snippet for your own site.
Embed anywhere
<iframe
src="https://your-host/fireplaces/joint-tray.html"
width="800" height="500"
frameborder="0"
allow="autoplay"
title="Good Feels · digital fireplace"
style="border:none;"
></iframe>
<!-- brought to you by Good Feels · shop.getgoodfeels.com -->
MCP tools
Wire into your Claude Code, Cursor, or any MCP-compatible client by adding to its mcpServers config:
"digital-fireplace": {
"command": "node",
"args": ["/absolute/path/to/digital-fireplace-mcp/dist/index.js"],
"type": "stdio",
"env": { "FIREPLACE_SERVER_URL": "http://127.0.0.1:4700" }
}
| Tool | What it does |
|---|---|
fireplace_list_styles |
Catalog of all 34 fireplaces with mood, palette, tags, URL |
fireplace_get_html |
Raw HTML for one fireplace (optionally bundled with fire.js / chrome.js for self-hosting) |
fireplace_get_embed_code |
Turnkey <iframe> snippet with sponsor comment |
fireplace_get_url |
Live URL for a specific fireplace |
fireplace_random |
Surprise pick |
fireplace_get_gallery_url |
URL of the picker grid |
fireplace_recommend |
Free-form vibe → top-3 matches by tag scoring |
Example: "recommend a fireplace for a winter night sci-fi stream" → crystal-cave, space-stove, aurora.
How the fire engine works
The shared PixelFire class implements the classic Doom 1993 fire algorithm. For every pixel from bottom row to top, it copies from the row below with a small random horizontal offset and decays the palette index by 0–3. The hot source row at the bottom plus randomized decay produces a beautiful living flame that costs almost nothing to render.
Each fireplace picks a palette and (optionally) a mask + custom source row to shape the fire. Crystal Cave uses a cool blue palette. Plasma Reactor masks the fire to a circle. Gas Stove punches 12 hot zones into the source row to make discrete jets. Sun Disc and Solar Flare use a mostly-white solar palette.
Some fireplaces (lava-lamp, aurora, lightsaber, firefly-jar, joint-tray, bong-cherry, incense, match-strike, birthday-candle, new-years) use entirely custom CSS / canvas particle systems instead — picked when the Doom-fire approach didn't fit the subject.
Palettes
hearth · crystal · ember · mystic · plasma · tiki · lava · forge · gas · saber · solar · aurora
Add your own to public/lib/fire.js. Each is just an array of [r, g, b] triples ordered cold→hot.
Sponsor
Every fireplace renders a small fixed-position attribution linking to https://shop.getgoodfeels.com. The gallery hub also has a banner sponsor button. Both are baked into the chrome and present on every page.
If you fork this and want to remove or replace the sponsor with your own, edit public/lib/chrome.js (one file, ~120 lines).
License
CC0 1.0 Universal — public domain. See LICENSE. The fire algorithm itself was published by Fabien Sanglard / id Software in 1993 and is also widely-shared.
Credits
Built by @mhoydich · sponsored by Good Feels.
Doom-fire algorithm (1993) — Fabien Sanglard's reverse-engineering writeup is the canonical reference.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.