canopy-mcp
README.md
# Canopy MCP
MCP (Model Context Protocol) server for the [Get Canopy](https://www.getcanopy.com) WordPress site. Gives Cursor agents full context over ACF blocks, content, Yoast SEO, menus, HubSpot tooling, and the running change journal.
## What’s included
| Area | Path | Notes |
|---|---|---|
| MCP server | `src/` | Tools + resources registered with the MCP SDK |
| Change journal | `context/changelog.jsonl` | Persistent log of site changes (`wp_log_change`) |
| One-off ops scripts | `*.cjs`, `*.py` | HubSpot/GTM/import helpers — require `.env` |
| Env template | `.env.example` | Copy to `.env` and fill credentials |
## Setup
```bash
cp .env.example .env
# edit .env — WP_URL, WP_USER, WP_APP_PASSWORD, THEME_PATH, optional HubSpot/GTM
npm install
npm start
```
Point Cursor at this folder via `.cursor/mcp.json` (or your global MCP config):
```json
{
"mcpServers": {
"get-canopy-wordpress": {
"command": "npm",
"args": ["start"],
"cwd": "/absolute/path/to/canopy-mcp"
}
}
}
```
## Security
- **Never commit `.env`.** It is gitignored.
- One-off scripts read `WP_APP_PASSWORD` / `HUBSPOT_PRIVATE_APP_TOKEN` from `.env` only.
- This repo is intended for the Canopy engineering team; treat application passwords and HubSpot tokens as secrets.
## Related
Lives alongside the WordPress theme at `wp-content/themes/get-canopy` (theme files, ACF JSON, blocks). The MCP `THEME_PATH` env var should point at that theme’s `theme/` directory.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues