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

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.

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.

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.

Live systems Gensuite & others MCP LAYER - grounds agents in live systems Deterministic algorithms reproducible answers NLQ & summarization agents Copilot Studio · Claude Code · Codex   Audit trail, before the answer reaches a user
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.

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.

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 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.