# PHP Point of Sale Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## PHP Point of Sale

Check and manage inventory, sales, customers and expenses in your PHP Point of Sale store

- Record: https://musedirectory.ai/connector/php-point-of-sale
- Category: Shopping & Commerce
- Developer: usefulapi (https://usefulapi.io/php-point-of-sale/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 203ms, checked 2026-10-29T22:41:16Z
- Endpoint: https://php-point-of-sale.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T22:41:16Z)
- Source: Found in the official MCP Registry (io.usefulapi/php-point-of-sale) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fphp-point-of-sale

Connects to PHP Point of Sale systems. Muse can list and search inventory items, sales, customers, suppliers and expenses; run 138 reports on sales, inventory, profit and taxes; and create or update customers, items and expenses.

Example request: "Show me my top-selling items this month and how much profit I made"

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use PHP Point of Sale to help me. It is a free service with an MCP server at https://php-point-of-sale.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- phppos_list_locations: List the store's locations (shops/warehouses) with name, address, phone, email, time zone and default tax rates, plus each location's registers (id and name). Use the location ids to filter sales, expenses, customers and reports. Payment-processor credentials and device settings 
- phppos_list_items: List or search inventory items with name, item number, category, supplier, prices and reorder level. Search by text, or by one field (name, item_number, product_id, supplier, tag_name...). GET /items.
- phppos_get_item: One inventory item by id: prices, tax settings, category, supplier, tags, attributes, variations, tier pricing and per-location settings. GET /items/{id}.
- phppos_list_categories: List item categories with their ids. Use the ids to filter items or to file a new item. GET /categories.
- phppos_list_item_kits: List item kits (bundles of items sold together) with their prices. GET /item_kits.
- phppos_list_sales: List or search completed sales, by date range, customer (id or email) or location. verbosity: minimal (headline fields), medium (adds customer, totals, profit, location - the default here) or full (every line item, payment and tax). Suspended sales (layaways, estimates) are fetch
- phppos_get_sale: One sale by id with line items, payments, taxes, customer and employee (verbosity full by default). GET /sales/{id}.
- phppos_list_receivings: List receivings (stock received from suppliers, purchase orders, transfers) with supplier, totals and items, by date range. GET /receivings.
- phppos_get_receiving: One receiving by id: supplier, items, quantities, costs and payments. GET /receivings/{id}.
- phppos_list_customers: List or search customers with contact details, tier, store-account balance, credit limit and loyalty points. Search by text or by one field (email, phone_number, first_name, last_name, account_number). GET /customers.
- phppos_get_customer: One customer by person id: contact details, tier, tax settings, balance, credit limit, points, notes and custom fields. GET /customers/{person_id}.
- phppos_list_suppliers: List or search suppliers with contact details, company, account number and balance. GET /suppliers.
- phppos_get_supplier: One supplier by person id. GET /suppliers/{person_id}.
- phppos_list_employees: List employees with name, contact details, username, hire date, manager, commission and pay rate settings and assigned locations. Passwords and the permission maps are never returned. GET /employees.
- phppos_list_invoices: List customer invoices (money customers owe) or supplier invoices (money the store owes) with date, due date, status and amount. GET /invoices/customer or /invoices/supplier.
- phppos_list_expenses: List recorded expenses with type, description, date, amount, tax, payment type, category and location. GET /expenses.
- phppos_list_gift_cards: List gift cards with number, description, remaining value, customer and whether inactive. GET /giftcards.
- phppos_get_gift_card: One gift card by its card number (or id): remaining value, customer and status. GET /giftcards/{giftcard_number}.
- phppos_list_appointments: List appointments (bookings) with customer, employee, service, start and end time, optionally within a time window. GET /appointments.
- phppos_list_reports: The catalog of the store's reports (138 of them: sales summaries, top sellers, inventory low/aging/summary, profit and loss, taxes, payments, employee, customer, supplier and store-account reports) with the inputs each accepts. Without `search` only the report keys are returned; 
- phppos_run_report: Run one of the store's reports and return it (title, summary, detail rows); `paging.next_offset` is set when more detail rows remain. Report keys and their inputs come from phppos_list_reports (for example summary_sales, top_sellers, inventory_low, summary_profit_and_loss, summar
- phppos_create_customer: WRITE: create a customer in the store. Store-account balance, credit limit and loyalty points cannot be set here. Needs a Read/Write API key. Retrying creates a duplicate (check phppos_list_customers first). The store's 'new customer' webhook, if configured, fires. POST /customer
- phppos_update_customer: WRITE: change fields of an existing customer; only the fields you pass are sent. Overwrites the current values. Needs a Read/Write API key. The store's 'edit customer' webhook, if configured, fires. POST /customers/{person_id}.
- phppos_create_item: WRITE: create an inventory item (name required). Stock quantities are not set here. Needs a Read/Write API key. Retrying creates a duplicate (search with phppos_list_items first). The store's item webhooks, if configured, fire. POST /items.
- phppos_update_item: WRITE: change fields of an existing item (for example its price, category or active state); only the fields you pass are sent. Overwrites the current values, and a price change applies to the next sale. Needs a Read/Write API key. The store's 'edit item' webhook, if configured, f
- phppos_create_expense: WRITE: record an expense in the store's books (description, amount and date). It affects expense and profit-and-loss reports. Needs a Read/Write API key. Retrying records it twice (check phppos_list_expenses first). POST /expenses.

Screening checks:
- MCP handshake: pass (Answered in 203ms)
- Domain against threat feeds (Cloudflare security DNS): pass (php-point-of-sale.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (26 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
