Sentinela MCP
Provides coding agents with durable, cross-session lessons-learned memory, enforcing that success or failure verdicts can only come from human approval, human correction, or objective metrics—never from the agent itself.
README
Sentinela MCP
A lessons-learned oracle that refuses to record a "success" it can't attribute to anything but the agent's own opinion.
A Model Context Protocol server that gives coding agents a durable, cross-session memory of what worked and what didn't — with one hard rule baked into the write path: an agent cannot write its own success story.
Built by Luclino Cruz for LuCross, a one-person, AI-agent-operated holding company. Released publicly because the "no self-graded verdicts" constraint is broadly useful, not because it's a finished, install-anywhere product — see Requirements below before you assume it drops into your project.
The problem this solves
An agent finishes a task and reports success. Nothing verifies that claim — the next session (or the next agent) has no memory that this exact mistake was already made and already corrected, so it happily repeats it. Worse: if the agent itself gets to decide what counts as "success" and write that down as a lesson, the lesson can be wrong from the moment it's created.
This project's own dogfooding caught exactly that failure: a production run recorded a "lesson-success" note claiming "final audit validated 80/80 articles clean and compliant." An external, five-minute audit of the actual files — run minutes later — found the opposite: fabricated data still present, several articles at 2-3x the stated length limit, review verdicts copy-pasted across unrelated files. The lesson was accepted as true before anyone outside the agent had checked it.
The 3 tools
| Tool | What it does |
|---|---|
consultar_sentinela(agente, tarefa, tags) |
Returns past corrections ("never repeat") and past confirmations ("worth repeating") relevant to this agent/task, read from a plain-Markdown vault — no vector DB, no embeddings, just files any tool can read. |
reportar_resultado(agente, tarefa, resultado, veredito, detalhe, fonte_veredito, ...) |
Records a durable lesson (success or failure) — but only if fonte_veredito is one of chairman_aprovou / chairman_corrigiu / metrica_objetiva. Anything else is refused outright. The agent that did the work cannot be the source of the verdict about the work. |
session_brief(braco, dias) |
Aggregates recent lessons (default: last 7 days) for injection at session start, so an agent starts a task already knowing what's already gone wrong in this area. |
Why refuse self-graded verdicts instead of just trusting the agent
Because trusting it is exactly what fails. The rejection in
reportar_resultado isn't a formal proof system or a second model checking
the first — it's a deliberately blunt gate: if you can't point to a human
approval, a human correction, or an external objective metric, the "lesson"
doesn't get written. No exceptions, no "but I'm pretty confident" carve-out.
Requirements
This repo has a hard runtime dependency it does not vendor: parsers.py
imports VaultValidator from a sibling vault-guardian MCP project (the
write-gate that actually validates and commits a lesson to the vault) via
sys.path — see the top of parsers.py. That sibling project is not
published yet. Cloning this repo alone gets you:
- Full, working source for
consultar_sentinelaandsession_brief's logic (parsers.pymodule load will still fail without the sibling — see below), and a complete reference for the "never accept a self-graded verdict" pattern. - Not a turnkey install —
import parsersfails at module load time (from validator import VaultValidator) until you either (a) also have avault-guardiandirectory as a sibling of this one implementing the sameVaultValidator.from_schema_file(path)/.validate_write(...)interface, or (b) fork this and swap that import for your own write-gate (a plain "write this Markdown file with frontmatter" function is enough to satisfy the interfaceparsers.pyexpects).
This is published as-is, honestly labeled, rather than silently pretending it's a one-command install — which would be exactly the kind of unverified claim this project exists to prevent.
Quick start (once you have a compatible vault-guardian sibling)
git clone https://github.com/luclinocruz/lucross-sentinela-mcp.git
cd lucross-sentinela-mcp
python -m venv .venv
.venv/Scripts/activate # or: source .venv/bin/activate on Linux/macOS
pip install -r requirements.txt
Register as a project-scoped MCP server (.mcp.json in your project root):
{
"mcpServers": {
"sentinela": {
"command": "/absolute/path/to/lucross-sentinela-mcp/.venv/bin/python",
"args": ["/absolute/path/to/lucross-sentinela-mcp/server.py"],
"cwd": "/absolute/path/to/lucross-sentinela-mcp"
}
}
}
By default, legacy-memory fallback reads from
~/.claude/projects/C--Users-<you>/memory — override with the
SENTINELA_MEMORY_DIR environment variable if your setup differs.
Design notes
- Plain Markdown vault, not a database. Lessons are files with YAML
frontmatter (
type: lesson-error/lesson-success) — readable and editable by any tool, not locked into this server. - No neural network, no formal proof. The "rigor" here is a hard business rule (verdict source allow-list), not a model judging another model. Simple, auditable, impossible to argue around.
- Stateless per call. Every tool call reads the vault fresh — no in-memory cache to go stale or get out of sync across sessions.
License
Apache License 2.0 — see LICENSE.
Author
Luclino Cruz — github.com/luclinocruz
Built as part of the harness for LuCross, a solo-operated, AI-agent-driven company. See also lucross-sensory-grounding-mcp, the sibling project that applies the same "no self-graded verdicts" rule to visual/audio/video/text output.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。