Atlas / MCP servers / cognitivecomputations / AGI Memory

AGI MemoryBLOCK

mcp/cognitivecomputations/agi-memory-1
Verdict
BLOCK
Grade
F
Trust score
30 /100
Exposed tools
3 3r · 0w · 0d
Transport
stdio
License
MIT
Stars
617
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Memory, Identity, and the Shape of Becoming

[](https://github.com/QuixiAI/Hexis/actions/workflows/ci.yml) [](LICENSE) [](https://www.python.org/downloads/)

A Postgres-native cognitive architecture that wraps any LLM and gives it persistent memory, autonomous behavior, and identity. You run it locally. Your data stays yours.

LLMs are already smart enough. What they lack is continuity -- the ability to wake up and remember who they are, pursue goals across sessions, and say no because it contradicts something they've become. Hexis provides the missing layer: multi-layered memory, an autonomous heartbeat (the agent's own wake-up cycle), an energy budget, and a coherent self that persists over time.

What makes Hexis different from every other agent framework:

  • A brain, not a vector store. Cognition lives in PostgreSQL — memory, beliefs, identity, goals, and energy are ACID state with the logic beside the data. Other frameworks bolt retrieval onto a chat loop; Hexis is a mind you can query.
  • Beliefs that answer "why." Confidence rises and falls with evidence through an audited revision policy — the agent can tell you exactly which document moved a belief from 0.60 to 0.71, and when.
  • A self, not a session. Identity, worldview, emotional state, drives, and an autonomous heartbeat that pursues goals while you're away — with an energy budget that keeps autonomy intentional.
  • Your mind is a file. hexis export --mind creates a private, inspectable HMX file that can move to an empty machine and prove the same lineage and constitutional state woke up there.
  • **Learn
Read from source at commit 64f8864d0c41OBSERVED · 2026-10-07
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add hexis-ui --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env ANTIGRAVITY_OAUTH_CLIENT_ID=${ANTIGRAVITY_OAUTH_CLIENT_ID} --env ANTIGRAVITY_OAUTH_CLIENT_SECRET=${ANTIGRAVITY_OAUTH_CLIENT_SECRET} --env ASANA_ACCESS_TOKEN=${ASANA_ACCESS_TOKEN} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "hexis-ui": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
        "ANTIGRAVITY_OAUTH_CLIENT_ID": "${ANTIGRAVITY_OAUTH_CLIENT_ID}",
        "ANTIGRAVITY_OAUTH_CLIENT_SECRET": "${ANTIGRAVITY_OAUTH_CLIENT_SECRET}",
        "ASANA_ACCESS_TOKEN": "${ASANA_ACCESS_TOKEN}"
      }
    }
  }
}
03

Exposed tools (3)

3 read · 0 write · 0 destructive.

ToolRiskDescription
ChatreadOpen your conversation with Hexis
ExamplereadDescription
HexisreadA persistent AI identity, available wherever you are.
04

Trust audit

BLOCKgrade F · trust 30/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (11 observation(s))
Network
declared (13 observation(s))
Shell
declared (8 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

CRITICALObfuscation / stealth · obf.decode_then_exec · CWE-506, CWE-94
core/execution_backends.py:1124
b64decode( ... subprocess.
Why it matters. decodes a payload and executes it
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
core/tools/dynamic.py:157
exec(code, namespace, namespace)  # noqa: S102
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
services/rlm_repl.py:249
exec(code, combined, combined)
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHNetwork egress · net.metadata_ip · CWE-200, CWE-319
channels/media.py:115
if hostname in ("metadata.google.internal", "metadata.internal"):
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
apps/hexis_mcp_server.py:49
return f"postgresql://{db_user}:{db_password}@{db_host}:{db_port}/{db_name}"
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
core/agent_api.py:56
return f"postgresql://{user}:{password}@{host}:{port}/{database}"
HIGHHard-coded secrets · secret.db_uri · CWE-798, CWE-321
core/instance.py:74
return f"postgresql://{self.user}:{password}@{self.host}:{self.port}/{self.database}"
HIGHPrompt injection · prompt.hide_from_user · CWE-94, CWE-1427
skills/installed/gmail-connector-setup/SKILL.md:17
- Treat connection setup as a first-class conversation flow. Do not tell the user to leave chat and figure it out alone.
Why it matters. asks the agent to act without the user's knowledge
HIGHPrompt injection · prompt.hide_from_user · CWE-94, CWE-1427
skills/installed/twitter-x-connector-setup/SKILL.md:17
- Treat connection setup as a first-class conversation flow. Do not tell the user to leave chat and figure it out alone.
Why it matters. asks the agent to act without the user's knowledge
MEDIUMCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
apps/cli_auth.py:286
return importlib.import_module(_map[provider])
MEDIUMCode injection · code.dynamic_import · CWE-78, CWE-94, CWE-95
apps/hexis_init.py:211
mod = importlib.import_module(entry[0])
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
apps/hexis_cli.py:3653
["Local target", f"http://127.0.0.1:{payload.get('ui_port') or 3477}"],
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
apps/hexis_cli.py:3703
local_url = f"http://127.0.0.1:{port}/api/status"
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
apps/hexis_cli.py:3886
table.add_row("Endpoint", str(payload.get("url") or "http://127.0.0.1:42667"))
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
apps/hexis_cli.py:6709
or "http://127.0.0.1:43817"
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
docs/guides/mcp-integration.md:48
hexis mcp --dsn postgresql://hexis_user:hexis_password@localhost:43815/hexis_memory
MEDIUMHard-coded secrets · secret.db_uri · CWE-798, CWE-321
docs/guides/web-ui.md:56
DATABASE_URL=postgresql://hexis_user:[email protected]:43815/hexis_memory
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
tests/core/test_agent_loop.py:1253
secret = "sk-supersecret123456"
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
tests/db/test_journal.py:102
token = "SECRETJOURNALTOKENZZ"
MEDIUMHard-coded secrets · secret.private_key · CWE-798, CWE-321
tests/core/test_agent_loop.py:1168
"private_key='-----BEGIN PRIVATE KEY-----\n"
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
tests/core/test_channels_phase2.py:272
monkeypatch.setenv("SLACK_BOT_TOKEN", "xoxb-test-token-value")
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
tests/core/test_channels_phase2.py:274
assert result == "xoxb-test-token-value"
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
tests/core/test_messaging_tools.py:46
monkeypatch.setenv(token_env, "xoxb-test-token-that-is-long-enough")
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
tests/services/test_channel_backfill.py:83
monkeypatch.setenv(token_env, "xoxb-test-token-that-is-long-enough")
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
tests/services/test_channel_backfill.py:111
assert token == "xoxb-test-token-that-is-long-enough"

Gates applied: critical_finding, instruction_override, no_behavioural_pass.

Audited 2026-10-07 · audit v0.4.1 · source sha 64f8864d0c41full audit observations/trust-audit/mcp-server/cognitivecomputations__agi-memory-1.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-0764f8864d0c41BLOCKF30first audit
06

Questions

What tools does AGI Memory expose?

3 in total: 3 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is AGI Memory safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (30/100) and found 9 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does AGI Memory need?

It reads ANTHROPIC_API_KEY, ANTIGRAVITY_OAUTH_CLIENT_ID, ANTIGRAVITY_OAUTH_CLIENT_SECRET, ASANA_ACCESS_TOKEN, ASANA_API_KEY, CHUTES_CLIENT_SECRET, FATHOM_API_KEY, GEMINI_CLI_OAUTH_CLIENT_ID, GEMINI_CLI_OAUTH_CLIENT_SECRET, HEXIS_API_KEY, HEXIS_LLM_CONSCIOUS_API_KEY and HEXIS_WEB_PUSH_VAPID_PRIVATE_KEY_FILE from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does AGI Memory run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as hexis-ui at 1.0.0.

How current is this page?

The grade is for one exact copy of the source (64f8864d0c41), read on 2026-10-07. The repository is watched and re-audited when it changes.

Advertisement