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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。