MCP Universal EC E-Invoice Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EINVOICE_POS_ID | Yes | Your POS ID for Universal EC. | |
| EINVOICE_POS_SN | Yes | Your POS serial number for Universal EC. | |
| EINVOICE_BASE_URL | No | The base URL for the Universal EC e-invoice API. Use https://epostw.einvoice.com.tw/GetInvoice.ashx for test, or https://eposw.einvoice.com.tw/GetInvoice.ashx for production. | https://epostw.einvoice.com.tw/GetInvoice.ashx |
| EINVOICE_SELLER_ID | Yes | Your seller ID (Uniform Business Number) for Universal EC. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_system_timeA | Get the e-invoice server system time. Also serves as a connection test (Y01). |
| get_invoice_numbersA | Get invoice number allocation for the current period (A01). Returns track, start/end numbers, and QRCode AES key. |
| get_next_period_numbersB | Get invoice number allocation for the next period (C01). Returns track, start/end numbers, and QRCode AES key. |
| get_invoice_numbers_expandedC | Get invoice numbers expanded per-invoice with AESKEY for current period (Z21). Returns INVOICEDATA array with individual invoice numbers, AESKEY, and random numbers. |
| get_next_period_numbers_expandedB | Get invoice numbers expanded per-invoice with AESKEY for next period (Z22). Returns INVOICEDATA array with individual invoice numbers, AESKEY, and random numbers. |
| create_b2c_invoiceC | Create a B2C invoice using positional field format (C0401). Returns the API response. |
| create_b2c_invoice_namedB | Create a B2C invoice using named nested field format (C0401N). Returns the API response. |
| void_b2c_invoiceB | Void (invalidate) a B2C invoice (C0501). Returns the API response. |
| create_b2b_invoiceC | Create a B2B invoice using named nested format (A0401). Returns the API response. |
| void_b2b_invoiceC | Void (invalidate) a B2B invoice (A0501). Returns the API response. |
| create_b2b_exchange_invoiceC | Create a B2B exchange invoice (A0101). Seller address is mandatory. Item tax type field is DTaxType. Returns the API response. |
| void_b2b_exchange_invoiceB | Void (invalidate) a B2B exchange invoice (A0201). Returns the API response. |
| create_b2c_allowanceB | Create a B2C allowance using positional field format (D0401). Returns the API response. |
| create_b2c_allowance_namedB | Create a B2C allowance using named field format (D0401N). Returns the API response. |
| void_b2c_allowanceB | Void (invalidate) a B2C allowance (D0501). Returns the API response. |
| create_b2b_allowanceB | Create a B2B allowance (B0401). Seller address is mandatory. Returns the API response. |
| void_b2b_allowanceB | Void (invalidate) a B2B allowance (B0501). Uses Allowance wrapper. Returns the API response. |
| create_b2b_exchange_allowanceC | Create a B2B exchange allowance (B0101). Seller address is mandatory. Returns the API response. |
| cancel_invoiceC | Cancel (註銷) an invoice (C0701). Returns the API response. |
| batch_cancel_invoiceC | Batch cancel an invoice by re-submitting full invoice data with cancellation info (B0701). Returns the API response. |
| get_cancel_statusB | Get the cancellation status of an invoice (Z11). STATUSCODE: 1=completed, 2=pending, 3=failed. Returns the API response. |
| get_downloaded_track_rangesB | Get downloaded track ranges for an invoice period (Z31). Returns the API response. |
| get_assignment_infoC | Get invoice assignment info for a period (Z33). Returns the API response. |
| get_winning_listC | Download the winning invoice number list for a period (Z34). Returns the API response. |
| upload_next_period_tracksB | Upload next period invoice track allocation data (Z32). Returns the API response. |
| assign_branch_tracksB | Assign invoice track ranges to a branch (E0401). Returns the API response. |
| report_unused_tracksC | Report unused invoice track ranges back to the system (E0402). Returns the API response. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
Most tools have distinct purposes, but pairs like create_b2c_allowance and create_b2c_allowance_named differ only in field format, and get_invoice_numbers vs expanded versions may confuse agents. Overall, the set is well-disambiguated.
All tools follow a consistent verb_noun pattern with clear prefixes (create, void, cancel, get) and type qualifiers (b2b, b2c, allowance, invoice). Suffixes like '_named' and '_expanded' are used systematically.
27 tools is on the higher side, but the domain of e-invoice management requires many distinct operations for different transaction types, formats, and lifecycle stages. The count is justified given the comprehensive coverage.
The set covers creation, void, cancel, and number management well, but lacks a general tool to retrieve invoice details (e.g., get_invoice). Missing update operations are handled via exchange tools, but the absence of a retrieval tool is a notable gap.