Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ graph TB
| [`@node-i3x/pseudo-session-connector`](./packages/pseudo-session-connector) | PseudoSession adapter — implements `IDataSourcePort` using `node-opcua` PseudoSession (embedded in-process, zero network) | ✅ Stable |
| [`@node-i3x/rest-server`](./packages/rest-server) | Fastify REST routes implementing the i3X Beta API surface | ✅ Stable |
| [`@node-i3x/app`](./packages/app) | Composition root — wires all packages together, entry point | ✅ Stable |
| [`@node-i3x/mcp`](./packages/mcp) | Model Context Protocol (MCP) server — connects Claude, Gemini, Cursor & AI agents to i3X/OPC UA | ✅ Stable |
| [`@node-i3x/demo-embedded`](./packages/demo-embedded) | Embedded demo with live dashboard — OPC UA server + i3X API wired via PseudoSession | 🧪 Demo |

---
Expand Down Expand Up @@ -134,6 +135,39 @@ curl http://127.0.0.1:8000/health

---

## AI Agent Integration (Model Context Protocol)

Connect AI assistants (Claude Desktop, Google Gemini, Cursor IDE) directly to your factory floor or i3X gateway:

```bash
# Run the MCP server directly via npx
I3X_SERVER_URL=http://127.0.0.1:8000 npx @node-i3x/mcp
```

Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"node-i3x": {
"command": "npx",
"args": ["-y", "@node-i3x/mcp"],
"env": {
"I3X_SERVER_URL": "http://127.0.0.1:8000"
}
}
}
}
```

Now Claude or Cursor can diagnose machinery in single turns:
- `"Inspect Boiler_101. Is current temperature normal according to its schema definition?"`
- `"Explore plant hierarchy and summarize any assets with Bad quality flags."`
- `"Query telemetry trends for Pump_101 over the last 2 hours."`

See [`packages/mcp`](./packages/mcp) for full documentation.

---

## Configuration

All configuration is via environment variables (or `.env` file):
Expand Down
2 changes: 1 addition & 1 deletion biome.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.5.3/schema.json",
"$schema": "https://biomejs.dev/schemas/2.6.3/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
Expand Down
Loading
Loading