mrkeyoor.com_
Tue 01 Sept 17:44 UTC
AI Toolsevaluationupdated 25 Aug 2026

nakama review

Nakama is a self-hosted AI agent server for teams, with a web chat, organizations, roles, persistent sessions, tool permissions, skills, MCP connections, automations, and Telegram, WhatsApp, and Discord bridges. It puts several agents and users behind one deployment instead of making every teammate configure a personal agent process.

+9stars / 7d
Verdict

Our Nakama build passed in 37 seconds, but the 466-second test run ended with 3 database failures and 8 server failures, so this active v0.4.3 project still needs operator scrutiny. Its organization boundary and per-profile tools solve a real team problem that personal agents do not. Use it for a controlled internal deployment with trusted administrators; do not expose custom tool creation or an untuned public server to people you do not trust.

We ran it

Lab card: what happened when we ran nakamaScreenshot of nakama (ahmadrosid.github.io/nakama)
Install✓ · 72s1061 packages · 1509 MB
Build✓ · 37s
Tests✗ · 466sran, no count parsed
Repo1360 files~223,627 lines of source · 22 MB · 5 CI workflows · Dockerfile

Answers from our run

Does nakama build from source?

Dependencies installed in 72 seconds (1061 packages), and the build succeeded in 37 seconds. We cloned commit cf3d6ac into a clean Debian container with 3 CPUs and no project-specific setup.

Do nakama's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use nakama?

Teams that let untrusted users install custom tools: critical issue #447 says JavaScript handlers run inside the server process and Python receives the full server environment.

What are the alternatives to nakama?

OpenClaw, Hermes Agent, Dify. Our Nakama build passed in 37 seconds, but the 466-second test run ended with 3 database failures and 8 server failures, so this active v0.

Setup3/5Docker is short; providers, channels, and persistence add work
Docs4/5Clear setup and subsystem guides with some product drift
Community3/5Small audience, same-day work, fast issue and release activity
Maturity2/5v0.4.3 with open security controls and failing server tests

Who it’s for

Small technical teams that want shared AI agents with separate profiles, histories, tools, and permissions.
Operators willing to manage model credentials, a SQLite data root, backups, channel tokens, and trusted tools.
Organizations that need browser chat plus Telegram, WhatsApp, Discord, CLI, automation, and task entry points.
Platform administrators who want MCP and SaaS actions assigned per agent profile.

Who it’s NOT for

Teams that let untrusted users install custom tools: critical issue #447 says JavaScript handlers run inside the server process and Python receives the full server environment.
Internet-facing deployments that require rate limiting and request body limits today: open security issues #357 and #358 request both controls.
Operators who cannot protect whole-install backups: exported ZIP files can contain provider API keys, authentication data, custom tools, skills, and the SQLite database.
Organizations that want org admins to manage the entire bot system: the multi-tenancy guide says profile and tool provisioning still belongs to platform admins.
Buyers expecting a settled product: v0.4.3 is active, but our source run had 11 failures across the database and server package summaries.

Setup reality

Our Bun install succeeded in 72 seconds, adding 1,061 packages and using 1,509 MB on disk. The build passed in 37 seconds. Tests ran for 466 seconds and exited 1; the log tail reports 3 failed database tests and 8 failed server tests, while the listed CLI, Telegram, WhatsApp, web, and Discord suites passed their shown cases.

First boot needs an admin account, organization, LLM provider, model, and API key, unless you use a local Ollama endpoint. Telegram, WhatsApp, Discord, Composio, MCP servers, email, and coding agents each add their own credentials or processes. State defaults to ~/.nakama, including SQLite and configuration.

Local development requires Bun and starts web and server processes. Docker exposes port 4310 and needs a persistent /nakama/data volume. Channel workers can use PM2, and public OAuth callbacks need a non-loopback web URL.

One server can separate several organizations

Nakama uses an organization as its tenant boundary. Profiles, sessions, members, tools, skills, MCP servers, usage data, and shared memory belong to that organization. Roles split platform admin, org admin, member, and viewer access. A viewer can read history without invoking an agent, while an org admin manages membership. This is the reason to consider Nakama over a personal desktop agent: one deployment can serve multiple teams or customers without intentionally sharing their agent state.

The separation has an administrative catch. Platform admins still provision profiles and tools, even inside organizations run by org admins. Removing an organization hides it from chat, workers, and the switcher, but the docs say members, profiles, and files remain on disk. The last organization cannot be removed. Those semantics may be right for recoverability, yet an operator must understand that deletion from the interface is not secure erasure and that the platform administrator remains powerful across tenant boundaries.

Profiles bind one model to selected tools

Each profile combines its instructions, memory, model, skills, built-in tools, custom tools, and assigned MCP servers. The server supports 10 provider types in its current table, including OpenAI, Anthropic, Gemini, Ollama, OpenRouter, DeepSeek, Cerebras, Fireworks, Cloudflare Workers AI, and custom OpenAI-compatible endpoints. Two profiles in one organization can use different models. Provider-dependent behavior matters: built-in web search is limited to OpenAI or Anthropic, while Telegram audio transcription requires OpenAI.

MCP support is a client feature, with HTTP and stdio transports. A stdio server gets one process per profile and starts in that profile's workspace; HTTP connections are shared across assigned profiles. Tools are namespaced and cached when the server connects, then require a sync when the remote list changes. Platform admins register servers and assign them. This is flexible, but every HTTP header, stdio environment variable, and spawned command expands the secrets and code that a Nakama administrator must audit.

What happened when we ran it

Our sandbox installed commit cf3d6ac in 72 seconds using Bun. The monorepo pulled 1,061 packages and occupied 1,509 MB on disk. Its 1,360 files contained about 223,627 lines of source, and the repository had 5 CI workflow files plus a Dockerfile. The build completed successfully in 37 seconds. This is a sizable Node installation for a service presented as one Docker container, though the container remains the simpler operator path.

Tests ran for 466 seconds and exited with code 1. The log tail shows 3 failed tests and 1 error in @nakama/db, plus 8 failed tests and 5 errors in @nakama/server. It also reports completed runs for the CLI, Telegram, WhatsApp, web, and Discord packages, with their displayed cases passing. The provided tail does not identify the failing assertions or their causes, so the finding is limited to package scope and outcome rather than a theory about missing services.

Custom tools currently share the server's trust

Open issue #447 is the clearest deployment boundary. It says custom JavaScript handlers execute in the server process and custom Python tools inherit the full server environment. The issue is labeled critical and scheduled for later. A malicious or careless tool can therefore reach beyond one agent's intended workspace or secrets. Profile-level assignment controls which agent can call a tool, but it does not turn the tool implementation into untrusted code. Only platform administrators should install code they have reviewed.

Other open security work includes request-body validation and size limits, global and stricter authentication rate limits, redaction of message content and phone numbers from channel logs, and avoiding raw internal errors in client responses. Issue #374 also groups smaller fixes involving login CSRF, proxy HSTS, Telegram state, WhatsApp local authentication, and platform-admin access. An internal network and reverse proxy can reduce exposure, but they do not replace the missing application controls described in those issues.

v0.4.3 is moving faster than its operations story

Release v0.4.3 shipped on 2026-08-23, and GitHub recorded another push on 2026-08-25. The release added WhatsApp group handling and an optional skill-curation feature alongside web and issue-template fixes. GitHub showed 52 open issues and pull requests combined. Recent work covers profile export, channel behavior, browser installation, and security. This is active development, which is encouraging for bug turnaround and risky for teams that want slow configuration drift. Pin the image and rehearse upgrades.

Backup support exports the whole data root as a ZIP, and restore replaces the active root rather than merging records. That archive may include API keys, auth data, memory, custom code, and SQLite, so it deserves the same encryption and access control as production secrets. Nakama is most convincing as an internal team agent hub run by one capable administrator. The feature set already reaches far; its current security queue and failing server tests say the safe deployment boundary should stay narrow.

Alternatives

ProjectWhat it isPick it when
OpenClaw gh↗A personal assistant that runs across local devices and existing chat channels.pick this instead when one technical operator wants a personal agent rather than shared organizations and roles.
Hermes Agent gh↗A personal agent with persistent skills, terminal use, and messaging integrations.pick this instead when a single user's adaptable agent matters more than tenant administration.
Dify gh↗A collaborative platform for building and operating agent workflows and RAG applications.pick this instead when visual workflow construction and published AI applications matter more than chat-channel agents.

What people are saying

  1. [github-trending] ahmadrosid/nakama

Sources

  1. Nakama README
  2. Nakama architecture
  3. Nakama multi-tenancy guide
  4. Nakama MCP guide
  5. Nakama backup and restore
  6. Unisolated custom tools issue
  7. Nakama v0.4.3 release

More ai tools reviews

claudian · SkillSpector · robin · mjlab · MoGe · awesome-design-md · the whole board →