ziggy-mcp
Allows searching emails, automating outreach, and reading unread emails.
Enables calendar sync to track meetings and follow-ups using Google Calendar.
Provides tools for managing revenue tracking, lead pipeline, knowledge matrix, task management, and analytics through a Google Sheet backend.
Allows browser automation for job search, proposal submission, and account management on Upwork.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ziggy-mcpShow me my revenue dashboard"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ziggy MCP
A Model Context Protocol (MCP) server that connects Claude AI to Google Sheets for automated revenue tracking, lead management, and business operations.
Features
๐ Dashboard: Real-time revenue metrics and KPIs
๐ฏ Lead Pipeline: Track prospects from first contact to close
๐ง Gmail Integration: Search emails and automate outreach
๐ Calendar Sync: Track meetings and follow-ups
๐ Knowledge Matrix: Development log with timestamp tracking
โ Task Management: Prioritize and track project tasks
๐ Analytics: Daily metrics and performance tracking
Related MCP server: Revenue Engine MCP
Prerequisites
Node.js 18.0.0 or higher
Google Account with Sheets and Gmail access
Claude Desktop or compatible MCP client
Google Apps Script (for backend API)
Playwright (for browser automation)
Installation
1. Clone the Repository
git clone https://github.com/yourusername/ziggy-mcp.git
cd ziggy-mcp2. Install Dependencies
npm run setup
# This installs Node packages AND Playwright browsersManual alternative:
npm install
npx playwright install chromium3. Set Up Google Sheets Backend
Create a new Google Sheet
Go to Extensions > Apps Script
Delete any existing code
Copy all files from
/apps-scriptdirectory:Code.js- Sheet setup scriptAPI.js- Main API handlerscalendarSync.js- Calendar integrationappsscript.json- Manifest
Click Save (disk icon)
Click Run > setupRevenueEngine
Authorize the script when prompted
Wait 30-60 seconds for completion
Deploy as web app:
Click Deploy > New deployment
Type: Web app
Execute as: Me
Who has access: Anyone
Click Deploy
Copy the Web app URL
4. Configure the MCP Server
Edit index.js and update the API URL:
const API_URL = "YOUR_GOOGLE_APPS_SCRIPT_WEB_APP_URL";5. Connect to Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"ziggy": {
"command": "node",
"args": ["/absolute/path/to/ziggy-mcp/index.js"]
}
}
}Replace /absolute/path/to/ziggy-mcp/ with your actual installation path.
6. Restart Claude Desktop
Quit and reopen Claude Desktop to load the MCP server.
Browser Automation Setup
Setting Up Authenticated Sessions
For Upwork, LinkedIn, and other platforms:
Step 1: Open browser in visible mode
Open Upwork in browser with visible modeStep 2: I'll open a browser window - YOU log in manually
Step 3: Save the session
Save browser session as "upwork"Step 4: Test it
Browse upwork.com using saved sessionSupported Platforms
โ Upwork - Job search, proposal submission
โ LinkedIn - Profile research, connection requests
โ Any website - Custom scraping and automation
Security Notes
Sessions stored locally in
sessions/folderNEVER commit session files to git
Sessions contain your auth tokens
Expire after ~30 days
Re-authenticate when needed
Usage
Basic Commands
Get Dashboard:
Show me my revenue dashboardView Pipeline:
What leads are in my pipeline?Add a Lead:
Add a new lead: Acme Corp, contact John Smith, email john@acme.comCheck Gmail:
Search my unread emailsLog Development Work:
Log to knowledge matrix: Fixed authentication bug in Gmail integration [45m]Knowledge Matrix
The Knowledge Matrix is a structured development log that tracks:
๐ Bugs & Fixes - Issues and resolutions
โจ Features Added - New functionality
๐งช Testing Results - Test outcomes
๐ฏ Decisions & Direction - Strategic choices
๐ Documentation Updates - Doc changes
๐ Next Session Goals - Future work
Write Entry:
Write matrix entry for Bugs & Fixes: "3:45pm EST ๐[BUG-001] Fixed Gmail auth timeout [30m]"Query Matrix:
Search matrix for "authentication"Daily Summary:
Generate matrix summary for todayBrowser Automation
Take Screenshot:
Take a screenshot of competitor-site.comExtract Data:
Extract pricing from acme.com/pricingFill Form:
Fill the contact form at example.com with lead data for John DoeResearch:
Browse to linkedin.com/company/acme and extract company infoAutomated Outreach (after session setup):
Search Upwork for "web automation" jobs and show top 5Project Structure
ziggy-mcp/
โโโ index.js # Main MCP server
โโโ package.json # Node dependencies
โโโ browser/ # Browser automation
โ โโโ playwright.js # Core browser functions
โ โโโ upwork.js # Upwork automation
โ โโโ linkedin.js # LinkedIn automation
โโโ apps-script/ # Google Apps Script files
โ โโโ Code.js # Sheet setup
โ โโโ API.js # API endpoints
โ โโโ calendarSync.js # Calendar integration
โ โโโ appsscript.json # Manifest
โโโ sessions/ # Saved browser sessions (gitignored)
โโโ screenshots/ # Captured screenshots (gitignored)
โโโ docs/ # Documentation
โ โโโ MATRIX.md # Knowledge Matrix guide
โ โโโ BUG-TRACKING.md # Bug tracking system
โ โโโ BROWSER-GUIDE.md # Browser automation guide
โโโ README.md # This fileSecurity & Privacy
All data stored in your Google Sheets
API calls authenticated through Google Apps Script
No external databases or third-party services
File system access restricted to project directory
Gmail read-only access (send requires explicit approval)
Troubleshooting
MCP Server Not Connecting
Check Claude Desktop config path is correct
Verify Node.js version:
node --version(should be โฅ18.0.0)Check console:
Cmd+Shift+Iin Claude DesktopVerify API_URL is set correctly in
index.js
Google Apps Script Issues
Ensure script is deployed as web app
Check execution permissions (should be "Anyone")
Re-authorize if needed: Run > setupRevenueEngine
Check Apps Script logs: View > Logs
Gmail Integration
Ensure Gmail API is enabled in Apps Script
Check OAuth scopes in
appsscript.jsonRe-authorize if permissions changed
Development
Running Locally
node index.jsManaging Apps Script
Install clasp for local Apps Script development:
npm install -g @google/clasp
clasp login
clasp pull # Download from Google
clasp push # Upload to GoogleDebugging
Enable debug logging in index.js:
const DEBUG = true;Logs written to debug.log in project directory.
Roadmap
Add Slack integration
Export reports to PDF
AI-powered lead scoring
Automated follow-up reminders
Invoice generation
Team collaboration features
Contributing
Fork the repository
Create a feature branch:
git checkout -b feature/amazing-featureCommit changes:
git commit -m 'Add amazing feature'Push to branch:
git push origin feature/amazing-featureOpen a Pull Request
License
MIT License - see LICENSE file for details
Support
๐ง Email: support@example.com
๐ฌ Issues: GitHub Issues
๐ Docs: Wiki
Acknowledgments
Built with Model Context Protocol
Powered by Claude AI
Google Sheets integration via Apps Script
Made with โค๏ธ for solopreneurs and small teams
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PromptishOperations/ziggy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server