<!-- The AI layer on Yres -->
<!-- canonical: https://plainwater.ai/en/wiki/yres/ai-op-yres -->
# The AI layer on Yres

[Yres](https://yres.eu) is Plainwater's product for data warehouse automation on Azure. Yres loads sources into a data
warehouse, keeps history, and handles load types, changes and deployment to test and production. Plainwater AI works
together with Yres. Yres customers thereby get an AI layer that knows the rules of Yres and does nothing outside the
change process.

## Two connections

| Connection | What it gives you |
| --- | --- |
| **The Yres MCP server** | The AI can manage the Yres organisation: sources, tables, changes, load history |
| **The Yres warehouse as a source** | The AI can read the warehouse (Azure SQL): metadata, quality, performance, dashboards |

The Yres MCP server is connected as [your own MCP server](https://plainwater.ai/en/wiki/bronnen/eigen-mcp-servers), with a declaration and
approval per tool. The warehouse is connected as a regular [source](https://plainwater.ai/en/wiki/bronnen/overzicht), with its own data access
setting.

## What the AI can do through the Yres MCP server

- **View data sources** and refresh a source's metadata.
- **Create and change used tables**: which tables from a source go into the warehouse, and how.
- **Have key columns predicted** for a new table.
- **Inspect load history and pipeline runs**, for example to find out why a load failed.
- **View monitors.**
- **Manage changes and projects**: create a change, update it, link it to a project.
- **See environments**: development, test and production.

## Inside the change process

Yres works with changes. Every modification to a table belongs to an open change, and changes and projects are created in
the development environment. Deployment to test and production goes through the regular Yres DTAP process, not through
the AI.

:::accent What the AI does not do
The AI changes nothing outside a change, and deploys nothing to test or production itself. A change the AI prepares goes
through the same process as a change made by a person.
:::

On top of that, Plainwater AI's rules apply: write tools of an external MCP server go through a proposal that a person
approves.

## A typical flow

1. **Question**: "Connect the new AFAS environment and load employees and contracts."
2. The AI looks at the data source in Yres and refreshes the metadata.
3. It proposes the key columns per table.
4. It prepares a change with the new used tables. A person approves the proposal.
5. After the first load the AI reviews the load history and checks counts, nulls and uniqueness in the warehouse.
6. It creates a [dataset](https://plainwater.ai/en/wiki/dashboards/datasets) and a [dashboard](https://plainwater.ai/en/wiki/dashboards/dashboards) on the new tables.
7. The change goes to production through the regular DTAP process.

## Investigating load problems

A load that failed overnight is a good first job for an agent. It can request the pipeline run and the load history
through Yres, check the tables concerned in the warehouse, and explain what went wrong. With a
[monitor](https://plainwater.ai/en/wiki/concepten/monitors) you can have that checked automatically every morning.

## Example

A housing association uses Yres for its warehouse. On Monday morning there is a finding from the monitor: the tenant file
load has been incomplete for two nights. The consultant asks in a conversation what is going on. Through the Yres MCP
server the agent fetches the pipeline runs and sees that a new column in the source makes the load abort. It prepares a
change that updates the table. The consultant approves and deploys the change through the regular process.

:::tip Read on
- [Connecting your own MCP servers](https://plainwater.ai/en/wiki/bronnen/eigen-mcp-servers)
- [Monitors](https://plainwater.ai/en/wiki/concepten/monitors)
- [Yres knowledge base](https://yres.eu/en/wiki/)
:::
