Frinus MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Frinus MCP ServerSearch my memories for the Kubernetes deployment instructions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Frinus MCP Server
φρήν + νοῦς — The cognitive memory bridge between Claude agents and the Frinus platform.
MCP (Model Context Protocol) server that exposes 70 tools spanning cognitive memory, working memory, sessions, agents, the L0–L3 knowledge hierarchy, orchestration tasks, and training pipelines. The server speaks stdio and is consumed by Claude Desktop, Claude Code, and any MCP-aware client.
Version: 3.1.0
Tools: 70 (see Tools Reference)
Backends: Memory Engine (
:8001) + Control Plane (:8000) + Agent Service (:8002)Public mirror: https://github.com/frinus-ai/frinus-mcp
Rule Zero — MCP is mandatory
The Frinus MCP is the agent's long-term memory, identity, and intelligence. Without it the model is stateless across sessions. Every Claude agent that integrates with Frinus must:
Verify the MCP tools are reachable at conversation start (e.g.
session_start,memory_search,search_with_attention).If unreachable, surface the warning to the user: "MCP Frinus is not connected. Long-term memory capabilities are unavailable."
Execute the BOOT protocol (P1) before answering anything that is not a trivial greeting.
Persist learnings via
memory_storebefore ending productive sessions.
The complete protocol set lives in the global CLAUDE.md (Frinus organisation), summarised below in The 7 Protocols.
Requirements
Node.js 18+
Frinus stack reachable (Memory Engine, Control Plane, Agent Service)
Personal API key (
sk-frinus-...) tied to your tenant
Installation
npm install
npm run buildThe build emits dist/index.js, ready to be wired into Claude Desktop / Claude Code.
Environment Variables
Variable | Default | Description |
| required | Personal API key ( |
|
| Memory Engine base URL |
|
| Control Plane base URL (universes, orgs, billing) |
|
| Agent Service base URL (agents, invocation, skills) |
| — | Legacy fallback for |
Production endpoints (Frinus SaaS):
MEMORY_SERVICE_URL=https://frinus-memory.rdxsec.com.br
FRINUS_CP_URL=https://frinus-api.rdxsec.com.br
AGENT_SERVICE_URL=https://frinus-agents.rdxsec.com.br
FRINUS_API_KEY=sk-frinus-...Claude Desktop / Claude Code Configuration
Add the server to your MCP client configuration:
{
"mcpServers": {
"frinus": {
"command": "node",
"args": ["/absolute/path/to/mcp/dist/index.js"],
"env": {
"FRINUS_API_KEY": "sk-frinus-...",
"MEMORY_SERVICE_URL": "https://frinus-memory.rdxsec.com.br",
"FRINUS_CP_URL": "https://frinus-api.rdxsec.com.br",
"AGENT_SERVICE_URL": "https://frinus-agents.rdxsec.com.br"
}
}
}
}Claude Desktop config path: ~/.config/claude/claude_desktop_config.json (Linux) / ~/Library/Application Support/Claude/claude_desktop_config.json (macOS).
Claude Code config path: ~/.claude.json under mcpServers.
On startup the server validates the API key via /auth/me and resolves the tenant org ID + logged-in user. Failures abort the process with [FATAL] so the client surfaces the error.
The 7 Protocols
Protocol | When | Tools | Purpose |
P1 — BOOT | Start of every session |
| Load identity + recent state + relevant context |
P2 — CONSULT | Before any action |
| Retrieve, rate, and reinforce relevant memories |
P3 — PLAN | Planning a task |
| Persist plans, working state, and architectural decisions |
P4 — CAPTURE | Every 2–3 interactions |
| Continuous recording of progress, bugs, patterns |
P5 — LEARN | New knowledge |
| Teach facts/procedures and run consolidation cycles |
P6 — AUDIT | Maintenance |
| Detect conflicts, redundancy, and consolidate memories |
P7 — CLOSE | End of session |
| Summarise, promote stream items, persist learnings |
Detailed protocol scripts live in the agent's CLAUDE.md. Treat the table above as the contract every Frinus-integrated agent must respect.
Tools Reference
70 tools grouped by domain. Every tool returns text content; payloads follow the MCP Tool spec. Full JSON schemas live in src/tools/definitions.ts.
Memory (7)
Cognitive long-term memory: episodic (what happened), semantic (what I know), procedural (how to do things).
Tool | Description |
| Create a memory. |
| Semantic similarity search. Filters: |
| Fetch a memory by |
| List memories for an |
| Permanently delete a memory by |
| Boost relevance of a useful memory ( |
| Penalise an outdated memory ( |
Working Memory (3)
Short-term, context-bound state. Miller's Law: max 7 items per context, oldest auto-evict. Default TTL 30 min (max 2 h).
Tool | Description |
| Load current state for a context. Always call at task start. |
| Persist current state. Context formats: |
| Remove all items for a context. |
Sessions (5)
Session = logical container for streams, working memory, and capture.
Tool | Description |
| Begin a session for an agent. Returns |
| Terminate a session and finalise its summary. |
| Combined working + long-term retrieval, enhanced with extracted session topics. |
| Generate a structured recap (decisions, learnings, pending items). |
| Wipe a session's working state without ending it. |
Stream (4)
Continuous capture pipeline. Items are batched, scored, and the important ones promoted to permanent memories.
Tool | Description |
| Record an input / output / internal note tied to a session. |
| Replay every captured item for a |
| Recent stream items across sessions (filterable). |
| Promote pending items to long-term memory (manual trigger; scheduler also runs every 5 min). |
Context & Attention (2)
Tool | Description |
| Build a token-bounded context window for a task description. |
| RAG with task-type-aware weighting. |
Users (2)
Tool | Description |
| Register a user with the memory system (idempotent). |
| Retrieve combined user memories and tenant context. |
Maintenance (2)
Tool | Description |
| Cheap tick for an agent — drives relevance decay and lightweight consolidation. |
| Trigger a sleep cycle. |
Consolidation (3)
Tool | Description |
| Surface candidate conflicting memories above a similarity threshold. |
| Keep one memory, supersede the other with a written resolution note. |
| Find near-duplicates ready for merge or removal. |
Memory Hierarchy (2)
Tool | Description |
| Roll several related memories into a higher-level summary memory. |
| Inspect the consolidation tree for a root memory. |
Agents (6)
Agent CRUD + orchestrated invocation.
Tool | Description |
| Create an agent (optionally from a template) scoped to a universe / team. |
| List agents in the caller's tenant. Auto-scoped via API key. |
| Fetch an agent by |
| Update persona, team, universe, etc. |
| Delete an agent. |
| Programmatically invoke an agent with a task. Returns its tool calls and final answer. Used by delegation. |
Universes (4)
Universe = tenant-scoped knowledge domain. Holds the L0–L3 hierarchy.
Tool | Description |
| Create a universe in the caller's org. Slug + name + description. |
| List universes for the resolved org. |
| Patch a universe (name, description). |
| Walk the full L0 → L3 tree for a universe with status icons. |
Knowledge Hierarchy L0–L3 (16)
Universe
└─ Concept (L0) body of knowledge
└─ Theme (L1) thematic split
└─ Topic (L2) unit of work (status: pending / in_progress / completed)
└─ Point (L3) atomic knowledge unitEach level exposes create, list, update, delete:
L0 Concepts:
concept_create,concept_list,concept_update,concept_deleteL1 Themes:
theme_create,theme_list,theme_update,theme_deleteL2 Topics:
topic_create,topic_list,topic_update,topic_deleteL3 Points:
point_create,point_list,point_update,point_delete
topic_update and point_update accept a status field so agents can mark progress.
Training Pipeline (6)
Teach the system explicitly — facts, procedures, Q&A pairs, full documents.
Tool | Description |
| Inject a fact or procedure. |
| Train with |
| Upload a document ( |
| Coverage statistics across the corpus. |
| Detected gaps in knowledge / weakly-covered topics. |
| Most recently ingested memories from training. |
Orchestration — Tasks (4)
Task table on the Memory Engine drives multi-agent orchestration.
Tool | Description |
| Create a task (title, description, optional |
| Fetch a task with its full state. |
| List tasks with filters (status, agent, parent). |
| Update status, output, or assignment. |
Skills (4)
Reusable behaviours assigned to agents.
Tool | Description |
| Enumerate available skills in the tenant. |
| Attach a skill to an agent. |
| Detach a skill from an agent. |
| List the skills owned by a given agent. |
Memory Types
Type | Use Case | Example | |
| Record what happened |
| |
| Store facts and knowledge | `MemoryResponse now includes universe_id (UUID | None) so the frontend can group memories per universe in the graph view.` |
| Document how-to procedures |
|
Scopes
Scope | Visibility | Use Case |
| Only the storing user | Personal preferences and history |
| Only the storing agent | Agent-private notes |
| All agents inside the universe (department) | Shared domain knowledge |
| All agents in the tenant | Org-wide procedures and facts |
The legacy
agent / project / globalscopes were retired together withproject_id. Universes replaced projects as the isolation boundary inside an organisation.
Best Practices
Required formats for memories — make future retrieval deterministic:
Bug:
Bug: <description>. Cause: <root cause>. Fix: <solution>. File: <path>Pattern:
Pattern: <description>. When to use: <context>. File: <path>Procedure:
Procedure: <name>. Steps: 1) ... 2) ... 3) .... Caveats: <warnings>
Operational guidelines:
Always boot first. Call
session_start+working_memory_get+search_with_attentionbefore answering.Reinforce / weaken on use. When a recalled memory helps,
memory_reinforce. When it's wrong,memory_weaken(and replace it).Capture every 2–3 turns.
working_memory_addfor state,stream_capturefor decisions,memory_storefor crystallised learnings.Pick the right
task_type.search_with_attentionweights memory types per task.debugfavours episodic,documentationfavours semantic,deployfavours procedural.Close the loop. End sessions with
session_summary+stream_process+session_end. Runsleep_runfor deeper consolidation when batches grow.Audit before clutter accumulates. Periodic
consolidation_detect_conflicts+consolidation_detect_redundantkeep recall sharp.
Architecture
+---------------------+ +------------------+ +----------------------+
| Claude Agent / | <---> | Frinus MCP | <---> | Memory Engine |
| Claude Code | stdio | (this server) | HTTPS | (memories, sessions, |
+---------------------+ +------------------+ | hierarchy, tasks) |
| +----------------------+
| |
| v
| +----------------------+
| | PostgreSQL+pgvector |
| | + Apache AGE (graph) |
| +----------------------+
|
+---HTTPS---> Control Plane (universes, orgs)
+---HTTPS---> Agent Service (agents, invocation, skills)Memory Engine owns memories, working memory, sessions, streams, the L0–L3 hierarchy, training, sleep cycles, tasks, skills.
Control Plane owns orgs, universes, members, API keys, billing, credentials, white-label, LLM keys.
Agent Service owns agent runtime, tool dispatch, team routing, persona, invocation.
Tenant isolation is database-per-tenant. The MCP resolves your tenant org ID from the API key at boot — you never pass org_id manually.
Development
mcp/
src/
index.ts Entry: MCP server, dispatch, auth bootstrap
client/
memory-client.ts HTTP client + identity state for Memory Engine
cp-client.ts HTTP client for Control Plane
agent-client.ts HTTP client for Agent Service
tools/
definitions.ts Tool schemas (70 tools)
handlers.ts Tool handlers (70 handlers)
capture/
interaction-capture.ts Auto stream capture for every tool call
types/
index.ts Shared types
dist/ Compiled output (npm run build)
package.json
tsconfig.jsonScripts:
npm run build # tsc to dist/
npm run dev # tsx hot reload (src/index.ts)
npm start # node dist/index.jsType checking: TypeScript 5.6+, ES modules, axios.
License
See repository root for license terms.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/frinus-ai/frinus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server