MCP server for embeddable pixel-art digital fireplaces. Brought to you by Good Feels.
Server has 7 tools with consistent naming (verb_noun pattern: fireplace_list_styles, fireplace_get_html, etc.) and reasonable descriptions (100-200 chars each). All tools have input schemas with types and enums. However, parameter descriptions are minimal (10-30 chars), output schemas are not documented, and error handling is absent. No tool annotations (readOnlyHint, destructiveHint). Descriptions lack WHEN-to-use context and dependency hints. Parameter constraints are present (enums for response_format) but descriptions don't explain format expectations or valid slug values. No pagination despite list_styles returning 34 items. Baseline: 194 chars avg description, 72 chars avg param annotation, this server averages ~120 chars descriptions and ~20 chars param annotations.
Return an <iframe> snippet to embed a fireplace on any website. The iframe points to the local server (http://127.0.0.1:4700 by default, or FIREPLACE_SERVER_URL env var). Just paste the code into your HTML. Args: - slug: fireplace identifier (see fireplace_list_styles) - width: iframe width in pixels (default 400) - height: iframe height in pixels (default 300) - response_format: 'markdown' or 'json'
Return the URL to the interactive fireplace gallery picker. Users can browse all 34 fireplaces, see previews, and click to open them. The gallery is hosted on the local server. Args: - response_format: 'markdown' or 'json'
Return the raw HTML for a fireplace. Useful if you want to embed it in a web page or modify it. The HTML is self-contained: it includes all CSS, JavaScript, and canvas rendering. Just drop it in a <div> or <iframe>. Args: - slug: fireplace identifier (see fireplace_list_styles) - response_format: 'markdown' or 'json'
Return the local URL for a fireplace. Useful if you want to link to it or open it in a new tab. The URL is http://127.0.0.1:4700/fireplaces/{slug}.html by default, or uses FIREPLACE_SERVER_URL env var. Args: - slug: fireplace identifier (see fireplace_list_styles) - response_format: 'markdown' or 'json'
Parameter descriptions are too brief (avg 20 chars vs baseline 72 chars). 'slug' described as 'Fireplace slug, see fireplace_list_styles for options' lacks format/constraint details. 'vibe' in fireplace_recommend has no guidance on length, style, or examples.
No output schemas documented. LLMs cannot infer what fields fireplace_list_styles returns (is it an array? object with 'fireplaces' key? does each item have slug, name, mood, palette, tags, audio?). Breaks downstream tool chaining.
No tool annotations (readOnlyHint). All 7 tools are read-only but lack explicit readOnlyHint=true in schema. Agents cannot distinguish safe tools from destructive ones without this metadata.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
List all 34 available pixel-art digital fireplaces. Each has a slug, display name, mood description, color palette, audio support, and a list of tags. Use this to discover what's available, then pass the slug to fireplace_get_html or fireplace_get_embed_code. Brought to you by Good Feels · shop.getgoodfeels.com. Args: - response_format: 'markdown' or 'json'
Pick a random fireplace from the catalog. Great for "surprise me" buttons or when you want a cozy vibe but don't care which one. Args: - response_format: 'markdown' or 'json'
Suggest a fireplace for a vibe, mood, or use case. Describe what you're looking for (e.g. "cozy winter evening", "sci-fi aesthetic", "beach party") and the tool will recommend a fireplace from the catalog that matches. Args: - vibe: description of the mood or use case you're looking for - response_format: 'markdown' or 'json'
fireplace_list_styles returns 34 items with no pagination. Baseline: tools returning lists must accept limit/offset and return total count. No limit parameter means response could exceed context window.
No error handling guidance. If slug is invalid, what error does fireplace_get_html return? No recovery hints like 'Call fireplace_list_styles to see valid slugs.' Agents cannot self-correct.