Bumblewick Support-Desk MCP Server
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., "@Bumblewick Support-Desk MCP ServerLook up customer Ivy's information and latest orders."
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.
Bumblewick Support-Desk MCP Server 🕯️
The example project for the "Give the Robot Hands" series — a small, safe, well-tested Model Context Protocol server for a fictional online candle shop, Bumblewick & Co.
It gives an AI assistant carefully-scoped "hands": it can look up orders, read a customer's file, search the help centre, and issue refunds — with every dangerous action fenced in by server-side rules. No real people, no real money.
Everything runs locally against a seeded SQLite database. Nothing leaves your machine.
What it exposes
Tools
find_orders(query)— look up orders by order id, customer id, or email (read-only)get_order(order_id)— one order, its refund history, and the refundable balance (read-only)search_help(query)— search the help centre (read-only)create_refund(order_id, amount_cents, reason, confirm=false, idempotency_key=None)— issue a refund (guarded write)
Resources
bumblewick://policy/refunds— the refund policy, as contextbumblewick://customer/{customer_ref}— a customer file (profile + orders)
Prompts
draft_apology(order_id, tone="warm")— a reusable support-reply template
Related MCP server: tessera-mcp
The safety rules (a.k.a. "don't give the robot a chainsaw")
create_refund refuses to misbehave, server-side:
Only shipped/delivered orders are refundable.
Never more than the remaining refundable balance (no over-refunds).
Amounts over the auto-approve limit return
needs_confirmationand do not execute until you re-call withconfirm=true(human-in-the-loop).A per-customer rate limit caps refunds within a rolling window.
An idempotency key makes retries safe — the same key returns the original refund, and reusing a key with different parameters is rejected (never a silent wrong-refund).
The check-and-write runs in one atomic transaction (
BEGIN IMMEDIATE), so two concurrent refunds can't both slip past the balance check.A non-empty reason is required, and every decision is written to an audit log on stderr (stdout is reserved for the JSON-RPC stream).
Quick start
# 1. Install (any of: pip, uv, poetry)
pip install -e ".[dev]"
# 2. Run the tests
pytest
# 3. Explore it in the MCP Inspector (opens a GUI to poke every tool)
mcp dev src/bumblewick_support/server.py
# 4. Or run it over stdio (for a client like Claude Desktop)
python -m bumblewick_support.serverFirst run seeds bumblewick.db with sample customers, candle orders, and help
articles. Delete the file to reset.
Connect it to Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"bumblewick": {
"command": "python",
"args": ["-m", "bumblewick_support.server"]
}
}
}Then ask: "Find Ivy's orders and refund the Vanilla Doom candle." Watch it use
find_orders, get_order, and create_refund — and watch it get politely
stopped when it tries to refund something it shouldn't.
Configuration
All settings are environment variables (prefix BUMBLEWICK_); see .env.example.
Variable | Default | Meaning |
|
| SQLite file path |
|
| auto-approve ceiling; above needs |
|
| max refunds per customer per window |
|
| rate-limit window |
Project layout
src/bumblewick_support/
server.py # thin MCP layer: tools, resources, prompts
services.py # SupportDesk — all business logic (testable, no MCP)
safety.py # pure refund-policy engine
db.py # SQLite data access
models.py # pydantic domain models
seed.py # deterministic sample data
config.py # env-driven settings
tests/ # pytest: safety, services, and server smoke testsThe golden rule the series teaches: keep the business logic out of the MCP
layer. server.py only wires things up; everything worth testing lives in
services.py and safety.py, so it's testable without a client.
License
MIT.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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.
Related MCP Connectors
The system of record for AI agent authority: playbooks, routed policy questions, reusable rules.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Deterministic runtime safety for AI agents: scan PII, gate tool actions, verify LLM output.
Enable AI assistants to interact seamlessly with Feeef e-commerce stores, products, and orders usi…
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to handle payment support tasks by orchestrating between Stripe and an internal orders database, with human approval required for refunds.-
- AlicenseAqualityBmaintenanceEnables AI agents to manage a fictional B2B workspace SaaS (Tessera) with tools for ticketing, invoicing, customer management, and trial extensions, featuring a human-in-the-loop confirm pattern for safety.714MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to independently investigate and resolve e-commerce order issues, particularly refund processing, with tools for order search, refund eligibility checks, and safe refund execution.-
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to check order statuses, retrieve FAQ policy answers via RAG, and create/manage support tickets, all based on the e-commerce support workflow in the repository.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/Saveanu-Robert/bumblewick-support-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server