i3X-MCP-Server

i3X-MCP-Server

Bridges Claude (or any MCP client) to manufacturing data via the i3X standard, enabling natural language queries about equipment status, hierarchy, and historical trends.

Category
访问服务器

README

i3x-mcp

A bridge that lets Claude (and any other MCP client) talk to your manufacturing data through the i3X standard — so you can ask plain-English questions about your plant and get real answers.

"What equipment is on the production line?" "What's the current state of pump-101?" "Show me the temperature trend for tank-201 over the last hour." "What feeds into the assembly line?"


Install (5 minutes, no coding required)

1. Install Node.js (if you don't already have it)

Open a terminal and run:

node --version

If you see a version number ≥ 18 (e.g. v20.0.0), you're set. If not, download and install from nodejs.org — pick the "LTS" version.

2. Open Claude Desktop's config file

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

If the file doesn't exist, create it.

3. Add the i3x server

If the file is empty, paste this whole thing:

{
  "mcpServers": {
    "i3x": {
      "command": "npx",
      "args": ["-y", "i3x-mcp@latest"]
    }
  }
}

If the file already has stuff in it, add only the "i3x": { ... } block inside mcpServers (and add the mcpServers block if missing). Mind the commas between JSON keys — that's the #1 reason Claude Desktop reports an invalid config.

4. Restart Claude Desktop

Fully quit (⌘Q on Mac, right-click tray → Quit on Windows) and reopen. The first time you use it, npx downloads i3x-mcp from npm — takes 10-20 seconds.

5. Tell Claude which i3X server to talk to

Start a new chat and say:

"Use the i3x connect tool with baseUrl https://api.i3x.dev/v1"

(That's the public CESMII demo server. For your own deployment, substitute your URL.)

Claude will verify the connection and confirm. From there you can ask normal questions:

"What equipment is at the top of the hierarchy?" "Find anything with 'pump' in the name." "What's the current value of pump-101 and its components?" "Get the last hour of history for pump-101-state, averaged every 5 minutes."


Connecting to a private / authenticated server

If your i3X server requires authentication:

"Connect i3x to https://i3x.mycompany.com/v1 with authScheme bearer and token eyJhbGc..."

Supported auth schemes:

  • none (default)
  • bearer — uses Authorization: Bearer <token>
  • apikey — uses a custom header (default X-API-Key, override with the apiKeyHeader argument)

Connections live for the duration of a Claude Desktop session. To switch servers mid-session, just call connect again.

Persisting connection info via environment variables

If you'd rather not type the connect command each time, pre-set the connection in your Claude Desktop config:

{
  "mcpServers": {
    "i3x": {
      "command": "npx",
      "args": ["-y", "i3x-mcp@latest"],
      "env": {
        "I3X_BASE_URL": "https://i3x.mycompany.com/v1",
        "I3X_AUTH_SCHEME": "bearer",
        "I3X_TOKEN": "eyJhbGc..."
      }
    }
  }
}

What Claude can do

Tool What it does
connect Point the server at an i3X instance. Validates against /info.
connection_status Show current baseUrl, auth, and catalog state.
server_info Capabilities of the connected i3X server (query/update/subscribe).
search_objects Find equipment by name (fuzzy/substring). The main "where is X" tool.
list_root_objects Top of the equipment hierarchy.
refresh_catalog Re-fetch the object list after new equipment is added.
get_object Detailed info on one or more objects (type, parent, relationships).
read_current_value Latest value + quality + timestamp, with engineering units when known.
get_history Time-range history with optional avg/min/max/count aggregation and bucket (e.g. 5m). Accepts relative times like "last 1h".
find_related Graph traversal. Returns related objects grouped by relationship.
describe_type ObjectType schema + per-field units (helps Claude interpret raw values).
watch_values Bounded live-data window. Internally manages an i3X subscription.

Writes (update_value, write_history) are off by default. See "Enabling writes" below.


Time inputs

Anywhere a time is accepted (get_history), you can use:

  • RFC 3339: 2026-06-12T10:00:00Z
  • Relative: 1h, 30m, 7d, last 30m
  • Keywords: now, today, yesterday

For startTime, a bare duration means "that long ago." For endTime, the default is now.


Enabling writes (advanced)

Setpoint writes can affect live equipment. Writes are off by default. To enable them, modify your Claude Desktop config to pass --enable-writes:

"args": ["-y", "i3x-mcp@latest", "--enable-writes"]

This exposes update_value and write_history. Both are marked as destructive — Claude will request explicit confirmation before invoking them.


Tuning (environment variables)

Env var Default Purpose
I3X_BASE_URL unset Optional pre-set baseUrl. If unset, use the connect tool from chat.
I3X_AUTH_SCHEME none none, bearer, or apikey.
I3X_TOKEN Required when I3X_AUTH_SCHEME is bearer or apikey.
I3X_APIKEY_HEADER X-API-Key Header name used when I3X_AUTH_SCHEME=apikey.
I3X_WATCH_MAX_SEC 300 Hard cap on watch_values duration.
I3X_RAW_HISTORY_MAX_POINTS 500 Cap on raw VQT points returned per element by get_history.

Troubleshooting

Claude Desktop says "MCP i3x: Server disconnected"

  • Check the claude_desktop_config.json is valid JSON (commas, braces).
  • Confirm Node.js 18+ is installed and node is on your PATH.
  • Open the developer logs in Claude Desktop's "Settings → Developer" panel for details.

Tools return "Not connected to an i3X server"

  • Call the connect tool: "Connect i3x to https://..."
  • Or set I3X_BASE_URL in the config's env block and restart Desktop.

Connection fails on connect

  • The error message will say what failed (e.g. DNS, 401 Unauthorized). Re-check the baseUrl and auth.
  • The baseUrl must include the version path, e.g. https://api.i3x.dev/v1.

For developers

Run from source

git clone <this-repo> i3x-mcp
cd i3x-mcp
npm install
npm run build

Point Claude Desktop at the local build:

{
  "mcpServers": {
    "i3x": {
      "command": "node",
      "args": ["/absolute/path/to/i3x-mcp/dist/index.js"]
    }
  }
}

Project layout

src/
  config.ts          # env + CLI parsing
  connection.ts      # connection lifecycle (connect / disconnect / state)
  i3x-client.ts      # HTTP client + i3X types
  catalog.ts         # cached object/type index + fuzzy search (fuse.js)
  time.ts            # relative time parsing
  aggregation.ts     # raw/avg/min/max/count bucketing
  units.ts           # unit extraction + value enrichment
  tools.ts           # all MCP tool registrations
  index.ts           # entry point

Smoke test

node smoke-test.mjs

Spawns the server, walks through connectsearch_objectsget_history against the public demo.

Publishing to npm

You'll need an npm account with publish rights to i3x-mcp. Then:

# Patch release (0.1.0 → 0.1.1):
npm run release:patch

# Minor release (0.1.0 → 0.2.0):
npm run release:minor

# Major release (0.1.0 → 1.0.0):
npm run release:major

Each script:

  1. Bumps version in package.json.
  2. Creates a git commit and tag.
  3. Runs prepublishOnly (which builds via tsc).
  4. Publishes to the public npm registry.

Push the tag after with git push --follow-tags.


License

MIT — see LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选