From 00ab8c64b87d28b650b655edf4d49a8c95cd1657 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 7 Nov 2025 12:34:13 -0400 Subject: [PATCH] Clean up tools/__init__.py and add git instructions to CLAUDE.md - Remove code-focused tool imports (analyze, codereview, debug, etc.) - Keep only marketing tools: chat, contentvariant, listmodels, version - Add TODO comments for thinkdeep and planner (will copy later) - Add git workflow commands to CLAUDE.md with Forgejo remote details --- CLAUDE.md | 26 ++++++++ SETUP_COMPLETE.md | 150 ++++++++++++++++++++++++++++++++++++++++++++++ tools/__init__.py | 37 ++++-------- 3 files changed, 186 insertions(+), 27 deletions(-) create mode 100644 SETUP_COMPLETE.md diff --git a/CLAUDE.md b/CLAUDE.md index 56df793..88b2586 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -374,6 +374,32 @@ See PLAN.md for detailed implementation roadmap. **Commit frequency:** After reasonable amount of updates (not after every small change) +### Git Commands + +```bash +# Configure git for this repository (first time only) +git config user.email "ben@tealmaker.com" +git config user.name "Ben" + +# Check status and see changes +git status +git diff + +# Stage and commit changes +git add . +git commit -m "Descriptive commit message" + +# Push to Forgejo +git push origin main + +# Pull latest changes +git pull origin main +``` + +**Forgejo Remote:** `https://ben:23aa92ee83f9f3dc54e93c21af9c3548f8ef5dbc@git.tealmaker.com/ben/zen-marketing.git` + +The remote uses HTTPS with a personal access token embedded in the URL for authentication. + ## Resources - MCP Protocol: https://modelcontextprotocol.com diff --git a/SETUP_COMPLETE.md b/SETUP_COMPLETE.md new file mode 100644 index 0000000..7ee9189 --- /dev/null +++ b/SETUP_COMPLETE.md @@ -0,0 +1,150 @@ +# Zen-Marketing MCP Server - Setup Complete + +## ✅ What's Been Done + +### 1. Core Architecture ✓ +- Copied essential files from zen-mcp-server +- Adapted for marketing-focused workflows +- Preserved conversation continuity, multi-model support, and file handling + +### 2. Configuration ✓ +- `config.py` - Marketing-specific configuration with temperature profiles +- `.env.example` - Template for API keys and settings +- Model configuration for: + - `google/gemini-2.5-pro-latest` (analytical/strategic) + - `google/gemini-2.5-flash-preview-09-2025` (fast generation) + - `minimax/minimax-m2` (creative content) + +### 3. Tools Implemented ✓ +- **contentvariant** - Generate 5-25 content variations for A/B testing +- **chat** - Marketing strategy and brainstorming +- **listmodels** - Show available AI models +- **version** - Server version and info + +### 4. Infrastructure ✓ +- `server.py` - Main MCP server with tool registration +- Provider system (Gemini + OpenRouter) +- Logging system (file + console) +- `run-server.sh` - Setup and launch script + +### 5. Git Repository ✓ +- Initialized with clean commit history +- Remote configured: `ssh://git@git.tealmaker.com:2222/ben/zen-marketing.git` +- Ready to push when network accessible + +## 📋 Next Steps + +### 1. Push to Forgejo (Manual) +```bash +cd ~/mcp/zen-marketing +git push -u origin main +``` + +### 2. Configure API Keys +```bash +cd ~/mcp/zen-marketing +cp .env.example .env +# Edit .env with your API keys: +# - OPENROUTER_API_KEY (for minimax and others) +# - GEMINI_API_KEY (optional, for direct Gemini access) +``` + +### 3. Test Locally +```bash +cd ~/mcp/zen-marketing +./run-server.sh +``` + +### 4. Configure Claude Desktop (MacBook) +Add to `~/.claude.json`: + +```json +{ + "mcpServers": { + "zen-marketing": { + "command": "/path/to/zen-marketing/.venv/bin/python", + "args": ["/path/to/zen-marketing/server.py"], + "env": { + "OPENROUTER_API_KEY": "your-key", + "DEFAULT_MODEL": "google/gemini-2.5-pro-latest", + "FAST_MODEL": "google/gemini-2.5-flash-preview-09-2025", + "CREATIVE_MODEL": "minimax/minimax-m2", + "ENABLE_WEB_SEARCH": "true", + "LOG_LEVEL": "INFO" + } + } + } +} +``` + +Then restart Claude Desktop. + +### 5. Test the contentvariant Tool +In Claude Desktop: + +``` +Use zen-marketing contentvariant to generate 10 subject line variations +for an HVAC newsletter about PCB diagnostics. Test angles: technical +curiosity, contrarian, knowledge gap, urgency. +``` + +## 🎯 Priority Tools to Implement Next + +Based on PLAN.md priority: + +1. **subjectlines** - Specialized email subject line generator (High Priority) +2. **platformadapt** - Cross-platform content adaptation (High Priority) +3. **styleguide** - Writing style enforcement (High Priority) +4. **factcheck** - Technical verification (High Priority) +5. **seooptimize** - WordPress SEO workflow (Medium Priority) +6. **guestedit** - Guest content editing (Medium Priority) + +## 📁 File Structure + +``` +zen-marketing/ +├── server.py # Main MCP server +├── config.py # Configuration +├── requirements.txt # Dependencies +├── .env.example # Environment template +├── run-server.sh # Setup script +├── tools/ +│ ├── chat.py # Marketing chat +│ ├── contentvariant.py # Variation generator ✨ NEW +│ ├── listmodels.py # Model listing +│ └── version.py # Version info +├── systemprompts/ +│ ├── chat_prompt.py +│ └── contentvariant_prompt.py ✨ NEW +├── providers/ # AI provider integrations +├── utils/ # Utilities +└── logs/ # Log files +``` + +## 🔧 Model Configuration + +**Default Model Strategy:** +- **Gemini 2.5 Pro** - Analytical work (styleguide, seooptimize, guestedit) +- **Gemini Flash** - Fast generation (subjectlines, quick variations) +- **Minimax M2** - Creative content (contentvariant, platformadapt) + +All models accessible via OpenRouter with single API key. + +## 📝 Testing Checklist + +- [ ] API keys configured in .env +- [ ] Local test: `./run-server.sh` runs without errors +- [ ] Claude Desktop can see zen-marketing server +- [ ] contentvariant tool generates 10+ variations +- [ ] Variations respect platform character limits +- [ ] Chat tool responds with marketing context + +## 🚀 Ready for Phase 2 + +The foundation is complete. Ready to implement the high-priority simple tools: +- subjectlines +- platformadapt +- styleguide +- factcheck + +All following the established patterns in contentvariant.py. diff --git a/tools/__init__.py b/tools/__init__.py index 0e071b0..ce2f40b 100644 --- a/tools/__init__.py +++ b/tools/__init__.py @@ -1,39 +1,22 @@ """ -Tool implementations for Zen MCP Server +Tool implementations for Zen-Marketing MCP Server """ -from .analyze import AnalyzeTool -from .challenge import ChallengeTool from .chat import ChatTool -from .codereview import CodeReviewTool -from .consensus import ConsensusTool -from .debug import DebugIssueTool -from .docgen import DocgenTool +from .contentvariant import ContentVariantTool from .listmodels import ListModelsTool -from .planner import PlannerTool -from .precommit import PrecommitTool -from .refactor import RefactorTool -from .secaudit import SecauditTool -from .testgen import TestGenTool -from .thinkdeep import ThinkDeepTool -from .tracer import TracerTool from .version import VersionTool +# Keep from Zen for strategic planning (useful for marketing) +# TODO: Import these when we copy them from zen-mcp-server +# from .thinkdeep import ThinkDeepTool +# from .planner import PlannerTool + __all__ = [ - "ThinkDeepTool", - "CodeReviewTool", - "DebugIssueTool", - "DocgenTool", - "AnalyzeTool", "ChatTool", - "ConsensusTool", + "ContentVariantTool", "ListModelsTool", - "PlannerTool", - "PrecommitTool", - "ChallengeTool", - "RefactorTool", - "SecauditTool", - "TestGenTool", - "TracerTool", "VersionTool", + # "ThinkDeepTool", # TODO: Add after copying from zen + # "PlannerTool", # TODO: Add after copying from zen ]