# EA Console: A Governed Workbench for the CMDB

> A self-hosted console and MCP server for querying and safely updating a ServiceNow CMDB, with a grounded local AI assistant.

Canonical: https://mikereams.com/work/ea-console

Year: 2026  
Change: Ad hoc CMDB queries → Governed console  
Technology: Python, ServiceNow, SQLite, Ollama, MCP, Playwright  
Topics: ServiceNow, CMDB, AI, Enterprise Architecture, Artificial Intelligence, Data Management  
Write-ups: [Green Tests, Broken System: 4 Ways a Test Suite Lies](https://mikereams.com/writing/green-tests-broken-system), [Pushed Is Not Deployed](https://mikereams.com/writing/pushed-is-not-deployed), [A Dry Run Is Not Permission](https://mikereams.com/writing/a-dry-run-is-not-permission), [Five ServiceNow API Calls That Return Success and Store Nothing](https://mikereams.com/writing/servicenow-api-calls-that-return-success-and-store-nothing), [You Don't Need a Bigger Model. You Need Better Retrieval.](https://mikereams.com/writing/better-retrieval-not-a-bigger-model), [Absent, Not Disabled: Giving a Small Model Read Tools](https://mikereams.com/writing/absent-not-disabled-giving-a-small-model-read-tools), [The Missing Middle: Why Business Apps Shouldn't Point at Servers](https://mikereams.com/writing/the-missing-middle-why-business-apps-shouldnt-point-at-servers), [When a Config Change Is Really an Acquisition](https://mikereams.com/writing/when-a-config-change-is-really-an-acquisition), [The Field That Isn't There](https://mikereams.com/writing/the-field-that-isnt-there)

![System diagram: architects in a browser and AI assistants over MCP use the EA Console, whose query, snapshot, guarded-write, data-quality, lifecycle and Ask EA features sit between them and the ServiceNow CMDB, with a local model and a read-only knowledge base beside it.](https://mikereams.com/work/ea-console.png)

## What it is

A self-hosted web console for exploring and safely updating a ServiceNow CMDB, built for enterprise architecture work. Architects query the portfolio, open any application to see its relationships drawn as a layered architecture view and scored for design conformance, and make updates through a guarded write path. AI assistants use the same tools through an MCP server, under the same guardrails.

## The problem

The CMDB is the system of record, but answering an architecture question from it meant hand-built list views, exports and spreadsheets. Updating it meant clicking through forms one record at a time with no preview. And AI assistants could not touch it at all without direct credentials or copy and paste.

## What I built

- **Query and record drawer.** Filter any table, open a record and see its relationships in both directions as a layered architecture diagram, with a conformance score.
- **Guarded writes.** Read-only by default. Every change is a dry-run diff, an explicitly named target, a timed write window, a confirmation bound to the record's before-state, and a read-back. Update-only.
- **Snapshots and trends.** A nightly local snapshot of key tables, so dashboards open instantly and "what changed" is a diff, not a guess.
- **Data quality and lifecycle.** Live gap counts that open as worklists, and end-of-life dates reconciled against public lifecycle data.
- **An MCP server.** AI assistants query and propose changes through the same guarded path, holding only a console token.
- **Ask EA.** A small local model that answers from the architecture knowledge base with citations, gated by an evaluation harness.

## How it is built

Deliberately boring: standard-library Python and plain HTML, CSS and JavaScript — zero runtime dependencies and no build step. Thirty regression suites gate every deploy. One fails the build if an unauthenticated page ever exposes more than aggregate counts; others drive real clicks in a browser against production-shaped fixtures.

## What came out of it

Portfolio questions that used to need an export now take a query. Updates have a preview and a receipt. And building the tool turned up findings of its own — several of the platform traps and testing lessons in the write-ups below came straight out of it.
