Check and manage inventory, sales, customers and expenses in your PHP Point of Sale store
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.
Try asking Muse: "Show me my top-selling items this month and how much profit I made"
Source: Found in the official MCP Registry (io.usefulapi/php-point-of-sale) · First listed October 29, 2026
Each bar is one check, every 15 minutes. Green means it answered. Last checked 2 h ago.
What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.
Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.
musedirectory.ai is not part of Meta. More about how Muse handles your information
Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. 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.
https://php-point-of-sale.usefulapi.io/mcpNot in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
PHP Point of Sale is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.
In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).
Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.
Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.
Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.
Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT
In Claude, open Settings, then Connectors.
Choose Add custom connector, give it a name, and paste the link.
If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.
Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude
https://php-point-of-sale.usefulapi.io/mcpResponse time at the last check: 203ms. Worked in n/a of checks over 30 days.
Screened, no issues found
Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.
phppos_list_locationsList 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_itemsList 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_itemOne inventory item by id: prices, tax settings, category, supplier, tags, attributes, variations, tier pricing and per-location settings. GET /items/{id}.phppos_list_categoriesList item categories with their ids. Use the ids to filter items or to file a new item. GET /categories.phppos_list_item_kitsList item kits (bundles of items sold together) with their prices. GET /item_kits.phppos_list_salesList 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 fetchphppos_get_saleOne sale by id with line items, payments, taxes, customer and employee (verbosity full by default). GET /sales/{id}.phppos_list_receivingsList receivings (stock received from suppliers, purchase orders, transfers) with supplier, totals and items, by date range. GET /receivings.phppos_get_receivingOne receiving by id: supplier, items, quantities, costs and payments. GET /receivings/{id}.phppos_list_customersList 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_customerOne customer by person id: contact details, tier, tax settings, balance, credit limit, points, notes and custom fields. GET /customers/{person_id}.phppos_list_suppliersList or search suppliers with contact details, company, account number and balance. GET /suppliers.phppos_get_supplierOne supplier by person id. GET /suppliers/{person_id}.phppos_list_employeesList 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_invoicesList 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_expensesList recorded expenses with type, description, date, amount, tax, payment type, category and location. GET /expenses.phppos_list_gift_cardsList gift cards with number, description, remaining value, customer and whether inactive. GET /giftcards.phppos_get_gift_cardOne gift card by its card number (or id): remaining value, customer and status. GET /giftcards/{giftcard_number}.phppos_list_appointmentsList appointments (bookings) with customer, employee, service, start and end time, optionally within a time window. GET /appointments.phppos_list_reportsThe 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_reportRun 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, summarphppos_create_customerWRITE: 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 /customerphppos_update_customerWRITE: 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_itemWRITE: 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_itemWRITE: 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, fphppos_create_expenseWRITE: 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.https://php-point-of-sale.usefulapi.io/mcpNot 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.
At the last check (October 29, 2026, 22:41 UTC) the endpoint was working, answering in 203ms. It is checked every 15 minutes.
It was screened on October 29, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.
It exposes 26 tools, including phppos_list_locations, phppos_list_items, phppos_get_item, phppos_list_categories. For example, you could ask Muse: "Show me my top-selling items this month and how much profit I made"
This listing was added from public sources (Found in the official MCP Registry (io.usefulapi/php-point-of-sale)). If you build PHP Point of Sale, claim it to correct the details and get your badge.
Paste this on your site or README. It always shows the latest check.
<a href="https://musedirectory.ai/connector/php-point-of-sale"><img src="https://musedirectory.ai/badge/php-point-of-sale.svg" alt="PHP Point of Sale on musedirectory.ai" width="236" height="40"></a>