SignalEDI MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SIGNALEDI_API_KEY | No | Workspace key with the 'platform' scope for send/partner/QBO tools. If not set, the server runs in demo mode. | |
| SIGNALEDI_BASE_URL | No | Base URL for the SignalEDI API. Defaults to https://signaledi.com. | https://signaledi.com |
| SIGNALEDI_MCP_TELEMETRY | No | Set to '0' to disable local metric lines (redacted per-tool latency/success metrics to stderr). |
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 | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| parse_ediB | Parse a raw X12 EDI interchange (e.g. an 850 purchase order, 810 invoice, or 856 ASN) into structured JSON plus a validation summary. Pass the full raw EDI text including the ISA/GS envelope. Read-only or local operation. |
| validate_ediA | Validate a raw EDI interchange against X12 structural rules. Returns a validation summary (valid flag, errors, transaction set, control number, segment count) without the full parsed JSON. Read-only or local operation. |
| send_outbound_documentA | Send an outbound EDI document to a trading partner. SignalEDI serializes the JSON payload into valid EDI and delivers it; the call returns a document id and status and is acknowledged asynchronously via webhook. Required scopes: edi:write. Requires confirm:true and idempotencyKey. |
| list_transactionsA | List your recent EDI transactions (newest first), scoped to the API key. Each row includes the transaction set, direction, status, partner, and SLA flag. Read-only or local operation. |
| get_transactionA | Fetch a single EDI transaction you own by id, with its full lifecycle status (created/processed timestamps, partner, error message, SLA). Read-only or local operation. |
| quickbooks_statusA | Get the QuickBooks Online connection status for your workspace — whether QBO is connected, the masked realm id, environment, and any last error. No tokens are returned. Read-only or local operation. |
| quickbooks_sync_to_qboA | Push EDI transactions INTO QuickBooks Online (810→Invoice, 850→Bill, 835→Payment). Provide exactly one of: transactionId (one), transactionIds (up to 50), or all:true (every eligible, not-yet-synced transaction). QBO creates are de-duplicated against prior successful syncs. Required scopes: qbo:write. Requires confirm:true and idempotencyKey. |
| quickbooks_export_to_ediA | Pull QuickBooks entities and emit them as outbound EDI to a trading partner (Invoice→810, PurchaseOrder→850). Use dryRun:true to preview the mapped payloads without sending. partnerId is required unless dryRun. Required scopes: qbo:write, edi:write. Requires confirm:true and idempotencyKey. |
| quickbooks_list_entitiesA | List QuickBooks entities for preview/mapping: Invoice, PurchaseOrder, Customer, Vendor, or Item. Returns the QBO rows as-is (no tokens). Read-only or local operation. |
| quickbooks_disconnectA | Disconnect QuickBooks Online for your workspace — revokes the OAuth grant at Intuit and removes the connection. Irreversible without reconnecting. Required scopes: qbo:write. Requires confirm:true and idempotencyKey. |
| list_partner_kitsA | List packaged SignalEDI API kits (retail, healthcare, quickstart) from GET /api/v1/kits. Requires a platform-scoped API key. Read-only or local operation. |
| get_partner_kitA | Fetch one API kit by kitId from the /api/v1/kits catalog (structured endpoints, webhook events, sample payloads). Requires a platform API key. Read-only or local operation. |
| explain_edi_errorA | Explain an EDI validation or functional-ack error using the local X12 dictionary (meaning, typical cause, fix, lookup_x12 cross-refs). Never calls the network; works in demo mode. Read-only or local operation. |
| generate_test_documentA | Render a synthetic X12 sample for 850, 810, 856, or 837 with optional control number, PO, and date overrides. Local only; works in demo mode. Read-only or local operation. |
| lookup_x12A | Search the local X12 dictionary by segment id, ack code, or free text (segment names and purposes). Local only; works in demo mode. Read-only or local operation. |
| validate_x12_structureA | Alias for validate_edi — validate a raw X12 interchange structure and return a validation summary. Read-only or local operation. |
| parse_segmentsA | Alias for parse_edi — parse raw X12 into structured JSON plus validation summary. Read-only or local operation. |
| lookup_element_definitionA | Alias for lookup_x12 — search segment maps and ack codes (850/810/856/837 dictionaries). Read-only or local operation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| onboard-partner | Step-by-step partner onboarding using MCP tools. |
| debug-rejection | Diagnose a functional ack or validation rejection. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| SignalEDI MCP quickstart | Install, configure, and first prompts for the MCP server. |
| SignalEDI OpenAPI | Live /api/v1 OpenAPI document from the hosted engine. |
| X12 reference | Segment and acknowledgement code reference used by explain_edi_error. |
TDQS
Scored across 18 tools
Three pairs of tools are explicit aliases (validate_edi/validate_x12_structure, parse_edi/parse_segments, lookup_x12/lookup_element_definition), creating redundant duplicates that an agent cannot easily distinguish. Additionally, parse_edi and validate_edi have closely related purposes, further blurring boundaries. This makes tool selection ambiguous.
Most tools follow a snake_case verb_noun pattern (e.g., parse_edi, get_transaction), but the aliases break consistency by introducing different names for the same operation. The quickbooks_ prefix is used only for a subset of tools, creating a mixed prefix convention. Overall, the pattern is readable but not perfectly predictable.
With 18 tools, the count is slightly above the ideal range, and three redundant aliases inflate the number without adding functionality. The core set of 15 unique tools is reasonable for the server's scope, covering EDI operations, QuickBooks sync, and reference lookups.
The server covers the main EDI lifecycle (parse, validate, send, track) and QuickBooks integration (status, sync, export, list, disconnect), which are the core workflows. Missing partner management and inbound acknowledgement handling are minor gaps that can be worked around via existing tools or webhooks.