FoundryNet — Industrial Machine Intelligence
Cross-OEM industrial machine intelligence: identity, normalization, automation, attestation.
Connector by FoundryNet · GitHub account verified by the MCP Registry
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/mcpRemote (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.
About
Reviews
Write a reviewNo 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_oeecheck_guardraildetect_anomaliesfleet_healthget_agent_cardget_coveragehealth_indexlist_agentslist_automationslist_guardrailspredictquery_machine_history
Show 2 more tools
query_webhook_historyremaining_life
Write 3 · Create, change, send or run things.
create_automationdisable_automationrestore_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_automationcorrect_mappingdiagnose_machineenergy_consumptionfire_sandboxfleet_oeeidentify_machinemachine_intelligencenormalize_telemetrypredict_batchpredict_breachprediction_accuracy
Show 2 more tools
shift_reportverify_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_automationActivate 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_oeeOverall 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_guardrailTest 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_mappingTeach 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_automationLet 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_automationSoft-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_anomaliesFlag 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_machineAutomated 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_automationPause 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_consumptionEnergy 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_sandboxDemo 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_healthRoll 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_oeeFleet-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_cardGet 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_coverageAsk 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_indexCompute 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_machineProvision 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_agentsList 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_automationsList 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_guardrailsList 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_intelligenceComplete 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_telemetryGive 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…
predictForecast 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_batchPredict 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_breachPredict 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_accuracyReport 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_historyRetrieve 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_historyShow 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_lifeEstimate 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_automationRestore 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_reportA 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_recordCreate 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
- Repository
- github.com/FoundryNet/forge-mcp
- Website
- foundrynet.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from FoundryNet
- 0.577score
MINT Protocol — Universal Work Attestation
FoundryNet
Trust stack for AI agents: identity, attest, verify, rate, recommend, discover — on Solana.
ConnectorBFreshness: BRemoteDown★ 2Claude Code +3 - 0.483score
Social Trends Intelligence MCP
FoundryNet
Trending topics, cross-platform sentiment, viral content, community pulse & brand mentions.
ConnectorCFreshness: CRemoteDownClaude Code +3 - 0.483score
Weather & Climate Intelligence MCP
FoundryNet
Weather data, forecast API, climate data, historical weather, alerts, agricultural & travel weather.
ConnectorCFreshness: CRemoteDownClaude Code +3 - 0.483score
Academic Research Intelligence MCP
FoundryNet
Academic paper search, scientific literature, citation analysis, arXiv & semantic related-work.
ConnectorCFreshness: CRemoteDownClaude Code +3 - 0.483score
Brand Intelligence MCP
FoundryNet
Domain & brand intelligence: company enrichment, tech stack detection, brand research.
ConnectorCFreshness: CRemoteDownClaude Code +3 - 0.483score
Cybersecurity Threat Intelligence MCP
FoundryNet
CVE search, vulnerability database, EPSS exploit prediction, KEV, IP reputation & threat feed.
ConnectorCFreshness: CRemoteDownClaude Code +3
Cite this page
FoundryNet — Industrial Machine Intelligence MCP server. Agent Mart. https://agentmart.dev/connectors/foundrynet-forge-mcp (last updated 2026-10-24)