memory-cloudBLOCK
Adaptive memory for AI agents & teams — beyond RAG. Self-hosted MCP server that gets smarter every time you search: hybrid search + a neural memory graph that learns. Works with Claude, ChatGPT & any MCP client.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
English · 日本語
Adaptive memory for AI agents and teams — self-hosted, beyond RAG. An MCP server that gets smarter every time you search: hybrid search + a neural memory graph that learns which memories belong together.
Works with Claude, ChatGPT, Gemini, and any MCP-compatible client. Python SDK (KaguraClient, REST clients & FileIngestor)
df623e5c1124OBSERVED · 2026-10-10Connect
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 mcp add kagura-web --env API_KEY_SECRET=${API_KEY_SECRET} --env AUTH_PROVIDERS=${AUTH_PROVIDERS} --env E2E_ADMIN_PASSWORD=${E2E_ADMIN_PASSWORD} --env GB_TEST_KEY=${GB_TEST_KEY} -- npx -y [email protected]{
"mcpServers": {
"kagura-web": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"API_KEY_SECRET": "${API_KEY_SECRET}",
"AUTH_PROVIDERS": "${AUTH_PROVIDERS}",
"E2E_ADMIN_PASSWORD": "${E2E_ADMIN_PASSWORD}",
"GB_TEST_KEY": "${GB_TEST_KEY}"
}
}
}
}Trust audit
BLOCKgrade F · trust 33/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (2 observation(s))
- Network
- declared (12 observation(s))
- Shell
- declared (3 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- found
Findings (25)
@echo "Running live retrieval-quality eval (needs the stack: make up)..."
@echo "Running live cold→replay→warm compounding eval (Issue #969, needs the stack: make up)..."
@echo "Running live update-correctness eval (H4 update-slice, needs the stack: make up)..."
DATABASE_URL=postgresql://kagura:kagura_dev_password@localhost:5432/kagura
Requires `CODECOV_TOKEN` (read from `.env.local`, or export it).
logger.info("api_key_stats_retrieved", key_id=api_key.id, public_id=key_id, days=days)logger.info("api_key_deleted", key_id=api_key.id, public_id=api_key.public_id, user_id=user_id)logger.warning("invalid_api_key_attempt", key_prefix=api_key[:16] if api_key else None)logger.warning("invalid_oauth_bearer_attempt", token_prefix=api_key[:8])logger.warning("invalid_api_key_attempt", key_prefix=api_key[:16])_REDIRECT_URIS_JSON = '["urn:ietf:wg:oauth:2.0:oob", "http://127.0.0.1:0/"]'
"callback", f"http://127.0.0.1:{self.server.server_address[1]}{self.path}"self.redirect_uri = f"http://127.0.0.1:{self.callback.port}/callback"unregistered = f"http://127.0.0.1:{self.callback.port}/unregistered"unregistered = f"http://127.0.0.1:{self.callback.port}/unregistered"gradient_clipping: float = 0.5 # Max total Δw per node per update
f"(Δt={delta_seconds:.0f}s)""redis://user:s3cret@store:6379/0",
_LEAKY = "connection to postgresql://svc:[email protected]/kagura failed; see /srv/app/db.py"
ConnectionError("postgresql://svc:[email protected]/kagura via /srv/app/db.py"),_LEAKY = "connection to postgresql://svc:[email protected]/kagura failed; see /srv/app/db.py"
token="eyJhbGciOiJFZERTQSJ9.fake.sig",
token = "xoxb-super-secret-token-value"
token="bearer-value-sentinel",
token = "raw-invite-token-DO-NOT-LEAK-7f" # noqa: S105
Gates applied: no_behavioural_pass.
df623e5c1124full audit observations/trust-audit/mcp-server/kagura-ai__memory-cloud.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | df623e5c1124 | BLOCK | F | 33 | first audit |
Questions
What is the memory-cloud MCP server?
Adaptive memory for AI agents & teams — beyond RAG. Self-hosted MCP server that gets smarter every time you search: hybrid search + a neural memory graph that learns. Works with Claude, ChatGPT & any MCP client.
Is memory-cloud safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (33/100) and found 5 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 memory-cloud need?
It reads API_KEY_SECRET, AUTH_PROVIDERS, E2E_ADMIN_PASSWORD, GB_TEST_KEY, GITHUB_CLIENT_SECRET, GOOGLE_CLIENT_SECRET, MINIO_TEST_ACCESS_KEY, MINIO_TEST_SECRET_KEY, NEXT_PUBLIC_ENABLE_MOCK_AUTH, OPENAI_API_KEY, PW_OAUTH_IDP and R2_ACCESS_KEY_ID 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 memory-cloud run?
It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as kagura-web at 0.99.0.
How current is this page?
The grade is for one exact copy of the source (df623e5c1124), read on 2026-10-10. The repository is watched and re-audited when it changes.