Skip to content

nirium-mcp needs viem installed by hand (missing peer of mppx, not covered by peerDependenciesMeta) #118

Closed

Description

@Eras256

nirium-mcp fails to start unless viem is installed by hand, on a normal npm install (not just with --legacy-peer-deps).

Chain: nirium-mcp@0.6.1 depends on mppx@^0.6.31, whose package.json lists viem: ">=2.51.0" under peerDependencies. Its peerDependenciesMeta marks @modelcontextprotocol/sdk, elysia, express and hono as optional: true, but not viem, so npm treats it as a required peer and does not auto-install it even on npm 7+.

mppx really imports it: node_modules/mppx/dist/evm/client/Charge.js:1 has import { getAddress, parseUnits } from 'viem'. That is the EVM side of mppx (its Stellar side is what nirium-mcp calls), but loading the module still runs that import, so the process fails to start.

Repro:

cd packages/mcp && rm -rf node_modules package-lock.json
npm install
npm ls viem   # empty
node dist/index.js   # ERR_MODULE_NOT_FOUND: viem

Proposed fix (not done): add "viem": "^2.x" to dependencies in packages/mcp/package.json (or to nirium-mcp's own peerDependencies with viem listed and required), so a plain npm install works. Not fixing in this issue, scope kept separate from #117.

🤖 Generated with Claude Code

Activity

  1. Ranjeet2063 commented on Oct 12, 2026

    @Ranjeet2063
    Contributor

    Hello maintainers,

    I reviewed this issue and would like to work on it.

    Technical Implementation Outline:

    1. Perform an architectural review of the target module and boundary requirements.
    2. Implement the required functionality cleanly with defensive checks.
    3. Add focused test coverage for standard flows and edge failure modes.
    4. Ensure all linter checks, formatting, and CI pipelines pass cleanly.

    Please assign this issue to me. I will submit a clean, well-tested, and production-ready PR promptly!

  2. added a commit that references this issue on Oct 14, 2026
    ac974e6
  3. added
    bugSomething isn't working
    dependenciesPull requests that update a dependency file
    on Oct 21, 2026
  4. Eras256 commented on Oct 31, 2026

    @Eras256
    CollaboratorAuthor

    Thanks for the interest. No plan came in, so this one goes to @fernando-mendoza, who already built the CI for packages/mcp (#144) and knows its clean-install check. If you want to help, reply on any open Niriumtober issue with a short plan: which files you would touch and how you would test it.

    Written with Claude Code.

  5. Eras256 commented on Oct 31, 2026

    @Eras256
    CollaboratorAuthor

    Correction to my comment above: this issue already has an open fix, #124 by @maxx-GENIUS (opened Oct 11, adds viem as a direct dependency of packages/mcp). I missed it, so I assigned the issue by mistake and said that no plan had come in. That was wrong. I removed the assignment. @fernando-mendoza will review #124, and it can be merged from there once it checks out.

    Written with Claude Code.

  6. added a commit that references this issue on Nov 4, 2026
  7. added a commit that references this issue on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions