Reported issues for easypaydirect-mcp
Pod holds 11 of 11 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to easypaydirect-mcp.
Most discussed
Document Query API response fields in the docs
Summary
Our docs describe tool inputs well but not the response shape the Query API returns. A short reference of the common fields would help users know what to expect back.
Tasks
- Add a "Response fields" section to
docs/tools.md(or a newdocs/responses.md) summarizing the key fields per report type (transaction, subscription, plan, vault record) - Base it on the NMI Query API response docs (link them); use synthetic examples only
- Cross-link it from the to
Read the thread · 2026-07-06 · open · 2 comments
Add MCP client setup examples (Cursor, Windsurf, VS Code)
Summary
We document Claude Desktop and Claude Code. Let's add copy-paste setup for other MCP hosts so more people can use the server.
Tasks
- Add config snippets for Cursor, Windsurf, and VS Code (MCP) to
docs/getting-started.md - Add matching example files under
examples/, mirroringexamples/claude-desktop-config.json - Keep env-var guidance consistent (
NMI_SECURITY_KEY, optionalNMI_API_URL) and recommend a read-only key - (Optional) note any ho
Read the thread · 2026-07-06 · closed · 2 comments
Support reading the key from a file (NMI_SECURITY_KEY_FILE)
Summary
Allow the gateway key to be read from a file via NMI_SECURITY_KEY_FILE, in addition to NMI_SECURITY_KEY. This is the standard pattern for Docker secrets / Kubernetes / secret managers, where secrets are mounted as files rather than env vars.
Tasks
- In
src/config.ts, ifNMI_SECURITY_KEYis unset butNMI_SECURITY_KEY_FILEis set, read the key from that file path (trim trailing whitespace/newline) -
NMI_SECURITY_KEYtakes precedence if both are set - Keep the
Read the thread · 2026-07-06 · open · 0 comments
Add ESLint + Prettier
Summary
Add ESLint + Prettier so contributions stay consistently formatted and lint-clean — good hygiene now that the project is taking PRs.
Tasks
- Add ESLint (with
typescript-eslint) and Prettier as dev dependencies - Add a minimal config — recommended TypeScript rules + Prettier formatting (avoid over-strict rules that would churn the existing code)
- Add
"lint"and"format"scripts topackage.json - Run lint in CI (
.github/workflows/ci.yml) alongside typechec
Read the thread · 2026-07-06 · open · 0 comments
Add --version and --help CLI flags
Summary
Add --version and --help flags so users can sanity-check the install without wiring up an MCP client. npx easypaydirect-mcp --version is a common expectation.
Tasks
- In
src/index.ts, handle--version/-v(print the package version) and--help/-h(print short usage + the env vars), then exit 0 — before starting the stdio server - Keep no-arg behavior unchanged (start the MCP server over stdio)
- Read the version without hard-coding it (import `package.js
Read the thread · 2026-07-06 · open · 0 comments
Publish to npm automatically on GitHub Release
Summary
Automate npm publishing so a new GitHub Release publishes the package — no manual npm publish + OTP each time.
Tasks
- Add
.github/workflows/publish.ymltriggered onrelease: published - Steps: checkout →
setup-nodewith the npm registry →npm ci→npm run build→npm publish --provenance --access public - Read the token from an
NPM_TOKENrepo secret (an automation token — bypasses 2FA) - Enable [npm provenance](https://docs.npmjs.com/generating
Read the thread · 2026-07-06 · open · 0 comments
Add a Dockerfile + container usage docs
Summary
Package the server as a container so it can run with docker run instead of requiring a local Node install — handy for self-hosting and CI.
Tasks
- Add a small
Dockerfile(Node 20-slim base) that builds and runs the server over stdio - Keep it lean with a multi-stage build (build with dev deps; ship only
dist/+ prod deps) - Document usage in
docs/getting-started.md, passing env vars (-e NMI_SECURITY_KEY=... -e NMI_API_URL=...) - Note the stdio caveat: MCP
Read the thread · 2026-07-06 · open · 0 comments
Add merchant-defined-field filters (1–20) to search_transactions
Summary
The NMI Query API supports filtering transactions by merchant-defined fields (merchant_defined_field_1 … merchant_defined_field_20). docs/nmi-api-mapping.md already lists this as a planned addition — let's add it to search_transactions.
Tasks
- Add an optional input to
search_transactionsfor merchant-defined fields. Suggested shape: a record likemerchant_defined_fields: { "1": "value", "7": "value" }mapped tomerchant_defined_field_#=value(open to a simpl
Read the thread · 2026-07-06 · open · 0 comments
Most recent
Surface Query API errors clearly (auth / invalid key / response codes)
Summary
Improve how the server reports gateway errors. Today a bad/missing key or an error response surfaces as a generic message — let's parse the Query API's error signals and return actionable text.
Background
src/client.ts already throws NmiQueryError and treats a non-XML body as an error (usually an auth failure). We can go further and map common failure modes + NMI response codes to clear messages.
Tasks
- In
src/client.ts, detect error responses and produce action
Read the thread · 2026-07-06 · open · 0 comments
Accept ISO-8601 / friendly dates in date filters (auto-convert to NMI format)
Summary
Date filters currently require NMI's YYYYMMDDhhmmss format (e.g. 20260101000000), which is awkward — especially for LLM callers. Let's also accept ISO-8601 (and plain YYYY-MM-DD) and convert automatically.
Why
Models naturally produce ISO dates. Accepting them — while still accepting the raw NMI format — is a real usability win.
Tasks
- Add a small helper
toNmiDate(input: string): string(e.g.src/dates.ts) that:- passes through strings already in `YYYYMMDDhhm
Read the thread · 2026-07-06 · open · 0 comments
Add a unit-test suite with recorded Query API fixtures
Summary
The project currently has no tests. A small unit-test suite gives contributors a safe way to verify changes — and it's a great first contribution.
Why
src/client.ts parses the Query API's XML → JSON, and each tool maps inputs to Query API params. Both are easy to unit-test with a mocked fetch and recorded response fixtures — no live gateway needed.
Tasks
- Add Vitest as a dev dependency and a
"test"script inpackage.json - Add `te
Read the thread · 2026-07-06 · open · 0 comments
The remaining reports are on the project's issue tracker.