Chimmani
W-04AI · Case study

Enterprise Agent Layer

I built the MCP architecture that grounds Hexion's NLQ and summarization agents, and its deterministic algorithms, in live enterprise systems with an audit trail behind every answer.

MCPOpenAI APICopilot StudioClaude Code
At a glance · the 20-second version

Plain-language answers over live safety data, with a traceable source behind every number.

3agent platforms on one grounding layer: Copilot Studio, Claude Code, Codex
Role
Built the MCP architecture on the EHS platform I own
When
September 2026, at Hexion
Status
In production
Stack
MCP, OpenAI API, Copilot Studio, Claude Code, Codex
Outcome
NLQ and summarization agents grounded in live systems, audit trail on every answer
  1. Problem

    A language model answering freely from live enterprise systems can produce a fluent, wrong number, and in EHS a wrong number can shape a decision about a plant.

  2. What I did

    Built an MCP layer that grounds NLQ and summarization agents in live systems, routes exact calculations to deterministic code, and attaches an audit trail to every answer.

  3. Outcome

    NLQ and summarization agents run in production on Copilot Studio, Claude Code and Codex, grounded in live systems rather than a model's memory.

  4. Why it matters

    Safety teams can ask questions in plain language and still get an answer that is reproducible and traceable at the moment they read it.

Step 1 · Problem

The situation

Hexion's EHS and enterprise data now sits behind natural-language interfaces on Copilot Studio, Claude Code, and Codex, so people can ask questions of it directly instead of waiting on a report. The risk with that approach is well known: a language model answering freely from live enterprise systems can produce a fluent, wrong number, and in EHS that is not a cosmetic bug. A wrong number in a safety report can shape a decision about a plant, not just an internal metric someone glances at.

I own the enterprise EHS platform this layer sits on top of, so the question was not whether to bring agents into the workflow. People were already asking for that. The question was how to do it without trading Gensuite's data quality for the convenience of a chat interface.

Step 2 · Constraints

Constraints

  • Answers touching safety and compliance data have to be reproducible. The same question asked twice needs the same answer, traceable back to the underlying system.
  • The layer has to ground agents in systems that already exist, Gensuite among them, rather than requiring a separate copy of the data built just for the AI.
  • Multiple agent platforms are in use at once (Copilot Studio, Claude Code, Codex), so the grounding approach can't be tied to one vendor's tooling.
Step 3 · What I did

What I built

I built an MCP architecture that grounds two kinds of agents in live enterprise systems: natural-language-query and summarization agents that answer questions in plain language, and deterministic algorithms that handle the calculations where an answer has to be exact and repeatable every time. Every response carries an audit trail, so a number an agent surfaces can be traced back to where it came from, rather than asked to be taken on faith.

The grounding is the part that matters most. Instead of letting a model answer from what it remembers about EHS in general, the MCP layer hands it the actual current record from the live system, then constrains the calculation itself to deterministic code wherever the answer needs to be exact.

  1. SourceLive systemsGensuite and others
  2. GroundingMCP layergrounds agents in live systems
  3. AnswerTwo pathsDeterministic algorithms
    reproducible answers
    NLQ & summarization agents
    Copilot Studio · Claude Code · Codex
  4. CheckAudit trailbefore the answer reaches a user
Figure 1 Live systems feed the MCP layer, which grounds both deterministic algorithms and NLQ or summarization agents. Every response passes through an audit trail before it reaches a user.
Step 4 · Decisions

Decisions I made and why

  • I split the work between deterministic algorithms and language-model agents on purpose, rather than letting one model do both. Calculations that need to be exact go through code that returns the same answer every time; only the interpretation and summarization layer goes through the language model.
  • I standardized grounding through MCP instead of building a separate integration per agent platform, since the team already runs agents on three different tools and a shared grounding layer means adding a fourth doesn't mean rebuilding the connection to live systems again.
  • I treated the audit trail as part of the agent's response, not a log file someone checks separately, because trust in an answer touching safety data has to be verifiable at the moment someone reads it, not after the fact.
Step 5 · Outcome

What changed

NLQ and summarization agents now run in production on Copilot Studio, Claude Code, and Codex, grounded in live systems rather than answering from a model's own memory, with deterministic algorithms handling the calculations that have to be reproducible.

What it means for a leader

The same question asked twice gets the same answer, traceable to the system it came from. Adding a fourth agent platform does not mean rebuilding the connection to live systems, because the grounding is shared.

Step 6 · Hindsight

What I would do differently

I would push the audit trail earlier in the build than I did. It's the piece that makes the rest of the layer trustworthy to a safety team, and treating it as a late addition rather than a first-class part of the design cost extra rework once real questions started coming through the system.

← All case studies The RPT report series