World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
Per-tenant bitemporal context graph built from domain events, shared by agents via five tools.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
Copy this message into a Claude chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server Keel for Claude on this computer, in this order: 1) Check uv with uv --version. If it is missing, tell me to install it from https://docs.astral.sh/uv/getting-started/installation/; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "mcpServers": { "keel": { "command": "uvx", "args": [ "keel-context", "serve", "--tenant", "your-value" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the Keel tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Already installed? Check first · Open Terminal, type this command and press Enter
uv --versionMac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: uv has no click-through installer. Copy the one-line command for your system (macOS or Windows) from uv’s official page into Terminal · no separate Python install needed; uv downloads it when required
When it’s done, close Terminal, open it again and run the same command. You should see a version number: uv --version
Install once; it works for everything that needs uv
SettingsDeveloperEdit Config
{
"mcpServers": {
"keel": {
"command": "uvx",
"args": [
"keel-context",
"serve",
"--tenant",
"your-value"
]
}
}
}Use Keel and tell me what you can do for me, then show me one thing✓ If Claude says it is using Keel or shows a Keel tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
KEEL_DB A SQLite file or a mysql:// URL; in memory when unsetKEEL_AGENT The agent id, when the cartridge declares agentsDescriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Keel yet
Keel runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Keel
B · Others in Other that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
Install Python (uv) on your computer first (one time)
Copy this message into a Claude Code chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server Keel for Claude Code on this computer, in this order: 1) Check uv with uv --version. If it is missing, tell me to install it from https://docs.astral.sh/uv/getting-started/installation/; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): claude mcp add --scope user keel -- uvx keel-context serve --tenant your-value 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the Keel tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Already installed? Check first · Open Terminal, type this command and press Enter
uv --versionMac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: uv has no click-through installer. Copy the one-line command for your system (macOS or Windows) from uv’s official page into Terminal · no separate Python install needed; uv downloads it when required
When it’s done, close Terminal, open it again and run the same command. You should see a version number: uv --version
Install once; it works for everything that needs uv
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user keel -- uvx keel-context serve --tenant your-valueYou should see Keel listed as connected
Use Keel and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Keel or shows a Keel tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
KEEL_DB A SQLite file or a mysql:// URL; in memory when unsetKEEL_AGENT The agent id, when the cartridge declares agentsDescriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Python (uv) on your computer first (one time) · No one-click button: paste the settings and fill in the values yourself
Copy this message into a Cursor chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server Keel for Cursor on this computer, in this order: 1) Check uv with uv --version. If it is missing, tell me to install it from https://docs.astral.sh/uv/getting-started/installation/; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "mcpServers": { "keel": { "command": "uvx", "args": [ "keel-context", "serve", "--tenant", "your-value" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the Keel tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Already installed? Check first · Open Terminal, type this command and press Enter
uv --versionMac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: uv has no click-through installer. Copy the one-line command for your system (macOS or Windows) from uv’s official page into Terminal · no separate Python install needed; uv downloads it when required
When it’s done, close Terminal, open it again and run the same command. You should see a version number: uv --version
Install once; it works for everything that needs uv
~/.cursor/mcp.json
Paste these settings, fill in the empty values and save
{
"mcpServers": {
"keel": {
"command": "uvx",
"args": [
"keel-context",
"serve",
"--tenant",
"your-value"
]
}
}
}Use Keel and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Keel or shows a Keel tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
KEEL_DB A SQLite file or a mysql:// URL; in memory when unsetKEEL_AGENT The agent id, when the cartridge declares agentsDescriptions are as written by the maker.
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Python (uv) on your computer first (one time) · No one-click button: paste the settings and fill in the values yourself
Copy this message into a VS Code chat. The AI checks your computer, tells you which file it will change, and waits for your OK every time.
Please install the MCP server Keel for VS Code on this computer, in this order: 1) Check uv with uv --version. If it is missing, tell me to install it from https://docs.astral.sh/uv/getting-started/installation/; do not install it yourself. 2) Use only this config (already checked by PopNx MCP): { "servers": { "keel": { "type": "stdio", "command": "uvx", "args": [ "keel-context", "serve", "--tenant", "your-value" ] } } } 3) Tell me the full path of the file you will change, or the command you will run, and wait for my OK. 4) No key is needed. 5) Do what we agreed, then check that the Keel tools really show up.This message has no key in it. If a key is needed, the AI will ask you to paste it yourself into the file or the app’s field.
Already installed? Check first · Open Terminal, type this command and press Enter
uv --versionMac: press ⌘ + Space, type Terminal, press Enter
Windows: open Start, type Windows PowerShell, then Open
Not installed: uv has no click-through installer. Copy the one-line command for your system (macOS or Windows) from uv’s official page into Terminal · no separate Python install needed; uv downloads it when required
When it’s done, close Terminal, open it again and run the same command. You should see a version number: uv --version
Install once; it works for everything that needs uv
MCP: Open User Configuration
Paste these settings, fill in the empty values and save
{
"servers": {
"keel": {
"type": "stdio",
"command": "uvx",
"args": [
"keel-context",
"serve",
"--tenant",
"your-value"
]
}
}
}Use Keel and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Keel or shows a Keel tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
KEEL_DB A SQLite file or a mysql:// URL; in memory when unsetKEEL_AGENT The agent id, when the cartridge declares agentsDescriptions are as written by the maker.
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Claude Code
claude mcp add --scope user keel -- uvx keel-context serve --tenant your-valueClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"keel": {
"command": "uvx",
"args": [
"keel-context",
"serve",
"--tenant",
"your-value"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"keel": {
"command": "uvx",
"args": [
"keel-context",
"serve",
"--tenant",
"your-value"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"keel": {
"type": "stdio",
"command": "uvx",
"args": [
"keel-context",
"serve",
"--tenant",
"your-value"
]
}
}
}KEEL_DB envKEEL_AGENT envDescriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
pypi: keel-contextoci: ghcr.io/angelkurten/keel:0.38.0Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 16, 2026
The registry name was verified with the GitHub account angelkurten, which owns the repo
Code last changed 11 days ago
Uses Apache-2.0
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
No entries on OSV.dev for keel-context@0.38.0
Checks only this package version, not every dependency · checked Nov 15, 2026
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 11 days ago, and the latest version (0.38.0) reached the registry 11 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv), Docker on your computer.
In the same category: World Monitor, openstatus, Oh My Posh Validator, Strata, Jitsu
Same category, other makers, commands already checked. Official ones first, then by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
Manage monitors, status pages, incidents and maintenances in your openstatus workspace.
Validate oh-my-posh configurations and segment snippets against the official schema.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Manage Jitsu data pipelines: destinations, streams, connections, functions, live events.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Stop rebuilding the pipeline for every agent.
[Live demo](https://demo.angelkurten.com) · Docs · Hosted console (beta) · Why: We built four agents and four copies of our customer context
Keel is a context layer for the AI agents inside a product: a vertical SaaS, a consumer app, an internal tool. Domain events from your product go in; a bitemporal context graph per tenant comes out, whatever your unit is (an end-customer, a household, a team); every agent you build reads and writes it through the same five tools, over MCP, HTTP or a typed SDK.
You describe your vertical once, in a *cartridge* (ontology, event catalog, semantic rules, memory policies). Keel's core knows nothing about your domain. Your second agent connects in a day instead of weeks, because there is no second pipeline to write.
Try it in a minute, with an example cartridge and its events:
pip install keel-context
keel init fleet --example fleet # also crm, clinics, finance keel context fleet fleet/events.jsonl unit:MXK-4821
Status: 0.38.0, alpha. Container:
ghcr.io/angelkurten/keel. The five tools (plusquery, an optional read-only SQL sixth, off by default) over MCP and an HTTP JSON API (/v1), Postgres, webhook, Kafka and SQS adapters, semantic search, consolidation, an agent registry and SDKs for TypeScript, Python, Go and PHP, on the in-memory store, SQLite (--db keel.db, stdlib, no server to run), MySQL (--db mysql://...), Postgres (--db postgresql://...) or DuckDB (from Python).
Every new agent in a product repeats the same work: extract the customer's data, normalize it, decide what "critical" means, keep its own memory, expose its own tools to the model. Four agents, four copies of the customer's context, four definitions of "critical", four memories that never talk.
Existing memory layers (Zep, Mem0, AgentCore Memory, Neo4j's MKG) ingest text and documents and model memory per user or per agent. None of them start from domain events, and none model the tenant your product already has: the end-customer of a B2B SaaS, the household of a consumer app, the team of an internal tool.
valid_from, valid_to, recorded_at, and who corrected it. Audit-ready by construction.| Tool | The question it answers |
|---|---|
context | What do I know about this subject now, or at a past moment? Open facts, relations and rule verdicts. |
history | How did it change over time, and when did we learn it? |
search | Which subjects match? By text, kind, rule, attribute value or meaning. |
related | What is it connected to, up to three hops? |
annotate | Remember what an agent or a person concluded, with evidence and a scope. |
query (optional) | Off unless enabled (keel serve --query): read-only SQL over views generated from the cartridge, to filter, join, count or aggregate. The store binds it to one tenant. |
Every parameter is in the specification. query never sees another tenant, agent or task memory, or proposals, whatever SQL the agent writes (how).
search(mode="semantic") finds subjects by meaning: ids in the query first, then a dense and a lexical leg fused, then an optional reranker. Where vectors live and which model makes them are adapters you choose: in memory, Chroma, Weaviate, any OpenAI-compatible embeddings endpoint, or your own vector database and model (how, example).
Expose them over MCP (keel serve) and point any agent framework at them. Declare agents: in the cartridge and keel serve --agent binds a server to one of them: what it may read and write is enforced by the layer, not by the agent.
uv sync --extra dev
uv run keel validate examples/fleet --events examples/fleet/events.jsonl uv run keel ingest examples/fleet examples/fleet/events.jsonl uv run keel context examples/fleet examples/fleet/events.jsonl unit:MXK-4821
Then write your own cartridge: see docs/first-cartridge.md (20 minutes). Settings (database, secret, embeddings keys) go in a .env: copy .env.example (reference).
In your own product it is a library: uv add keel-context (or pip install keel-context); the import is import keel. From another language, generate a typed client from your cartridge: keel sdk typescript|python|go|php examples/fleet -o , with a small runtime per language (see docs/sdks.md).
Run Keel on your product's events with your agents, with our help: your first pilot in a day is the path, with a time budget per step. Open a pilot request, book 30 minutes at calendar.app.google/3oKUSqXTQPYmjya56, or write to angel@angelkurten.com.
Point an MCP client at the five tools:
uv sync --extra mcp
uv run keel serve examples/fleet --tenant acme-logistics --events examples/fleet/events.jsonl
With Claude Code, one command registers it and the agent sees exactly five tools:
claude mcp add keel -- uv run --directory $PWD keel serve examples/fleet --tenant acme-logistics --events examples/fleet/events.jsonl
Codex CLI (OpenAI) works the same way from ~/.codex/config.toml; the four read tools are annotated read-only, so it runs them without prompting. Both clients answered the same questions through the same five tools: see serve the tools. A backend, or many tenants from one process, use the same five as a JSON API: keel serve --transport http (/v1/context, /v1/events, ... with OpenAPI; tenant and agent per request).
Send your product's events from wherever they already are (how, for each):
keel cdc --dsn postgresql://... --map cdc.yaml --db keel.db --setup follows your own tables; each row change is an event.keel sdk typescript -o src/keel.ts, then keel.events([emit.tireDepthMeasured({...})]) (also Python, Go, PHP).PostgresTableAdapter polls it in order with a cursor, so restarts resume.POST /v1/events on keel serve --transport http, or build_app(ingestor, token=...).keel consume --queue , or KafkaAdapter from Python; at-least-once, acknowledged after each commit.keel ingest events.jsonl --db keel.db.keel export --db keel.db writes one tenant's whole audit trail as JSONL, closed facts and provenance included; keel import restores it, as it was, into an empty tenant of any store.
Every box, the options for each and when to pick which: docs/architecture.md.
Design rules the core enforces:
global > tenant > task > agent. Nothing is promoted to a wider scope by accident. Agent memory is read only by the agent that wrote it; task memory tied to a task id only by calls that pass that task (context(task=), history(task=)); global memory lives in a reserved partition every tenant reads and no event writes.keel/ core: envelope, handlers, store, scopes, cartridge loader, ingest, tools, cli
cartridges/ your own cartridges (empty here) examples/ fleet (reference), crm, finance and clinics: four domains, one core, no core change between them; each a cartridge, its events and its test; fleet also has a minimal agent and a multi-agent workflow sdk/ SDK runtimes: typescript, go, php (the Python client ships in keel) evals/ benchmarks: Jira questions (the paper), TDBench, semantic search, scale and efficiency docs/ site sources (mkdocs.yml at the root): architecture, first-cartridge, ingest, serve, sdks, operate, SPEC tests/
A summary; the full plan, with what each release shipped, is in ROADMAP.md.
Shipped:
keel expire, keel consolidate)as_known_at), changes since a watermark, task ids, idempotent writes, proposals, conflicts, tracesquery, the optional sixth tool: read-only SQL generated from the cartridge, bound to one tenant by the store (0.35.0)Open: