buy_book
Purchase books from the Bookstore MCP Server by specifying book ID and quantity. Complete transactions to acquire desired titles directly through the system.
Instructions
Buy a book.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| book_id | Yes | ||
| quantity | No |
Implementation Reference
- src/bookstore_mcp/server.py:60-84 (handler)The buy_book tool handler function, decorated with @mcp.tool() for registration. It handles purchasing books by checking stock, updating count, and saving to JSON.@mcp.tool() def buy_book(book_id: int, quantity: int = 1): """Buy a book.""" if quantity <= 0: return {"success": False, "error": "Quantity must be > 0"} books = load_books() book = next((b for b in books if b["id"] == book_id), None) if not book: return {"success": False, "error": f"Book {book_id} not found"} if book["count"] < quantity: return {"success": False, "error": f"Only {book['count']} available"} book["count"] -= quantity if save_books(books): return { "success": True, "message": f"Purchased {quantity} of '{book['title']}'", } else: return {"success": False, "error": "Save failed"}