Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
ChowDeck MCP by Nova (CIVAI) is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Order food on ChowDeck: browse restaurants, set your delivery address, build a cart, and check out…
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http chowdeck-mcp-by-nova-civai https://nova.civai.co/mcp/agents/mcp-bgpt-chowdeck
# 2 — ask your agent for something these tools do
# request_login_otp, verify_login_otp, fetch_customer_settings and 21 more
ChowDeck MCP by Nova (CIVAI) costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http chowdeck-mcp-by-nova-civai https://nova.civai.co/mcp/agents/mcp-bgpt-chowdeckReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
24 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Send ChowDeck login SMS (validate phone → auth/login). Does not accept OTP. Ask the user for their phone first, then for the SMS code, then call verify_login_otp.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_2_body_phone | string | yes | User-provided phone without country prefix (local NG format like 080…). Never invent or reuse another account's number. |
| step_2_body_country_code | string | no | Country code (e.g. NG) |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Complete ChowDeck login with SMS code (validate phone → validate OTP → refresh token). Does not send a new SMS.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_2_body_phone | string | yes | Same phone used in request_login_otp |
| step_2_body_country_code | string | no | Country code (e.g. NG) |
| step_5_body_otp | string | yes | SMS one-time code from the user |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Public customer app config (no auth). Good session probe.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
View current cart contents.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Run the get_addresses pipeline.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Run the get_payment_methods pipeline.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Run the list_orders_success pipeline.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Run the get_order_details pipeline.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Run the get_customer_survey pipeline.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Set active delivery address and fetch chowsmart menu for that address.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_37_body_address_id | string | yes | Address id to set as active (from get_addresses) |
| step_37_body_addressId | string | no | Same address id (duplicate field in API body) |
| step_38_url_query_address_id | string | yes | Same address id for menu fetch |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Featured and tagged vendors near a delivery address.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_40_url_query_address_id | string | yes | Active delivery address id (from get_addresses or set_active_address) |
| step_40_page | integer | no | Page number for featured vendors (default 1). Use when user asks for more vendors or next page. |
| step_40_page_size | integer | no | Vendors per page (default 25, max 100) |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Run the get_chowpass_status pipeline.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Run the search_menu_by_address pipeline.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Search vendors/products by name near a delivery address. Each data[] entry: id = vendor id; products[].id = menu item id when present. If products[] empty, call view_vendor_items next.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_52_url_query_query | string | yes | Product search term (e.g. jollof, omeprazole, Daytona) |
| step_52_url_query_address_id | string | yes | Delivery address id from get_addresses — never ask user to type the number. |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Run the get_country_list pipeline.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
View cart for one vendor (vendor-specific checkout view).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_60_url_path_3 | string | yes | Vendor id (from search_product, view_cart data[].vendor_id, or featured vendors) |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Remove one line item (pack) from a vendor cart. POST /customer/cart/vendor/{vendor_id} with quantity 0. Run view_vendor_cart first — pass menu line ids from data.cart_items[] (type menu). Side-effect.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_56_url_path_3 | string | yes | Vendor id (view_vendor_cart → data.vendor_id or same vendor as cart) |
| step_118_body_address_id | string | yes | Delivery address id from view_vendor_cart → data.address_id |
| step_118_body_items_0_item_id | string | yes | Menu item id from view_vendor_cart → data.cart_items[].item_id (type menu line) |
| step_118_body_items_0_cart_item_id | string | yes | Cart line id from view_vendor_cart → data.cart_items[].id |
| step_118_body_items_0_pack_reference | string | yes | Pack UUID from view_vendor_cart → data.cart_items[].pack_reference |
| step_7_body_data_0_cart_items_0_type | string | no | Must be menu for food lines (default menu) |
| step_118_body_class | string | no | Order class from cart — usually delivery |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Increase quantity by duplicating one pack (configured line item). POST /customer/cart/{cart_id}/pack/{pack_reference}/duplicate. Run view_vendor_cart first. Side-effect.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_66_url_path_2 | string | yes | Cart id from view_vendor_cart → data.id |
| step_66_url_path_4 | string | yes | Pack reference UUID from view_vendor_cart → data.cart_items[].pack_reference for the line to duplicate |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Delete/clear the entire cart for one vendor (all items). Requires cart id from view_vendor_cart response data.id — not vendor id. Side-effect: use when user wants to empty cart or before re-adding after 'Active cart already exists'.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_176_url_path_2 | string | yes | Cart id to delete (view_vendor_cart → data.id, or view_cart → data[].id for matching vendor) |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Load a vendor menu. Pass vendor id from search_product data[].id as step_58_url_path_2 before add_item_to_cart when search products[] is empty.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_58_url_path_2 | string | yes | Vendor id from search_product data[].id for the restaurant the user picked. |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Add an item to cart. Requires vendor id + menu item id from search_product (products[]) or view_vendor_items. Always pass item type menu.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| step_37_body_address_id | string | yes | From get_addresses after user confirms pretty_name — never ask user to type this. |
| step_37_body_addressId | string | no | Same value as step_37_body_address_id. |
| step_47_body_vendor_id | string | yes | Vendor id: search_product data[].id OR view_vendor_items vendor. Not the menu item id. |
| step_61_body_items_0_item_id | string | yes | Menu item id: search_product data[].products[].id OR view_vendor_items menu item id. |
| step_57_body_data_0_products_0_name | string | no | Display name of the menu item from search/menu response. |
| step_7_body_data_0_cart_items_0_type | string | no | Always menu for food items (never container). Omit to use default menu. |
| step_61_body_items_0_quantity | string | no | Quantity (default 1). |
| step_61_body_items_0_pack_reference | string | no | Pack reference if required; else empty string. |
| step_61_body_items_0_price_per_quantity | string | no | Unit price in kobo from menu/search response. |
| step_61_body_items_0_discount_price | string | no | Discount price in kobo; same as price_per_quantity if no discount. |
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Retrieve the user's wallet balance.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Fetch delivery fee details for an order.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
Place order with Pay for me — returns pay_for_me_url for the user to complete payment in browser.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| notification_message | string | no | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install ChowDeck MCP by Nova (CIVAI) or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| request_login_otp | external-sink | external-sink: keyword "sms" |
| verify_login_otp | external-sink | external-sink: keyword "sms" |
| fetch_customer_settings | untrusted-input | untrusted-input: keyword "fetch" |
| view_cart | no tags | |
| get_addresses | no tags | |
| get_payment_methods | no tags | |
| list_orders_success | no tags | |
| get_order_details | no tags | |
| get_customer_survey | no tags | |
| set_active_address_and_fetch_menu | untrusted-input | untrusted-input: keyword "fetch" |
| get_featured_vendors | no tags | |
| get_chowpass_status | no tags | |
| search_menu_by_address | no tags | |
| search_product | no tags | |
| get_country_list | no tags | |
| view_vendor_cart | no tags | |
| remove_cart_item | no tags | |
| duplicate_cart_pack | no tags | |
| clear_vendor_cart | no tags | |
| view_vendor_items | no tags | |
| add_item_to_cart | no tags | |
| view_wallet_balance | no tags | |
| get_delivery_amount_for_order | untrusted-input | untrusted-input: keyword "fetch" |
| place_order | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish ChowDeck MCP by Nova (CIVAI) can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.