Ventless Fireplace Review MCP Server
README.md
# Ventless Fireplace Review MCP Server
This project provides a **read-only Model Context Protocol server** for [Ventless Fireplace Review](https://ventlessfireplacereview.com/). It reads the site’s public WordPress REST API and exposes published fireplace guides, pages, and editorial resources to MCP-compatible clients.
## Capabilities
| Capability | Purpose |
| --- | --- |
| `site_overview` | Return public site metadata and the server’s read-only scope. |
| `search_content` | Search public pages and posts by keyword. |
| `list_content` | List published pages or posts with dates and excerpts. |
| `get_content` | Retrieve one page or post by WordPress slug as Markdown. |
| `ventless://homepage` | Read the public homepage as a Markdown resource. |
| `ventless://our-mission` | Read the mission page as a Markdown resource. |
| `ventless://about` | Read the About page as a Markdown resource. |
| `ventless://editorial-policy` | Read the editorial policy as a Markdown resource. |
The server intentionally exposes no WordPress write, authentication, publishing, editing, deletion, payment, or account-management operations.
## Requirements and setup
Use Node.js 20 or later. Install dependencies with:
```bash
pnpm install
```
Check connectivity to the live site:
```bash
npm run inspect
```
Start the stdio MCP server:
```bash
npm start
```
The default site is `https://ventlessfireplacereview.com`. To point the server at another WordPress site, set `WP_BASE_URL` before starting it. `REQUEST_TIMEOUT_MS` and `USER_AGENT` are also configurable.
## Example MCP client configuration
For a local MCP client, use an absolute path to the project directory:
```json
{
"mcpServers": {
"ventless-fireplace-review": {
"command": "node",
"args": ["/absolute/path/to/ventless-fireplace-mcp/server.mjs"],
"env": {
"WP_BASE_URL": "https://ventlessfireplacereview.com"
}
}
}
}
```
## Safety and provenance
All returned content is fetched from public website endpoints and includes source URLs where applicable. The server does not independently verify fireplace safety, installation requirements, building codes, product specifications, or current manufacturer instructions. MCP clients should treat the content as educational, verify consequential claims against current primary sources, and consult qualified professionals for installation, gas, combustion, electrical, code, and safety decisions.
## Testing
Run the live health check and the end-to-end MCP protocol test:
```bash
npm run inspect
node test-client.mjs
```
TDQS
A4.1/5.0
Scored across 4 tools
Disambiguation5/5
Each tool has a distinct purpose: overview for metadata, search for keyword lookup, list for enumeration, and get for retrieving a specific post. No functional overlap.
Naming Consistency5/5
All tool names use snake_case and follow a verb-noun pattern (search_content, list_content, get_content), with site_overview being a minor exception but still clear and consistent in style.
Tool Count5/5
The server is intentionally read-only for a single blog, and four tools cover the essential content retrieval operations without redundancy or excess.
Completeness5/5
The tool set fully covers the read-only domain: discovering metadata, searching, listing, and fetching individual content. No write operations are needed given the stated read-only scope.
Maintenance
ActivityMaintained
ResponsivenessNo issues