# AI use cases for Utopia (deeplethe/utopia)

Repo: [deeplethe/utopia](https://github.com/deeplethe/utopia) | Use cases: 4 | Page: https://dedupedai.com/use-cases/deeplethe-utopia/

Utopia is an open-source, self-hosted enterprise knowledge base in Rust that stores facts with time awareness, so you can ask what was true at a given date and what the base knew then.

This file holds every use case of this repo. Each one starts with a "## " heading and ends with its URL.

- Find which contract terms applied on a given date: https://dedupedai.com/use-cases/deeplethe-utopia/answer-dated-contract-terms/
- Show who held a role in a past quarter and what was known then: https://dedupedai.com/use-cases/deeplethe-utopia/trace-who-held-role-over-time/
- Connect a coding agent to a knowledge base over MCP: https://dedupedai.com/use-cases/deeplethe-utopia/let-agent-read-knowledge-base-over-mcp/
- Push timed observations from a system into a dated graph: https://dedupedai.com/use-cases/deeplethe-utopia/push-timed-observations-into-graph/

## How to find which contract terms applied on a given date with Utopia

Repo: [deeplethe/utopia](https://github.com/deeplethe/utopia) | Difficulty: Intermediate | Time: 1 hour | Basis: From the README

Load a master agreement and its amendments, then ask which terms were in force on a date, with the source sentence.

**Who it is for:** A legal or procurement analyst who must confirm which payment or party terms applied on a specific date across an agreement that was amended several times.

**The problem:** Plain search returns passages without saying which amendment is current on a given day, so the analyst has to read the whole chain by hand.

**The outcome:** The analyst gets the terms in force on the chosen date, the amendment they came from, and the sentence they rest on, with doubtful cases routed to Review.

### Steps

1. Run `git clone https://github.com/deeplethe/utopia.git` and then `cd utopia`.
2. Run `docker compose --profile app up -d` and open http://localhost:1516 to register; the first account becomes the administrator.
3. Under Administration, go to Models and configure the chat and embedding endpoints before extracting business documents.
4. Create a knowledge base, upload the agreement and its amendments as PDF or Word, and let extraction finish.
5. Ask the chat which payment terms applied on the date you need and which parties were named, then open the citations to check the source passage.

### Prompt to paste into your agent

```text
Using the Utopia repo at <repo path>, help me load the agreement files at <folder> into a knowledge base and ask which payment terms applied on <date>. Expected output: the terms in force on that date, the amendment they came from, and the cited sentence. Verify that each cited sentence appears in the source document before reporting the answer.
```

### Caveat

Answers depend on the chat and embedding models you configure, and the README says doubtful cases are left to a person in Review, so check the cited passages before relying on them.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/deeplethe-utopia/answer-dated-contract-terms/

## How to show who held a role in a past quarter and what was known then with Utopia

Repo: [deeplethe/utopia](https://github.com/deeplethe/utopia) | Difficulty: Intermediate | Time: 1 hour | Basis: From the README

Ingest dated announcements and minutes, then ask who held a role in a period and what the base believed at the time.

**Who it is for:** An HR, finance or research lead who must reconstruct a past handover or a later correction and needs to separate what was true from what was on record at the time.

**The problem:** Corrections and restatements overwrite the record, so it is hard to answer both who led a project in a quarter and what the team understood back then.

**The outcome:** The user gets the holder for the requested period and, separately, what the base knew at that earlier time, with corrections linked to the entries they replaced.

### Steps

1. Run `git clone https://github.com/deeplethe/utopia.git` and then `cd utopia`.
2. Run `docker compose --profile app up -d` and open http://localhost:1516, then register the first account.
3. Under Administration, go to Models and configure the chat and embedding endpoints.
4. Create a knowledge base and upload announcements, minutes and filings, keeping the dates they were written.
5. Ask who led the project in the quarter you need and what the base believed about it at the time, then check the linked corrections in the graph browser.

### Prompt to paste into your agent

```text
Using the Utopia repo at <repo path>, load the dated records in <folder> and ask who led <project> in <quarter> and what the base believed about it then. Expected output: the holder for that period and the separate belief-at-the-time answer, each with its source. Verify that any correction shows the entry it replaced.
```

### Caveat

Dated answers depend on the dates present in your source documents, so records without clear dates will not support the two-clock answer the README describes.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/deeplethe-utopia/trace-who-held-role-over-time/

## How to connect a coding agent to a knowledge base over MCP with Utopia

Repo: [deeplethe/utopia](https://github.com/deeplethe/utopia) | Difficulty: Advanced | Time: 1 hour | Basis: From the README

Give Cursor a scoped MCP connection to a base so it can read dated facts and send proposed changes for review.

**Who it is for:** An engineering or operations team member using Cursor who wants the agent to answer questions about a system's entities from the team's knowledge base.

**The problem:** Agents working on a team's systems lack structured, dated context, and copying passages into prompts gives them stale or unverifiable facts.

**The outcome:** Cursor reads typed, dated answers with stable identifiers and evidence, and anything it wants to record is proposed for a person to approve first.

### Steps

1. Run `git clone https://github.com/deeplethe/utopia.git` and then `cd utopia`.
2. Run `docker compose --profile app up -d`, open http://localhost:1516, and register the first account.
3. Create or pick a knowledge base, then create an access token scoped to it as described in the MCP guide at web/src/docs/mcp.md.
4. In Cursor, add an MCP server entry that points at the Utopia MCP endpoint named in the MCP guide, using the scoped token. (inferred, check the README)
5. Ask Cursor for the facts about an entity as of a date and check that the answer lists stable identifiers and evidence.

### Prompt to paste into your agent

```text
Using the Utopia repo at <repo path>, connect Cursor to the knowledge base <base name> over MCP using a token scoped to that base. Expected output: a dated answer about <entity> as of <date> with identifiers and evidence. Verify that the agent did not write any fact directly, only proposals.
```

### Caveat

The README points to web/src/docs/mcp.md for the tool list and connection details, which were not included here, so the exact endpoint and token steps must be taken from that guide.

Risk, credentials: The MCP token grants the agent access to the knowledge base, so scope it to one base, keep it out of shared files, and revoke it when no longer needed.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/deeplethe-utopia/let-agent-read-knowledge-base-over-mcp/

## How to push timed observations from a system into a dated graph with Utopia

Repo: [deeplethe/utopia](https://github.com/deeplethe/utopia) | Difficulty: Advanced | Time: 1.5 hours | Basis: From the README

Send each observation with its timestamp so the base can answer where something was at a time and where it is now.

**Who it is for:** A robotics, monitoring or security engineer whose system already records what it saw and when, and who needs history queries over those observations.

**The problem:** Without a dated store, a system can report only its latest state, so questions about an earlier position or status cannot be answered from its own logs.

**The outcome:** The engineer can ask for the value at a past moment and the current value, each tied to the observation it rests on.

### Steps

1. Run `git clone https://github.com/deeplethe/utopia.git` and then `cd utopia`.
2. Run `docker compose --profile app up -d` and open http://localhost:1516, then register the first account.
3. Under Administration, go to Models and configure the chat and embedding endpoints, then create a knowledge base with an ontology pack.
4. Send each observation through the API using the extraction contract described in docs/walkthrough.md, including the observation time. (inferred, check the README)
5. Ask for the object's position at an earlier time and its current position, then confirm both answers cite the matching observations.

### Prompt to paste into your agent

```text
Using the Utopia repo at <repo path>, push the timed observations in <file> for object <object id> through the extraction contract in docs/walkthrough.md. Expected output: the value at <time> and the current value, each with its observation. Verify that the earlier value was closed, not overwritten, when the later observation arrived.
```

### Caveat

The README marks this push path as new in rc7, and the exact request format lives in docs/walkthrough.md, so verify the contract there before sending real observations.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/deeplethe-utopia/push-timed-observations-into-graph/
