A powerful MCP server built with NitroStack
Add via Cursor Settings UI (Settings > Features > MCP > Add New MCP Server):
{
"mcpServers": {
// your other mcp servers
"ale-scm-server": {
"url": "https://ale-scm-6a64e78c-pied-piper-amrita-university-coimbatore.app.nitrocloud.ai/mcp"
}
}
}
Connect remote tools directly via Claude's Web UI:
Configure custom tools directly via ChatGPT's Web UI:
Add the following configuration block under mcpServers in your Antigravity configuration file (~/.gemini/config/mcp_config.json):
{
"mcpServers": {
// your other mcp servers
"ale-scm-server": {
"serverUrl": "https://ale-scm-6a64e78c-pied-piper-amrita-university-coimbatore.app.nitrocloud.ai/mcp"
}
}
}
Add the following configuration block to your Codex configuration file (~/.codex/config.toml):
[mcp_servers.ale-scm-server] url = "https://ale-scm-6a64e78c-pied-piper-amrita-university-coimbatore.app.nitrocloud.ai/mcp"
Connect directly using the Server-Sent Events endpoint:
https://ale-scm-6a64e78c-pied-piper-amrita-university-coimbatore.app.nitrocloud.ai/mcp
Retrieve real invoice processing analytics from the SQLite invoices table: total volume, auto-approved count, flagged count, exception count, straight-through-processing (STP) rate (%), average cycle time, and volume breakdown by date and vendor. Supports date range and vendor filters. IMPORTANT: This is the ONLY correct tool for retrieving the STP rate. Do NOT use system health checks, do NOT fabricate percentages. Always call this tool and read the "stpRate" field from the response. For today's data use filters: { dateFrom: "YYYY-MM-DD", dateTo: "YYYY-MM-DD" }.
Get a breakdown of workflow exceptions grouped by discrepancy type (price mismatch, quantity mismatch, missing PO, missing HS code), by resolution status, and by vendor. Use this to identify the root causes of processing failures.
Retrieve a performance scorecard for a specific vendor: total invoices processed, auto-approved vs flagged count, mismatch rate (%), open exceptions, and the 5 most recent invoice statuses.
Retrieve the full audit trail for a workflow run: every tool call, its input/output hash, status, duration, and timestamp. Use this to trace what happened during a specific invoice processing run.
Recalculate today's analytics_daily_summary row from raw invoice data. Call this after a batch of invoices has been processed, or schedule it every 15 minutes. Returns the date and timestamp of the refresh.
Classify an uploaded document as invoice, po, packing_list, or unknown. Uses the first 2 000 characters for speed. Returns docType and a confidence score.
Extract individual line items from invoice plain-text. Returns an array of objects with sku, description, quantity, unitPrice, and total. Typically called internally by extract_document_data.
Extract full structured invoice data from plain-text document content. Returns invoiceNumber, poNumber, vendor, invoiceDate, totalAmount, and lineItems.
Full ingestion pipeline: upload a Base64-encoded document (PDF, TXT, or similar), classify it, and — if it is an invoice — extract all structured data in one call. Pass file_content as a raw Base64 string or a data-URL (data:<mime>;base64,<data>). Returns { docType, confidence, invoice? } where invoice is populated for invoice documents.
Check whether a SKU / PO number pair exists in the master data store (SQLite Cloud). Pure lookup — no AI.
Return a recommended HS tariff code for a product. STUBBED — returns canned values. Real Claude call is Phase 2.
Enqueue an alert email for delivery. Returns immediately with a queueId — the alert is sent asynchronously by the background worker (SMTP or dry-run if SMTP is not configured). Use template "exception_flagged" for invoice exceptions, "task_routed" for task assignments, "invoice_approved" for approval confirmations, "sla_escalation" for SLA breaches. Track delivery status with get_alert_status.
Check the delivery status of a previously enqueued alert. Status lifecycle: queued → sending → sent | failed → dead_letter.
List the most recent alerts from the queue (newest first). Use this for operational visibility — see what was sent, what failed, what is queued.
Re-queue all failed and dead-lettered alerts back to "queued" status so the worker will attempt delivery again. Use this after fixing SMTP config or a transient network issue.
Compose and enqueue today's operations digest email. Includes invoice volume, auto-approval rate, STP rate, and open exception count. Call this at end-of-day or schedule it via a cron trigger.
Scan all open exceptions that have been unresolved past the SLA threshold (default 24 hours, configurable via SLA_ESCALATION_HOURS env var) and enqueue escalation alert emails. Idempotent — will not send duplicate escalations for the same exception on the same day. Schedule this every hour for continuous SLA monitoring.
Poll an IMAP inbox for unread operational emails. Extracts attachments (invoices, POs, shipping docs) and queues them for classify_document → execute_workflow processing. Requires IMAP_HOST, IMAP_USER, IMAP_PASS environment variables. Returns "not_configured" status gracefully if IMAP is not set up.
Run the full invoice processing SOP pipeline (sop_rules.yaml): classify → extract → compliance_check → validate_po → hs_code → match → process_ap_invoice. ALWAYS invoke this tool via a real tool call — never simulate or summarise results without calling it. Pass the plain-text (or base64) invoice document content. Possible status values returned in the output: "Auto-approved" (PO matched, AP record created), "Pending-approval" (above auto-approval threshold), "Duplicate" (invoice already processed), "Flagged" (price/qty mismatch — routed to finance_team), "exception" (vendor BLOCKED by compliance OR missing PO — routed to legal_team / procurement_team). The @Widget("invoice-result") React component handles ALL status variants including BLOCKED — do not generate alternative or speculative UI for any status. Output object includes: invoice, po, validationResult, hsCodeResult, complianceResult, apResult.
Retrieve the current status, step results, and output of a previously executed workflow run. Pass the workflowRunId returned by execute_workflow.
List all workflow runs executed in the current server session (most recent first).
Compare an extracted invoice against a purchase order. Returns match/mismatch/exception status with discrepancy details. Qty or price difference >1% is treated as a mismatch.
Log a workflow exception to the exceptions DB table.
Route a task to a stakeholder via email alert. Enqueues an email notification through the Communication module (queue-backed, async delivery). Use stakeholder as the recipient email address. Returns immediately — track delivery with the communication.get_alert_status tool.
Full AP Invoice Automation pipeline for a single invoice: (1) idempotency guard — re-running with the same idempotencyKey returns the cached result, (2) duplicate detection — same invoice/vendor/amount within 30 days is rejected, (3) FX conversion to USD using the fx_rates table, (4) three-way match (PO ↔ Goods Receipt ↔ Invoice) — degrades to two-way if no GR is logged, (5) approval threshold routing (auto / finance_manager / cfo). Writes to the invoices, invoice_line_items, and audit_log tables.
Standalone invoice-to-PO matching tool. If a goods receipt exists for the PO/SKU, performs a three-way match (PO ↔ GR ↔ Invoice). Falls back to two-way match when no GR is found. Does not write to the database — use process_ap_invoice for the full persisted pipeline.
Record a goods receipt against a purchase order. Once logged, subsequent process_ap_invoice or match_invoice_to_po calls for the same PO/SKU will automatically use this GR to perform a three-way match.
Look up the current status of a processed invoice by its invoice number. Returns the full invoice row from the database (status, amounts, timestamps, etc.).
List processed invoices from the database. Filter by status (e.g. auto_approved, pending_approval, mismatch, duplicate) and/or vendor. Supports pagination via limit and offset.
Return the current approval threshold configuration. Shows which approver role is required at each amount tier (auto / finance_manager / cfo).
Screens a vendor name against the denied parties list.