Wedding Planner MCP Server
A Model Context Protocol server that connects AI assistants to a Google Sheets wedding planner template for managing wedding budget, guest list, schedule, and more through natural language.
Ask AI about Wedding Planner MCP Server
Powered by Claude Β· Grounded in docs
I know everything about Wedding Planner MCP Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
π Wedding Planner MCP Server
A Model Context Protocol (MCP) server that connects AI assistants to a Google Sheets wedding planner template. Manage your wedding budget, guest list, schedule, and more β all through natural language via any MCP-compatible client.
β¨ Features
π To-Do & Coordination
| Tool | Description |
|---|---|
get_todos | Get all to-do items |
add_todo | Add a new to-do item |
update_todo | Update an existing to-do |
delete_todo | Delete a to-do item |
get_coordination | Get vendor coordination data |
update_coordination | Update vendor coordination |
π Schedule
| Tool | Description |
|---|---|
get_schedule | Get the wedding day schedule |
update_schedule | Update a schedule entry |
delete_schedule | Clear a schedule entry |
π° Budget (Full CRUD + Category Management)
| Tool | Description |
|---|---|
get_budget_summary | Budget estimator overview |
get_detailed_budget | All items from Detailed budget |
add_budget_category | Create new category (auto-clones formatting & formulas) |
update_budget_category | Rename category and/or update estimate |
delete_budget_category | Delete custom category (with protection for built-in categories) |
add_budget_item | Add item to a category (smart row insertion) |
update_budget_item | Update an existing budget item |
delete_budget_item | Delete a budget item |
π₯ Guest List
| Tool | Description |
|---|---|
get_guest_list | Get all guests with details |
add_guest | Add a new guest |
update_guest | Update guest info by row |
delete_guest | Delete a guest |
search_guests | Search by name, invitedBy, or any field |
get_guest_summary | Stats: total, attending, responses, by invitedBy |
π Invitations
| Tool | Description |
|---|---|
get_invitations | Get summary counts and vendor list |
add_invitation_vendor | Add a new vendor |
update_invitation_vendor | Update vendor details |
delete_invitation_vendor | Delete a vendor |
π Prerequisites
- Node.js β₯ 22
- Google Cloud Service Account with Sheets API access
- A Google Sheets spreadsheet based on the wedding planner template
β‘ Quick Start
1. Clone & Install
git clone https://github.com/kiboud/weddingplanner_mcp.git
cd weddingplanner_mcp
npm install
2. Configure
Create a .env file:
SPREADSHEET_ID=your_google_spreadsheet_id_here
GOOGLE_APPLICATION_CREDENTIALS=./gcp-service-account.json
PORT=8080
Place your GCP service account credentials as gcp-service-account.json in the project root.
3. Build & Run
npm run build
npm start
The server will start on http://localhost:8080 with:
- SSE endpoint:
http://localhost:8080/sse - Message endpoint:
http://localhost:8080/message
π³ Docker
Build & Run
docker compose up -d --build
docker-compose.yml
The included docker-compose.yml mounts the GCP credentials and exposes port 8080. Adjust the volume path to match your credential location:
volumes:
- /path/to/gcp-service-account.json:/root/.openclaw/workspace-wedding/gcp-service-account.json:ro
π Connect to an MCP Client
Gemini CLI / Antigravity
Add to your MCP config:
{
"mcpServers": {
"wedding-planner": {
"url": "http://localhost:8080/sse"
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"wedding-planner": {
"url": "http://localhost:8080/sse"
}
}
}
π Project Structure
weddingplanner_mcp/
βββ src/
β βββ index.ts # MCP server + tool registry
β βββ google-sheets.ts # Google Sheets API service layer
βββ build/ # Compiled JS (gitignored)
βββ Dockerfile
βββ docker-compose.yml
βββ tsconfig.json
βββ package.json
βββ .env # Config (gitignored)
π Security Notes
.envandgcp-service-account.jsonare gitignored β never commit secrets- Built-in budget categories (Ceremony, Reception, etc.) are protected from deletion
- Duplicate category names are rejected
π License
ISC
