digital-fireplace-mcp

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.

Category
Visit Server

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 pages
  • public/lib/fire.js — the shared fire engine (Doom 1993 fire algorithm + 7 swappable palettes + a FireCrackle WebAudio synth)
  • public/lib/chrome.js — shared sponsor footer + tap-to-start audio gate
  • public/index.html — "The Hearth Picker" gallery, a live grid of all 34 with embed code modal
  • public/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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

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.

Official
Featured