Skip to content

feat: introduce @node-i3x/mcp server and upgrade monorepo dependencies - #2

Merged
erossignon merged 2 commits into
mainfrom
feat/mcp-server-and-deps-upgrade
Oct 25, 2026
Merged

erossignon merged 2 commits into
mainfrom
feat/mcp-server-and-deps-upgrade

Conversation

@erossignon

Copy link
Copy Markdown
Member

Summary

This PR introduces @node-i3x/mcp, an implementation of Anthropic's Model Context Protocol (MCP) for industrial automation and i3X REST gateways, and brings all monorepo dependencies up to date with Biome 2.6.3, Vitest v5, and tsup v9.

Key Highlights

1. @node-i3x/mcp Server Package

  • Composite 1-Turn Diagnostics Tools:
    • i3x_connect: Dynamically connect or switch to target i3X gateway URL and Bearer token at runtime without client restarts.
    • i3x_inspect_asset: Single-turn complete asset diagnostic (identity, ObjectType schema, sub-components, and live VQT telemetry).
    • i3x_explore_plant_hierarchy: ISA-95 plant topology traversal with cycle protection.
    • i3x_query_telemetry: Current VQT & historical trends with pre-computed statistics (min, max, mean, badQualityCount).
    • i3x_discover_types_and_schemas: Search ObjectTypes, RelationshipTypes, and JSON Schema field validation rules.
    • i3x_monitor_asset_events: Subscription snapshot and event monitoring filters.
  • Resilience & Concurrency:
    • Promise.allSettled parallelization for ~60% faster asset inspection and graceful degradation on telemetry timeouts.
    • Normalized Levenshtein distance ranking (src/utils/similarity.ts) for typo-tolerant asset lookup.
    • Request timeouts (AbortSignal.timeout(15_000)), URL protocol sanitization, and error payload truncation.
  • Global Ecosystem Discovery:
    • packages/mcp/smithery.yaml for 1-click installation via Smithery across Claude Desktop, Cursor, Zed, and Cline.
    • NPM discoverability keywords.
    • CLI flags (--url, --token, --help, --version) and process signal listeners (SIGINT, SIGTERM).

2. Dependency Upgrades & Tooling Modernization

  • Upgraded root and workspace packages via npm run ncu.
  • Migrated biome.json schema to @biomejs/biome@^2.6.3.
  • Upgraded tsup to ^9.0.0 and vitest / @vitest/coverage-v8 to ^5.0.5.
  • Upgraded Fastify and node-opcua ecosystem dependencies.

Verification

  • Full monorepo build succeeded across all 7 workspace packages.
  • All 35 test files and 455 unit tests passed.
  • Pre-commit and pre-push hooks verified.

- Add @node-i3x/mcp package implementing Model Context Protocol for i3X
- Implement high-value composite tools: i3x_connect, i3x_inspect_asset,
  i3x_explore_plant_hierarchy, i3x_query_telemetry,
  i3x_discover_types_and_schemas, and i3x_monitor_asset_events
- Add Levenshtein distance ranking and similarity utility for typo tolerance
- Optimize asset inspection with concurrent Promise.allSettled execution
- Add defensive timeout handling, URL sanitization, and error truncation
- Provide smithery.yaml configuration for 1-click agent installations
- Add comprehensive unit test suite covering all tools and error paths
- Showcase MCP server in packages/mcp/README.md and root README.md
- Upgrade root and monorepo workspace dependencies via npm-check-updates
- Upgrade @biomejs/biome to 2.6.3 and migrate biome.json schema
- Upgrade tsup to v9 and vitest/coverage to v5
- Upgrade Fastify and node-opcua ecosystem packages across workspaces
- Verified full workspace build and test suite (35 test files, 455 tests passing)
@erossignon
erossignon merged commit cc73dd6 into main Oct 25, 2026
1 check passed
@erossignon
erossignon deleted the feat/mcp-server-and-deps-upgrade branch October 25, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant