Ale Scm Server

v1.0.0

A powerful MCP server built with NitroStack

Connection Setup

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:

Add custom connector BETA
Connect Claude to your data and tools. Learn more about connectors or get started with pre-built ones.
Advanced settings
Only use connectors from developers you trust. Anthropic does not control which tools developers make available and cannot verify that they will work as intended or that they won't change.

Configure custom tools directly via ChatGPT's Web UI:

New App
PNG only. Best results at 256 x 256 px or larger. Max file size: 10 KB
Custom MCP servers introduce risk. Learn more
OpenAI hasn't reviewed this MCP server. Attackers may attempt to steal your data or trick the model into taking unintended actions, including destroying data.

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
Available Tools
analytics_get_invoice_analytics

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" }.

analytics_get_exception_breakdown

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.

analytics_get_vendor_scorecard

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.

analytics_audit_transaction

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.

analytics_refresh_analytics_summary

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.

ingestion_classify_document

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.

ingestion_extract_invoice_line_items

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.

ingestion_extract_document_data

Extract full structured invoice data from plain-text document content. Returns invoiceNumber, poNumber, vendor, invoiceDate, totalAmount, and lineItems.

ingestion_ingest_document

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.

master_data_validate_against_master_data

Check whether a SKU / PO number pair exists in the master data store (SQLite Cloud). Pure lookup — no AI.

master_data_recommend_hs_code

Return a recommended HS tariff code for a product. STUBBED — returns canned values. Real Claude call is Phase 2.

communication_send_alert

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.

communication_get_alert_status

Check the delivery status of a previously enqueued alert. Status lifecycle: queued → sending → sent | failed → dead_letter.

communication_list_recent_alerts

List the most recent alerts from the queue (newest first). Use this for operational visibility — see what was sent, what failed, what is queued.

communication_retry_failed_alerts

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.

communication_send_daily_digest

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.

communication_check_sla_escalations

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.

communication_ingest_email_inbox

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.

orchestrator_execute_workflow

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.

orchestrator_get_workflow_status

Retrieve the current status, step results, and output of a previously executed workflow run. Pass the workflowRunId returned by execute_workflow.

orchestrator_list_workflow_runs

List all workflow runs executed in the current server session (most recent first).

orchestrator_match_invoice_to_po

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.

orchestrator_flag_exception

Log a workflow exception to the exceptions DB table.

orchestrator_route_task

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.

ap_invoice_process_ap_invoice

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.

ap_invoice_match_invoice_to_po

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.

ap_invoice_log_goods_receipt

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.

ap_invoice_get_invoice_status

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.).

ap_invoice_list_invoices

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.

ap_invoice_get_approval_thresholds

Return the current approval threshold configuration. Shows which approver role is required at each amount tier (auto / finance_manager / cfo).

compliance_screen_vendor

Screens a vendor name against the denied parties list.