jagabukit-mcp
Provides read-only access to a Google Sheet containing reception data, with tools for querying recent messages, conversation history, bookings, villa searches, and reception statistics.
Click on "Deploy 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., "@jagabukit-mcpWhat are the latest reception messages?"
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.
jagabukit-mcp
A read-only MCP server over the JagaBukit reception Google Sheet — the same
append-only sheet the WhatsApp receptionist in ../jagabukit-backend
writes to. It lets any MCP client (Claude Desktop, Cursor, or a local Ollama-backed
agent) query the reception data through five tools.
Built as a Forward-Deployed-Engineer proof: when a client's system has no connector, you write the MCP server that gives an agent access to it. Here the "client system" is the reception sheet; the server exposes it without touching the production write path.
Why this shape
Read-only. The bot owns the append-only writes; this server never mutates the sheet. It mirrors
store.ts's exact column order (store.py), so the two never drift.Runs with zero credentials. The default source reads local CSV fixtures, so you can demo, test, and develop with no Google auth and no API spend (same credit-safe discipline as the backend's fakes). Flip one env var to read the live sheet.
Layered for testing. Pure parsing (
store.py) → queries (queries.py) → thin MCP tools (server.py). The tools are wrappers, so tests and the smoke script exercise the real logic without a running client.
Related MCP server: Hostaway MCP
Tools
Tool | Returns |
| Most recent conversation turns, newest first |
| Full ordered history for one phone number |
| Booked villa health-checks (future/undated by default) |
| Bookings + leads matching a villa name/area (e.g. "Bingin") |
| Counts: turns, unique contacts, leads, bookings |
Quick start
cd jagabukit-mcp
python -m venv .venv
.venv\Scripts\activate # Windows (source .venv/bin/activate on macOS/Linux)
pip install -r requirements.txt
# 1) Prove the data layer works — no model, no credentials:
python smoke.py
# 2) Run the tests:
pytest -q
# 3) Run the MCP server (stdio):
python server.pyPoint it at the live sheet
cp .env.example .env
# set in .env:
# JAGABUKIT_SHEET_SOURCE=google
# JAGABUKIT_SPREADSHEET_ID=<the reception sheet id>
# GOOGLE_APPLICATION_CREDENTIALS=./service-account.json (read access to that sheet)
pip install google-api-python-client google-authThe service account needs only the read-only Sheets scope. Share the sheet with the service account's email (Viewer) — no OAuth dance, it runs headless.
Connect it to a client
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"jagabukit-reception": {
"command": "python",
"args": ["C:/Users/Riska/Documents/Utamation/jagabukit-mcp/server.py"]
}
}
}Local / Ollama agent — this server speaks standard MCP over stdio, so any MCP-capable
client works. For a fully-local, no-API-cost loop, drive it from an Ollama-backed MCP client
(see the mcp_ai_agents examples in ../awesome-llm-apps). The server is model-agnostic —
whatever model the client runs, these five tools look the same.
Layout
store.py # pure row->dataclass parsing, mirrors jagabukit-backend store.ts
queries.py # business logic over a SheetSource (recent, history, bookings, search, stats)
sources.py # CsvSheetSource (default, offline) + GoogleSheetSource (live) + env picker
server.py # FastMCP server: 5 read-only tools wrapping queries
smoke.py # credit-safe: call every query directly and print results
fixtures/ # sample Conversation/Leads/Bookings/Reminders CSVs (fake Uluwatu data)
tests/ # pytest unit tests (deterministic, AAA)This server cannot be deployed
Maintenance
Related MCP Connectors
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with Google Sheets through natural language, allowing users to create, read, update, and manage spreadsheet data via the Google Sheets API v4.-
- AlicenseBqualityBmaintenanceA read-only hospitality-focused MCP server that enables users to retrieve reservation details, listing briefs, and guest conversation contexts from Hostaway. It simplifies hospitality workflows by providing specialized tools for searching threads and viewing reservation data through natural language interfaces.658 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for managing Google Sheets via 23 tools, enabling read/write, formatting, sheet management, and data operations through natural language.5 npm1MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Google Sheets operations, enabling spreadsheet management including reading, writing, appending, creating, and searching sheets via natural language.MIT