Skip to main content
Glama

EDI 834 MCP

Catch benefit enrollment errors before they reach the carrier.

U.S. employers send employee health, dental, vision and other benefit enrollments to insurance carriers as HIPAA X12 834 files. When a file has errors, the carrier rejects records or enrolls people wrongly. Workers often find out at the pharmacy or the doctor's office that their coverage is missing.

This MCP server lets Claude check 834 files the way an experienced benefits integration analyst would, locally, on your machine:

  • Validate a file against the 005010X220A1 standard and your carrier's companion-guide rules: 64 rules, each with a plain-English message and a fix.

  • Compare this week's file with last week's to catch dropped dependents, unintended terminations and tier changes before the carrier processes them.

  • Summarize what a file will do: adds, changes, terminations, coverage lines and tiers.

  • Explain any 834 code (relationship, maintenance type, coverage level...).

It works with 834 files from any system: Workday, ADP, UKG, Oracle, SAP SuccessFactors or in-house payroll. For Workday, it also guides the connector setup and tells you where in Workday to fix each problem.

Privacy by design

834 files contain names, Social Security numbers, birth dates and addresses.

  • Runs locally. No network calls. Files never leave your machine.

  • One folder only. The server reads files only inside the folder you set in EDI_834_DIR. Paths outside it are refused.

  • Masked by default. Results identify members as Member #12 (subscriber …1234, Child). Names appear only if you ask with show_pii. SSNs and birth dates are never returned.

  • Read-only. The server never edits or sends files.

See SECURITY.md.

Related MCP server: @validatefin/mcp

Tools

Tool

What it does

validate_834

Envelope, header, member and coverage checks with rule IDs, severities, segment positions and fixes. Accepts a carrier profile.

compare_834

Differences between two files, with full-file awareness: anyone missing from a replacement file is flagged as a potential termination.

summarize_834

Counts by action, coverage line and tier, plus sender, payer, file type and date. No PII.

explain_834_code

Meaning of any code, or a whole code table.

workday_834_setup_guide

Step-by-step setup of Workday's Cloud Connect for Benefits: ANSI X12 834 V2 connector, with pitfalls.

choose_workday_834_service

Picks the right 834 V2 transmission service from the carrier's requirements.

get_default_profile

The baseline settings a carrier profile can override.

The full rule list is in docs/rules.md.

Install

Requires Node.js 18+.

git clone https://github.com/hmzarshad-sys/edi-834-mcp.git
cd edi-834-mcp
npm install
npm test

Claude Code

claude mcp add edi-834 -e EDI_834_DIR="/path/to/your/834/files" -- node /absolute/path/to/edi-834-mcp/src/index.mjs

Claude Desktop

Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

{
  "mcpServers": {
    "edi-834": {
      "command": "node",
      "args": ["/absolute/path/to/edi-834-mcp/src/index.mjs"],
      "env": { "EDI_834_DIR": "/path/to/your/834/files" }
    }
  }
}

Restart Claude Desktop after saving.

Use it

"Validate outbound/acme_health_20260105.edi"

"Compare last week's Acme file with this week's. Did anyone lose coverage?"

"Summarize the dental file we're sending Friday"

"What does coverage level E1D mean?"

Example finding:

{
  "severity": "error",
  "rule": "TERM-NO-END",
  "segment": { "position": 41, "id": "HD" },
  "message": "Member #7 (subscriber …4821, Self), Health: termination (HD01=024) without a benefit end date (DTP*349).",
  "fix": "Send DTP*349 with the last day of coverage; without it the carrier cannot terminate correctly."
}

Workday: Cloud Connect for Benefits 834 V2

If your files come from Workday's Cloud Connect for Benefits: ANSI X12 834 V2 template:

  1. Set up the connector.

    "Walk me through setting up the Workday 834 V2 connector for Acme Health"

    workday_834_setup_guide covers the ISU and security group, the integration system, the transmission service, attributes, maps (INS02, DMG03, HD03, HD05), field attributes, population eligibility, overrides and delivery.

  2. Pick the transmission service.

    "Acme wants a full file every week and terminations reported once. Which service?"

  3. Test with the Debug Service. Launch for a few test workers, download the output from the integration event into EDI_834_DIR, then:

    "Validate acme_test.edi as a Workday 834 V2 file with profile profiles/acme.json"

    With platform: "workday_ccb_834_v2", each finding says where to fix it:

    {
      "rule": "HD05",
      "message": "Member #3 (subscriber …4821, Self), Health: HD05 coverage level \"EE+DP\" is not valid.",
      "where_to_fix": {
        "where": "Configure Integration Maps > Loop2300_HD05 (after Maintain Health Care Coverage Targets)",
        "how": "Map every coverage target to the carrier's code. If a target is missing from the map list, run Maintain Health Care Coverage Targets first."
      }
    }
  4. Compare runs with compare_834 before every send, especially with full-file services.

The full guide and fix table: docs/workday-ccb-834-v2.md.

Carrier profiles

Carriers publish companion guides that tighten the standard. Put their rules in a JSON file inside EDI_834_DIR and pass profile_path:

{
  "name": "Acme Health companion guide v3",
  "allowed_insurance_lines": ["HLT", "DEN", "VIS"],
  "allowed_coverage_levels": ["EMP", "ESP", "ECH", "FAM"],
  "require_group_number": true,
  "require_ssn": true,
  "max_retro_days": 60,
  "max_future_days": 120,
  "dependent_age_limit": 26
}

"Validate acme_20260105.edi with profile profiles/acme.json"

See examples/carrier-profile.example.json.

Limits

  • Checks the 834 structure and the business rules above. It is not a full SNIP Level 1–7 certification engine, and a clean result does not replace carrier acceptance testing.

  • Code lists cover the standard 005010X220A1 values most employers use; carrier-specific codes are reported as warnings or information, not errors.

  • Loop detection is built for employer-to-carrier enrollment files (one INS per member, HD loops for coverage).

Contributing

Issues and pull requests are welcome, especially:

  • carrier companion-guide rules that would make good profile options

  • real-world errors the validator missed (please describe the pattern; never attach real files)

Run npm test before opening a PR. Every rule needs a test that fires on bad input and stays silent on a clean file.

License

MIT. Copyright (c) 2026 Humza Arshad. See LICENSE.

X12 and ASC X12 are trademarks of the Accredited Standards Committee X12. Workday is a trademark of Workday, Inc. This project is not affiliated with or endorsed by X12 or Workday.

Available Tools

7 tools
choose_workday_834_serviceB

Pick the right CCB ANSI X12 834 V2 transmission service from what the carrier requires (change file or full file, and how terminations must be reported). Exactly one service may be enabled.

NameRequiredDescriptionDefault
file_typeYesDoes the carrier want only changes, or a full file every time?
history_daysNoLook-back days for ended coverages (Full File service).
terminate_byNoReport a termination per plan (default) or only when all plans of a plan type have ended.
terminationsNoFor full files: send ended coverages (yes, within a look-back window), never (no — carrier terminates by omission), or once per termination (once). Default yes.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. It discloses one useful constraint ('exactly one service may be enabled'), but leaves the central ambiguity unresolved: does the tool only recommend/choose a service, or does it enable/configure it and mutate state? Nothing is said about reversibility, prerequisites (e.g., needing an existing Workday connection), or the effect of switching services.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, verb-first, with the deciding criterion front-loaded before the exclusivity constraint. Dense domain jargon (CCB, ANSI X12 834 V2) is appropriate here and no sentence is filler, though the parenthetical is a bit compressed and could carry one more clarifying clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With four parameters (three enums), no annotations, and no output schema, the definition should say more about what happens after a service is chosen and what the caller receives. The description covers the selection criterion and the exclusivity rule but not the outcome, leaving the agent partially informed about a configuration-shaping tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters well; the baseline is 3. The description adds a little framing by tying 'change file or full file' to carrier requirements and by mentioning termination reporting, but it says nothing about history_days or the yes/no/once termination modes beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Pick') plus a specific resource ('CCB ANSI X12 834 V2 transmission service') and names the deciding inputs (change vs full file, termination reporting). An agent can tell this is a service-selection step rather than validation or summarization. It stops short of explicitly contrasting itself with siblings such as workday_834_setup_guide or get_default_profile.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'from what the carrier requires' — use it once the carrier's filing preference is known — and the 'exactly one service may be enabled' line implies a mutually exclusive choice. There is no explicit when-not guidance and no routing to the related siblings (setup guide, default profile) that an agent would need to sequence this correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_834A

Compare two 834 files for the same group (e.g. last week's and this week's) and report what changed: members added or missing, coverages added, terminated or missing, tier and plan changes, begin-date and demographic changes. When the new file is a full file (BGN08 RX or 4), members or coverages missing from it are flagged as potential unintended terminations — the most common cause of coverage gaps.

NameRequiredDescriptionDefault
new_fileYesLater file, relative to EDI_834_DIR
old_fileYesEarlier file, relative to EDI_834_DIR
show_piiNoInclude member names. Default false.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does disclose real behavioral logic: full-file detection via the BGN08 indicator and the resulting flagging of potential unintended terminations, plus why that matters (coverage gaps). It does not state that the operation is read-only/non-mutating, nor what the report output looks like structurally, nor how mismatched-group or missing-file inputs are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The scope and comparison intent are front-loaded in the first clause, and the enumerated change categories are compact rather than prose. The second sentence is dense with jargon (BGN08 RX or 4) that could slow an agent, but every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description does the work of describing the returned report by listing the change categories, which is largely sufficient for correct invocation. Gaps remain around output format/ordering, the PII toggle's effect on the report (only stated in the schema), and error behavior for cross-group comparisons.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine domain meaning beyond the schema — it explains how new_file is interpreted in terms of the BGN08 full-file indicator, which the schema's one-line "Later file, relative to EDI_834_DIR" does not convey. It adds nothing about old_file beyond ordering, which is already implicit in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Compare two 834 files") and then enumerates the exact change classes reported — members added/missing, coverages, tier and plan changes, begin-date and demographics. This makes it unmistakable that it is a diff tool rather than a validator (validate_834) or a single-file explainer (summarize_834).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear framing for when to use it: two files for the same group, e.g. last week's vs. this week's, and explains the specific condition under which missing members become meaningful (new file is a full file, BGN08 RX or 4). It stops short of explicit exclusions — it never says what to do if the files span different groups, or when to prefer summarize_834 instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_834_codeB

Explain an 834 code, or list a whole code table. Tables: relationship, maintenance_type, maintenance_reason, benefit_status, employment_status, insurance_line, coverage_level, date_qualifier, bgn_purpose, bgn_action, gender, id_qualifier.

NameRequiredDescriptionDefault
codeNoThe code to look up. Omit to list the table.
tableYesWhich code list

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full disclosure burden, and it does state the listing behavior when no code is given. However, it never confirms this is a pure read-only lookup with no side effects, and the omit-code behavior duplicates what the schema parameter description already says.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The dual-purpose statement is front-loaded and useful, but roughly half the text is a twelve-item table list that duplicates the schema enum verbatim, making the definition longer than necessary without adding information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple two-parameter lookup with no output schema, and the description plus the fully documented schema covers the essential mechanics. Only the absence of any note on return shape or case handling keeps it below full marks.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented, including the enum of tables and the omit-to-list rule. The description's enumeration of tables merely restates the schema enum rather than adding format, case-sensitivity, or fallback guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource pair ('Explain an 834 code') plus the alternate mode ('list a whole code table'), which is enough to tell it apart from siblings like validate_834 or summarize_834. It does not explicitly contrast itself with those siblings, which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the two-mode phrasing: supply a code to explain it, or omit the code to list a table. No explicit when-to-use/when-not guidance or named alternatives are given, leaving the agent to infer routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_default_profileB

Show the baseline validation settings that a carrier profile can override.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. 'Show' implies a read-only, side-effect-free operation and the mention of overridable defaults gives useful framing, but it says nothing about return format, whether the values are static, or any preconditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence with no filler, and the key concept (baseline settings that carrier profiles override) is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter getter the description covers the basic intent, but with no annotations and no output schema the agent has no idea what shape the returned settings take. That is a real gap, though a modest one given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the schema-coverage baseline is 4. There is nothing parameter-related the description could usefully add.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Show') and a specific resource ('baseline validation settings that a carrier profile can override'), which tells an agent this is a read of default configuration. It stops short of naming the 834 context or distinguishing itself from siblings like validate_834, so the differentiation is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance and no mention of alternatives. The phrase 'that a carrier profile can override' hints at a relationship to carrier-profile tools, but the agent must infer when to call this versus validate_834 or the setup tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summarize_834A

Summarize an 834 file without PII: sender/receiver, file date, full vs change file, sponsor and payer, member/subscriber/dependent counts, actions (adds, changes, terminations) and coverage lines and tiers.

NameRequiredDescriptionDefault
contentNoRaw 834 text, if the file is not on disk. Avoid pasting production data.
file_pathNoPath of the 834 file relative to EDI_834_DIR (preferred: the data never enters the conversation).

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does disclose a genuinely useful trait — output is produced 'without PII' — but it never states that the operation is read-only, what happens on a malformed or partial 834, or anything about output size or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with the verb, the privacy constraint, and the output contract in order of importance; nothing is filler. It becomes a long comma run in the middle of the field list, which slightly reduces scanability but each item is substantive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Low-complexity, no output schema, so the description correctly takes on the job of describing what is returned and does so thoroughly. The one gap is that neither parameter is required in the schema and the description never warns that at least one of file_path or content must be supplied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both 'content' and 'file_path' are already documented, including the preference for file_path so data stays out of the conversation. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (summarize) and resource (an 834 file) and then enumerates exactly what the summary contains: sender/receiver, file date, full vs change file, sponsor/payer, counts, actions, coverage lines and tiers. That enumeration makes it plainly distinct from validate_834 and compare_834 without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the verb 'summarize' — an agent can infer this is the first-pass inspection tool, but the description never says when to prefer it over validate_834 or compare_834, or that a file is needed before those siblings. No exclusions or sequencing guidance are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_834A

Validate a HIPAA X12 005010X220A1 (834) benefit enrollment file before it goes to a carrier. Checks the envelope (ISA/GS/ST counts and control numbers), header (BGN, sponsor, payer), every member (relationship, maintenance codes, subscriber ID, SSN structure, birth date, age limits) and every coverage (insurance line, coverage tier, begin/end dates, retro and future dates, terminations without end dates, employee-only tiers with dependents enrolled). Each finding has a rule ID, severity, segment position, plain-English message and fix. Names, SSNs and birth dates are never included unless show_pii=true. Pass a carrier profile (inline or profile_path) to apply companion-guide rules. Set platform="workday_ccb_834_v2" for files from Workday Cloud Connect for Benefits 834 V2: each finding then says where in Workday to fix it (map, attribute, service, security or data).

NameRequiredDescriptionDefault
contentNoRaw 834 text, if the file is not on disk. Avoid pasting production data.
profileNoCarrier companion-guide rules. See README "Carrier profiles".
platformNoSource system. "workday_ccb_834_v2" adds where_to_fix (Workday task or setting) to every finding.
show_piiNoInclude member names in messages. Default false.
file_pathNoPath of the 834 file relative to EDI_834_DIR (preferred: the data never enters the conversation).
max_findingsNoLimit findings returned (errors first). Default 200.
profile_pathNoJSON profile file relative to EDI_834_DIR, e.g. "profiles/acme-health.json".

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the finding shape (rule ID, severity, segment position, message, fix), that PII is redacted by default unless show_pii=true, and that the platform parameter adds where_to_fix metadata. It doesn't state what happens to a malformed or non-834 input, and max_findings truncation behavior is only in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then the check categories, then the output shape and the two behavioral modifiers. Dense but every sentence carries information; the long parenthetical check lists are slightly list-like but justified for a validator whose coverage matters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must explain return values, and it does concretely (rule ID, severity, segment position, message, fix, plus where_to_fix for Workday). For a seven-parameter tool some gaps remain — behavior on unparseable input and how max_findings interacts with severity ordering — but the agent has what it needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter already has documentation and the baseline is 3. The description adds only marginal meaning beyond the schema — that a profile may be inline or a profile_path, and what platform=workday_ccb_834_v2 changes in the output — without clarifying profile precedence when both are supplied or relative-path expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Validate a HIPAA X12 005010X220A1 (834) benefit enrollment file') and immediately scopes it ('before it goes to a carrier'). The enumeration of what is checked (envelope, header, members, coverage) makes the tool's remit unmistakable and clearly distinct from summarize_834, compare_834 and explain_834_code, which do different things to the same file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a real precondition ('before it goes to a carrier') and conditions that change behavior: pass a carrier profile for companion-guide rules, set platform="workday_ccb_834_v2" for Workday-sourced files. It does not explicitly say when to prefer a sibling (summarize_834, compare_834), but the pre-submission validation framing is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

workday_834_setup_guideA

Step-by-step setup of Workday's "Cloud Connect for Benefits: ANSI X12 834 V2" connector: ISU and security group, creating the integration system, choosing the transmission service, integration attributes, maps, field attributes, population eligibility and overrides, delivery, and the test loop with validate_834 and compare_834. Each section lists common pitfalls.

NameRequiredDescriptionDefault
sectionNoOne section, or "all" (default).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does well: it reveals this is static reference content per section, that pitfalls are included in each section, and that testing involves a loop with validate_834 and compare_834. It does not explicitly say the tool is read-only/returns no side effects or describe output shape, which is the remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the resource and lists sections in procedural order, followed by a useful note on pitfalls. It is slightly over-packed with a long comma list, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter documentation-retrieval tool with no output schema and no annotations, the description covers scope, section granularity, and companion tools. What is missing is an explicit note on return format (full guide text vs. per-section) and whether the guide is prescriptive or advisory.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the enum self-documents, so baseline would be 3. The description adds value by enumerating the section topics in order (security, integration system, transmission, attributes, maps, field attributes, population, transport, testing), which lets an agent map its problem to an enum value without guessing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (Workday's Cloud Connect for Benefits ANSI X12 834 V2 connector) and a specific deliverable (step-by-step setup guide), and enumerates the sections covered. It is clearly distinguishable from siblings like validate_834, compare_834, and choose_workday_834_service, which perform operations rather than document setup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the content: this is reference documentation to read when configuring the connector, and the final sentence points to validate_834 and compare_834 for the test loop. However, it never states explicitly when to read this versus calling choose_workday_834_service or get_default_profile, nor whether reading it is a prerequisite before the validation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.2.0
    • First observedchoose_workday_834_service
    • First observedcompare_834
    • First observedexplain_834_code
    • First observedget_default_profile
    • First observedsummarize_834
    • First observedvalidate_834
    • First observedworkday_834_setup_guide

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: validation, summarization, comparison, code explanation, setup guidance, service selection, and baseline profile inspection. The Workday-related tools are complementary rather than overlapping, so an agent can select the right one without confusion.

Naming Consistency4/5

Most names follow a readable snake_case verb_noun pattern, often with the 834 domain marker. The main deviation is workday_834_setup_guide, which is noun-led rather than verb-led, but overall the naming remains predictable and clear.

Tool Count5/5

Seven tools is well-scoped for an EDI 834 validation and Workday setup assistant. Each tool covers a meaningful workflow step without redundant or filler operations.

Completeness4/5

The surface covers core validation, inspection, comparison, code lookup, and Workday setup guidance well. A minor gap is profile management: agents can inspect default settings and pass profiles, but there is no tool to create, list, or edit carrier profiles.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Let AI agents read, validate and acknowledge EDI documents. Parses raw X12 and EDIFACT interchanges into structured JSON, validates envelope integrity, produces plain-language summaries, and generates 997 Functional Acknowledgments.
    4
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to parse, validate, summarize, and convert X12 EDI documents (such as 850 purchase orders and 810 invoices) into structured JSON through callable MCP tools.
    -