Skip to content
Agentmart
Submit a tool

FoundryNet — Industrial Machine Intelligence

Cross-OEM industrial machine intelligence: identity, normalization, automation, attestation.

Connector by FoundryNet · GitHub account verified by the MCP Registry

IndexedLicense unknownRemote (HTTP)
Write a review

Install

Works with Claude Code, VS Code, Cursor, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install connector/foundrynet-forge-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://foundrynet-mcp-production.up.railway.app/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Cross-OEM industrial machine intelligence: identity, normalization, automation, attestation.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
14 read · 3 write · 1 delete · 14 not yet classified
Secrets
None asked for
Install scripts
Nothing to install (hosted)
Runs as
Hosted (remote endpoint)

Tools by what they do 32

Read from the source code; the running server may list different tools.

Read 14 · Look things up without changing anything.

  • calculate_oee
  • check_guardrail
  • detect_anomalies
  • fleet_health
  • get_agent_card
  • get_coverage
  • health_index
  • list_agents
  • list_automations
  • list_guardrails
  • predict
  • query_machine_history
Show 2 more tools
  • query_webhook_history
  • remaining_life

Write 3 · Create, change, send or run things.

  • create_automation
  • disable_automation
  • restore_automation

Delete 1 · Delete, drop, revoke or wipe things.

  • delete_automation

Not yet classified 14 · We could not tell from the name and description.

  • activate_automation
  • correct_mapping
  • diagnose_machine
  • energy_consumption
  • fire_sandbox
  • fleet_oee
  • identify_machine
  • machine_intelligence
  • normalize_telemetry
  • predict_batch
  • predict_breach
  • prediction_accuracy
Show 2 more tools
  • shift_report
  • verify_record

Network hosts it talks to 1

  • foundrynet-mcp-production.up.railway.app · found in remote endpoint, install command

Tools (32)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • activate_automation

    Activate a parsed automation trigger on a machine. Call this AFTER create_automation returns a parsed_trigger and the user explicitly confirms they want to arm it. Creates a live trigger that monitors the machine's normalized telemetry and fires the listed actions when the condition matches. Each action references a registered tool by tool_id; on fire, the tool's webhook is POSTed with {{variable}} interpolation against the canonical data context (mint_id, oem, model, serial, site, field, value, threshold, plus every canonical field on the matched record). Inputs: machine_id mint_id ("MIN…

  • calculate_oee

    Overall Equipment Effectiveness (OEE = Availability × Performance × Quality) for one machine over a period, computed from telemetry the kernel already collects. Returns the three-factor breakdown, a letter grade, and an honest `available:false` with a reason when there isn't enough data. Args: machine_id the machine's id (e.g. "DEMO-FANUC-01") period "shift" (default), "day", or "week" USE WHEN: your agent needs to report how a machine is performing, locate where the losses are, or produce a single number for a line. FREE — OEE is the metric that embeds Forge in daily operations.

  • check_guardrail

    Test whether a proposed action would be blocked, WITHOUT attempting it. `proposed` is a dict of canonical field -> value you are considering, e.g. {"spindle_speed_rpm": 13000}. TWO LAYERS ANSWER, AND ONLY ONE OF THEM ALWAYS EXISTS. 1. Registry-wide PHYSICAL BOUNDS. Always checked, nothing to configure. These are possibility envelopes for the canonical field, not limits for your machine: spindle_speed_rpm is declared [-50000, 50000] for every machine in the fleet. 2. Per-machine GUARDRAILS written by an engineer. These carry the real operating limits — and they are OP…

  • correct_mapping

    Teach Forge the RIGHT canonical field for a source column that normalize_telemetry mapped wrong (or abstained on). Each correction is recorded as a corpus-improvement signal the retrainer uses to fix the mapping for everyone — so every agent interaction makes normalization better. USE WHEN: you or the user can see normalize_telemetry returned the wrong canonical for a field (e.g. it mapped an oil-pressure column to a tire- pressure field), or it abstained on a field whose meaning you know. - source_field: the raw column name exactly as it appeared in your data. - confirmed_canonical: the can…

  • create_automation

    Let your agent wire machine telemetry to any business system in plain English — ERP, CMMS, MES, Slack, Teams, email, Zapier, n8n — via webhooks already registered as tools on the Forge service. The agent describes the condition and the action; Forge parses it into a structured trigger. Examples of `instruction`: "Alert maintenance Slack when spindle load exceeds 90 percent." "Create a Fiix work order when coolant temperature stays above 35°C for five minutes." "Notify the supervisor when part_count hits 500." "When the maintenance_type changes to CORRECTIVE, post to the ops chan…

  • delete_automation

    Soft-deletes the trigger (recoverable for 30 days via restore_automation). The trigger immediately stops evaluating against /v1/normalize calls and is hidden from list_automations, but the row persists with deleted_at set so an accidental delete can be undone. Use restore_automation to undo. For permanent deletion, the API supports ?permanent=true. Past forge_trigger_executions rows for this trigger remain in either case (audit trail). USE WHEN: the user wants to remove an automation they no longer need — "delete the coolant alert," "remove that trigger." Safer than hard delete because miscl…

  • detect_anomalies

    Flag anomalies in a time series WITHOUT running a full forecast — z-score + IQR outlier detection plus trend and rate-of-change (accelerating/steady/ decelerating). No TimesFM inference, so it's faster and cheaper than predict and works on short series (≥4 points). Cross-references the canonical field's known/derived normal range when one is available. Args: values the series to scan (≥4 points) canonical_field FCS field the series represents (enables normal-range context) sensitivity z-score threshold (default 2.0 ≈ 95%); higher = fewer flags Returns anomaly_count, per…

  • diagnose_machine

    Automated root-cause analysis for a machine event: correlates the telemetry around the event (3σ anomaly detection + timeline) and reasons over it to name the most likely cause, the evidence, and a recommended action. Args: machine_id the machine's id event_time ISO 8601 timestamp of the event (defaults to now) symptom what was observed, e.g. "machine stopped" or "vibration spike" USE WHEN: something went wrong and your agent needs a first-pass root cause to reason from. PREMIUM ($0.25/call) — runs LLM reasoning over the telemetry.

  • disable_automation

    Pause an automation trigger without deleting it. The trigger stops evaluating against incoming /v1/normalize calls but its configuration (condition, actions, history) is preserved. Re-enable later by PATCHing /v1/triggers/{id} with `{"enabled": true}` (or by asking the user to confirm and creating a follow-up tool for resume). USE WHEN: the user wants to TEMPORARILY stop an automation — e.g. "pause the high-spindle alert during planned maintenance," "stop that alarm for now, I'll re-enable it tomorrow." Distinct from delete_automation, which is permanent.

  • energy_consumption

    Energy consumption and cost for a machine over a period, derived from the cumulative energy_kwh counter, with baseline comparison and anomaly detection when a baseline exists. Args: machine_id the machine's id period "shift" (default), "day", or "week" USE WHEN: your agent needs to compute what a machine costs to run, or catch an energy anomaly (a spike vs the rolling baseline).

  • fire_sandbox

    Demo the full Forge watch→fire→settle loop against a built-in sandbox endpoint. Free tier; no machine onboarding required. The MCP server POSTs `{message, condition: condition_text, ts}` to its own /sandbox/echo route — a real HTTP round-trip with a real response body — then hashes the response and records a tamper-evident, verifiable work record of it. Returns the echo body, the tx_signature, and a verify_url. USE WHEN: a developer is evaluating Forge and wants to feel the full loop (a webhook actually fires, a real settlement actually records, the verification link actually resolves) witho…

  • fleet_health

    Roll a fleet of machine predictions up into a single health dashboard: a fleet health score, a critical/elevated/moderate/healthy risk distribution, per-canonical-field risk rollups, and a maintenance priority queue with a plain-English recommendation. Args: machines same shape as predict_batch — list (≤100) of { id, canonical_field?, values:[...], threshold?, direction? }. Machines with a `threshold` are bucketed by steps-to-breach (critical <6, elevated <24, moderate otherwise); the rest count as healthy. USE WHEN: your agent needs to conc…

  • fleet_oee

    Fleet-wide OEE: per-machine cards plus a fleet-average OEE, worst performers surfaced first. Args: period "shift" (default), "day", or "week" USE WHEN: your agent needs to assess the whole floor in one call and surface the worst performers ("how is the plant running this shift?"). FREE.

  • get_agent_card

    Get the credentials and trust score of an agent connected to this kernel — its capabilities, computed trust score, governance constraints, and verified work history on this kernel. Trust scores are COMPUTED from this kernel's own verified work history, not self-reported, so they can't be inflated. Scoped to agents connected to this kernel instance; included in your subscription (no per-call charge). For cross-platform agent trust across any framework, see Assay (assay.foundrynet.io). USE WHEN your agent needs to present its credentials to a facility operator, or to check another agent connec…

  • get_coverage

    Ask Forge what it can normalize BEFORE you try. Returns, straight from the kernel so this description cannot go stale: vertical_oems every OEM string that routes to a vertical, grouped by the vertical it actually resolves to verticals_without_oem_routing verticals that ship vendor packs but have no OEM string to pass, so the cross-vertical gate cannot engage for them canonical_families the canonical-field families and t…

Show 17 more tools
  • health_index

    Compute a composite health index (0-1) for a machine by fusing ALL available sensor readings against a healthy baseline. USE WHEN your agent needs to assess overall machine health from multiple sensors simultaneously — especially for detecting gradual degradation that no single sensor threshold would catch (the failure mode univariate predict_breach misses). Returns the current health score (1.0 = healthy, 0.0 = failed), trend (declining / stable / improving), degradation rate, estimated remaining useful life in steps, and the top factors driving the decline.

  • identify_machine

    Provision or retrieve a persistent identity (mint_id) for any industrial machine. Works for CNC machines, industrial robots, PLCs, additive manufacturing cells, injection molders, presses, turbines, pumps, compressors, conveyors — any equipment from any OEM: Fanuc, Siemens, Haas, DMG Mori, Mazak, Okuma, Hurco, Doosan, Makino, ABB, KUKA, Universal Robots, Yaskawa, Stäubli, FANUC Robotics, Komatsu, Caterpillar, John Deere, Trumpf, Bystronic, Amada, EMAG, Bosch Rexroth, Beckhoff, Rockwell Allen-Bradley. Returns the mint_id (universal handle, format "MINT-xxxxxx"). Idempotent — calling again with…

  • list_agents

    List other agents connected to this kernel instance — their capabilities, trust scores, and machine access. Trust is COMPUTED from this kernel's own verified work history, not self-reported, so it can't be gamed. Scoped to agents connected to this kernel instance; included in your subscription (no per-call charge). For cross-platform agent trust across any framework, see Assay (assay.foundrynet.io). USE WHEN your agent needs to find another agent connected to this kernel with a specific capability to coordinate with or delegate work to — e.g. a monitoring agent that detected a bearing fault …

  • list_automations

    List all active automations / triggers configured for one machine. Returns each trigger with: id, name, condition (field/op/value or compound `all`), actions (each resolved to its tool name + url + method), enabled state, fire_count, last_fired_at, last_error. USE WHEN: the user asks "what automations do I have on this machine" / "show me my triggers" / "what alerts am I getting" / "what's monitoring this machine right now". Always pass the machine's mint_id (or internal_id — both resolve).

  • list_guardrails

    List the hard safety guardrails configured on one machine. Returns each guardrail with: id, name, the plain-English instruction it was created from, its structured condition, scope, and enabled state. Guardrails are NOT automations. An automation fires an alert and a human decides; a guardrail blocks the action and nothing decides. You cannot create, edit, disable, or override a guardrail through this MCP server — that requires a human administrator. Attempting a write returns 403. USE WHEN: before proposing or activating anything on a machine — "what are the limits on this machine", "what …

  • machine_intelligence

    Complete machine intelligence from raw telemetry in ONE call: normalize the field names (when `oem` is given), detect anomalies on every field, forecast and predict threshold breaches where there's enough history, compute an overall health score + letter grade (A–F), and assemble a maintenance queue — all attested. This is the full stack: normalize → anomaly → forecast → breach → score → recommend, behind a single endpoint and a single payment. Args: machine_id identifier for the machine being analyzed telemetry { field_name: [values], ... } — one series per field oem OEM hin…

  • normalize_telemetry

    Give your agent a semantic understanding of machine data from any OEM: translate raw vendor telemetry into one universal canonical schema (FCS, FoundryNet Canonical Schema) so the agent can reason across vendors it has never seen before. Maps vendor-specific column names like "Spindle_Speed", "servo_load_x", "CoolantTemp", "FeedRateOverride" into standard fields like spindle_speed_rpm, axes.x_load_pct, sensor_readings.coolant_temp, feed_override_pct. Accepts a `data` dict of {raw_field: value}. If `machine_id` (mint_id or internal_id) is omitted but oem+model+serial are provided, silently aut…

  • predict

    Forecast the next `horizon` readings of a canonical telemetry series using TimesFM (Google's time-series foundation model). Returns a point forecast plus quantile uncertainty bands (q0.1 … q0.9) — no per-machine training required. The kernel already normalizes raw OEM telemetry into canonical FCS fields; this predicts where a field is headed next. Args: time_series historical canonical values, oldest→newest (≥16 recommended) canonical_field the FCS field the series represents (e.g. "spindle_load_pct"), carried through for labeling/provenance horizon num…

  • predict_batch

    Predict for an entire FLEET in one call instead of one request per machine. A 200-machine factory shouldn't make 200 round-trips — pass them all here and get back a scored fleet overview plus per-machine predictions. Args: machines list (≤100) of objects, each: { id, canonical_field?, values:[...], threshold?, direction? } Supply a `threshold` to get a breach prediction for that machine; omit it to get a plain forecast. Per-machine validation errors are returned inline — one bad machine never fails the whole batch. Returns a fleet_summary …

  • predict_breach

    Predict whether — and when — a canonical series will cross a threshold. This is the parametric-insurance primitive: it answers "will this machine's <field> exceed <threshold> within the forecast window, and how soon?". Returns will_breach, estimated_steps_to_breach, a confidence, and a quantile-derived breach_window {earliest, latest}. Every result carries a deterministic data_hash so the prediction is cryptographically provable. Pass a caller-owned `mint_id` to write an audit event tying the prediction to a specific machine; add `settle=true` to record it as a verifiable settlement for an in…

  • prediction_accuracy

    Report how well the kernel's predictions have matched reality: total and evaluated prediction counts, breach-prediction accuracy %, forecast mean absolute error, and accuracy broken down by canonical field. FREE — this is a trust signal. Check it BEFORE deciding to pay for a prediction: "87% breach accuracy across 500 predictions" is the best evidence that the paid forecast is worth buying. Accuracy improves over time as more predictions are tracked and verified against actuals (each is logged with a tamper-evident hash). USE WHEN: a user (or you, on their behalf) wants to gauge how much to …

  • query_machine_history

    Retrieve operational history for an identified machine. Each row is one /v1/normalize call's canonical output (FCS field → value). Query options: from_dt, to_dt ISO-8601 timestamps to bound the time range fields comma-separated FCS field names to project; omit for full canonical_data limit max rows (1–1000, default 100) summary true → returns aggregate stats only (row_count, time range, avg coverage_pct, fields_covered set) without the raw rows. Always cheap. USE WHEN: your agent needs to reason …

  • query_webhook_history

    Show webhook delivery history for a trigger — HTTP status codes, response times, retry counts, errors. Use to verify webhooks are actually delivering. Returns up to `limit` most-recent execution rows (default 10, max 200), each with: fired_at, http_status, attempt_count, response_time_ms, error (if any), tool_name, target_url, and the settlement reference (settled_tx) once the row has been rolled up via batch settle. USE WHEN: a user asks "did the alert actually go out?" / "why didn't Slack get pinged?" / "is the trigger working?" / "show me the last few fires." Soft-deleted triggers can sti…

  • remaining_life

    Estimate a machine's remaining useful life before a failure threshold is crossed, with a maintenance recommendation. A maintenance-planning reframing of predict_breach: same TimesFM forecast, expressed as time-to-failure. Returns remaining_steps (None if no failure forecast), remaining_useful_life_pct (headroom to the threshold), failure_predicted, failure_window, a trend, and a recommendation — one of immediate_maintenance / schedule_maintenance / monitor / healthy. Same provenance + optional verifiable settlement as predict_breach. Args: time_series historical canonical values, ol…

  • restore_automation

    Restore a previously soft-deleted automation trigger within its 30-day recovery window. Re-enables the trigger so it evaluates against incoming /v1/normalize calls again. Returns the restored trigger row plus `restored: true` and the `restored_at` timestamp. 410 (Gone) if the trigger was deleted more than 30 days ago and is past the restorable window. 409 if the trigger isn't actually deleted. USE WHEN: a user accidentally deleted a trigger and wants it back. Also useful as the "undo" half of a "delete then change my mind" flow — pair with disable_automation when the user wants to pause rath…

  • shift_report

    A shift handover report across the fleet: OEE, energy, alerts, and actions per machine, plus an AI-generated narrative summary. Auto-generated at each shift change, no spreadsheet required. Args: which "current" (so-far this shift, default), "last" (the most recent completed shift), or "recent" (the last few reports) USE WHEN: your agent needs to generate a shift handover across the fleet, or a written summary of what happened, without a spreadsheet. FREE.

  • verify_record

    Create a tamper-evident, independently verifiable record of work. The record is hash-chained so anyone can confirm it has not been altered. Two modes: BATCH MODE (`batch=true`, requires `mint_id`): Collects every unsettled event for that machine — normalize calls, trigger fires, webhook executions — since the last batch. Computes a Merkle root of their event hashes and records that single root as one verifiable settlement. ONE settlement proves dozens to thousands of events. Returns: merkle_root, event_count, event_types breakdown, tx_signature, verify_url. Cost-efficient — call t…

Signals

Stars
0
Forks
0
Open issues
0
Last commit
Oct 17, 2026 (12 days ago)
Last release
Jun 25, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.FoundryNet/forge-mcp
Version
1.1.0
Auth
Auth not stated
License
License unknown
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from FoundryNet

Cite this page

FoundryNet — Industrial Machine Intelligence MCP server. Agent Mart. https://agentmart.dev/connectors/foundrynet-forge-mcp (last updated 2026-10-24)