zhiji-memory
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., "@zhiji-memoryFind my memories about the marketing campaign proposal"
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.
知己 (Zhiji) Memory — MCP Server
Chinese-first, brain-inspired long-term memory as an MCP server. Give any MCP client — Claude Desktop / Claude Code / Cursor / Cline / Cherry Studio / Coze — the ability to remember and understand your user across sessions.
中文用户:完整接入手册见
MCP-USAGE.md,或在线版 https://ai-know.me/mcp。
v0.4.0 · 9 tools / 2 resources / 1 prompt · stdio + Streamable HTTP · MCP protocol 2025-11-25
This repo is a thin bridge: it translates MCP tool calls into REST calls to the Zhiji backend (hosted at ai-know.me). The bridge stores nothing; all memory lives in the Zhiji service you connect to.
Why not just another vector-memory MCP?
Mem0 / Zep / LangMem expose add / search / delete over a vector store. 知己 exposes brain-inspired primitives:
11-stage hybrid retrieval — trigram full-text +
bge-large-zhsemantic + time-decay + access-reinforcement + dedup ranking.7-layer / 37-dimension evolving user profile — values, decision logic, behavior style, self-cognition, interoceptive & dynamic state.
Workspace assembly — one call returns profile + relevant memories + confirmed facts + behavioral inferences, budget-trimmed for the client context window.
Prospective reminders, multimodal ingest (audio / OCR / doc), and a self-evolving reward loop driven by user feedback.
All Chinese-optimized (trigram tokenizer + bge-large-zh); English is supported too. Memory is stored in the Zhiji backend you connect to — self-host it, or use the hosted ai-know.me service; either way it's your Zhiji instance, not a generic memory-SaaS middleman.
Related MCP server: sostenuto
Tools, resources & prompts
9 tools, grouped by role. Every user-scoped tool takes userEmail (or falls back to MB_USER_EMAIL); only the notable extra params are listed.
Read — understand the user
Tool | What it does | Notable params |
| Flagship. One call returns everything needed to understand this user for a query — relevant memories + profile + confirmed facts + behavioral inferences (plus counterfactual & cross-domain hints). Drop straight into any LLM's context. |
|
| Lighter, recall-only: the 11-stage hybrid pipeline (trigram FTS + semantic + time-decay), returns scored snippets with sources. |
|
| 7-layer / 37-dim user profile as an inject-ready natural-language summary. | — |
| Structured atomic facts (subject attribution, confidence, conflict status) — for exact names/dates/counts, not narrative. | — |
| Due/upcoming intentions (todos, promises, plans) within a time window — for proactively nudging the user. |
|
Write — feed memory
Tool | What it does | Notable params |
| Write a conversation turn to long-term memory; async embedding + profile/fact extraction + importance scoring follow. Text only. |
|
| Multimodal ingest — audio / image / PDF / Word / Excel / video → Whisper transcribe / Tesseract OCR / doc parse → memory. Audio & video also get acoustic-emotion analysis. | one of |
Ops — improve & diagnose
Tool | What it does | Notable params |
| Thumbs up/down on the last recall/answer → feeds the self-evolution reward and reinforces (or penalizes) the Q-value of recently retrieved memories. The "gets better the more you use it" loop. |
|
| Health & memory scale (files / chunks / FTS availability). Call first to verify connectivity. | — |
2 resources — zhiji://schema/dimensions (authoritative 7-layer / 37-dim profile schema) · zhiji://server/status (live service status).
1 prompt — personal-context: weaves profile + memories + facts into a ready-to-prepend system prompt for a given query.
Experimental capabilities (sleep consolidation / dream replay / emergence) are not exposed until their groundedness passes ablation.
Typical flow
zhiji_status → verify connectivity
zhiji_memory_ingest → feed a conversation (or zhiji_ingest_file for audio/docs)
zhiji_workspace_assemble → in a *new* session, recall + understand the user
zhiji_feedback → thumbs up/down, closing the self-evolution loopQuick start
You need an agent Key (mb- prefix). Get one at https://ai-know.me/memory?tab=api (register + create a Key bound to your account).
Option A — remote, no install (recommended)
Point any Streamable-HTTP MCP client at the hosted endpoint — you don't need this repo at all:
claude mcp add zhiji-memory --transport http \
--url https://ai-know.me/mcp \
--header "Authorization: Bearer mb-yourKey"Or in a URL-style client config (Cursor / Cherry Studio / LobeChat):
{
"mcpServers": {
"zhiji-memory": {
"url": "https://ai-know.me/mcp",
"headers": { "Authorization": "Bearer mb-yourKey" }
}
}
}Option B — run this bridge locally (stdio)
Use this repo when you want the bridge as a local stdio process (e.g. a desktop client launches it for you), talking to the hosted Zhiji backend:
npm install # only @modelcontextprotocol/sdk + zodThen in your client config:
{
"mcpServers": {
"zhiji-memory": {
"command": "node",
"args": ["/absolute/path/to/zhiji-mcp/zhiji-mcp-server.mjs"],
"env": {
"MB_BASE_URL": "https://ai-know.me",
"MB_API_KEY": "mb-yourKey"
}
}
}
}Verify
# visual debugger — should list 9 tools / 2 resources / 1 prompt
npx @modelcontextprotocol/inspector node zhiji-mcp-server.mjsFull client matrix (LangChain, OpenAI Agents SDK, Coze…) is in MCP-USAGE.md.
Architecture — a stateless thin bridge
MCP client ──stdio / HTTP(JSON-RPC)──► zhiji-mcp-*.mjs ──REST──► Zhiji backend (ai-know.me)The MCP layer stores nothing; it translates MCP tool calls into REST calls to the Zhiji backend. Shared core zhiji-mcp-core.mjs backs both entry points:
File | Role |
| Tool/resource/prompt definitions (single source of truth) |
| stdio entry ( |
| Streamable HTTP entry ( |
Isolation & auth
All data is hard-isolated by
userEmail. The bridge treatsuserEmailas a namespace, not a credential.The hosted public endpoint requires an agent Key — requests without
Bearer mb-…get 401; the backend binds each Key to its userEmail and rejects cross-user access.Never hand a key-less, userEmail-swappable bridge to end users — front it with your own backend that injects the correct userEmail. See
MCP-USAGE.md §8.
Environment
Var | Default | Notes |
|
| Zhiji backend address; for the hosted service use |
| — | default user namespace (single-user local use) |
| — |
|
|
| slow workspace routes can take ~15s |
Status
Version | Highlights |
v0.4 |
|
v0.5 (planned) | inference-list tool, resource subscriptions, fine-grained key permissions |
Docs
MCP-USAGE.md— full guide (install, all clients, per-tool reference, troubleshooting, FAQ)Online: https://ai-know.me/mcp
License
MIT © 2026 知己 AI (ai-know.me)
知己 AI · MCP integration — Chinese-first brain-inspired memory. The bridge is open; the memory intelligence lives in the Zhiji backend.
Available Tools
9 toolszhiji_facts_getAInspect
获取从对话中抽取的结构化事实清单(主体归属、置信度、冲突状态)。适合需要精确事实而非叙述性记忆的场景(如核对姓名/日期/数量)。
| Name | Required | Description | Default |
|---|---|---|---|
| userEmail | No | 用户标识;缺省用 MB_USER_EMAIL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions the output includes structured facts with subject attribution, confidence, and conflict status, but does not disclose data freshness, permission requirements, or side effects. For a read-like operation, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences: the first states the core function and output format, the second adds usage guidance. Every word serves a purpose with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one optional parameter and no output schema, the description covers the essential purpose, output characteristics, and typical use cases. It could be improved by specifying the exact output structure or data source, but is sufficient for an agent to select and understand the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete coverage for the single parameter 'userEmail' with a description. The tool description adds no additional semantics beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a list of structured facts from conversations, specifying attributes like subject attribution, confidence, and conflict status. It distinguishes itself from narrative memory tools by emphasizing precise facts, and provides concrete use cases (verifying names/dates/quantities). The verb '获取' and resource '结构化事实清单' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates scenarios where this tool is suitable (precise fact-checking) and contrasts with narrative memory, implying when not to use it. However, it does not name alternative sibling tools directly (e.g., zhiji_memory_search), leaving the agent to infer the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zhiji_feedbackAInspect
对知己最近一次记忆召回/回答的质量提交显式反馈(点赞/点踩)。反馈会进入知己的自演化奖励信号(implicitPositiveRate),并对最近检索到的记忆块做 Q 值强化(赞)或惩罚(踩)——这是让 agent 的使用效果反哺记忆系统、使其越用越懂用户的闭环入口。rating=up 表示记忆/回答有帮助且准确,down 表示记错/答非所问。⚠️ 若希望反馈精确落到具体记忆块(而非仅计入全局奖励),请在同一会话里先调用 zhiji_workspace_assemble 或 zhiji_memory_search,再调用本工具。
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | 附加说明(可选) | |
| weak | No | 弱信号:置 true 则强度减半(±0.5),用于'基本对/有点偏'这类不确定反馈 | |
| query | No | 本次反馈针对的查询/话题(便于归因,可选) | |
| rating | Yes | up=有帮助/准确(+1);down=记错/答非所问(-1) | |
| userEmail | No | 用户标识;缺省用 MB_USER_EMAIL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the behavioral impact in detail: feedback enters the self-evolution reward signal (implicitPositiveRate) and performs Q-value reinforcement on recently retrieved memory blocks. It explains the effect of the 'weak' parameter (halving intensity). No annotations were provided, so the description fully carries the burden of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet comprehensive, front-loading the core purpose and then detailing effects and parameters. Every sentence adds value without redundancy. The structure is logical: purpose, mechanism, parameter notes, and usage caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema), the description covers input semantics and behavioral effects well. It lacks explicit mention of the return value (e.g., success/failure), but this is minor since the focus is on submitting feedback. Overall, it provides sufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the 'weak' parameter's effect (halving intensity for uncertain feedback) and the meaning of 'up' and 'down' ratings in the context of memory reinforcement. This goes beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool's purpose: submitting explicit feedback (up/down) for the last memory recall/answer quality. It distinguishes itself from sibling tools like zhiji_memory_search and zhiji_workspace_assemble, which are for searching or assembling memories, not feedback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use this tool versus alternatives. It notes that for precise feedback on specific memory blocks, one should first call zhiji_workspace_assemble or zhiji_memory_search. This helps the agent choose the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zhiji_ingest_fileAInspect
把一个文件(音频/录音/图片/PDF/Word/Excel/视频等)经知己既有抽取管线(Whisper 语音转写 / Tesseract OCR / 文档解析)转成文本后写入长期记忆——这是让音视频与文档'进记忆'的入口(zhiji_memory_ingest 只收文本)。来源三选一:path=MCP 服务器本机可读的文件路径(适合 stdio 本地客户端);url=http(s) 链接(桥接可下载);base64=内联字节(适合远程 HTTP 客户端的小文件)。⚠️ 音视频转写在 CPU 上可能耗时数分钟,请把客户端超时调大并耐心等待。★音视频还会做声学情绪分析(音量/语速/声纹情绪)存入情绪库;isUserVoice=true(确认是用户本人的录音/视频)时,声学情绪进一步汇入用户画像「声学情绪基调」——非用户本人的音频(播客/他人声音)务必留默认 false,否则会污染画像。
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | 文件的 http(s) URL(与 path/base64 三选一) | |
| path | No | MCP 服务器本机可读的文件绝对路径(与 url/base64 三选一) | |
| base64 | No | 文件内容的 base64(与 path/url 三选一);大文件不建议内联 | |
| filename | No | 原始文件名(含扩展名,用于识别类型;判定音视频也靠它) | |
| userEmail | No | 用户标识;缺省用 MB_USER_EMAIL | |
| isUserVoice | No | 音视频专用:true=确认这段录音/视频是用户本人的声音→声学情绪汇入其画像;默认 false=不确定/他人声音,只存情绪库不进画像(防污染) | |
| conversationId | No | 归属会话 ID;缺省自动生成 mcp-file-<时间戳> |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It mentions the specific extraction pipelines (Whisper, Tesseract OCR, document parsing), warns about the time-consuming nature of audio/video transcription on CPU, and details the acoustic emotion analysis, including how isUserVoice affects user profile versus emotion library. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structurally well-organized, starting with the core purpose and sibling distinction, then source options, performance warning, and emotion analysis. It is somewhat lengthy but every sentence adds value. Could be slightly more concise, but the clarity and completeness justify a high score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (multiple file types, pipelines, performance issues, emotion analysis, parameter interdependencies), the description is comprehensive. It covers what the tool does, how to use it, important caveats, and behavioral traits. However, it lacks explicit mention of return values or confirmation of success, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds significant meaning beyond the schema. It explains the rationale behind isUserVoice (acoustic emotion into user profile vs just library), clarifies that filename is used for type detection, and provides context for the three source options with usage recommendations. This enrichment justifies a score above the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: ingesting files (audio, images, PDF, etc.) via extraction pipelines (Whisper, OCR, document parsing) into long-term memory. It explicitly distinguishes from the sibling tool zhiji_memory_ingest which only accepts text, using the phrase '只收文本' (only accepts text).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: for files like audio, images, documents, versus zhiji_memory_ingest for plain text. It explains the three source options (path, url, base64) with appropriate use cases and warnings (e.g., '大文件不建议内联' for base64). It also warns about timeouts for audio/video transcription and cautions about misusing the isUserVoice parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zhiji_memory_ingestAInspect
把一轮对话写入用户的长期记忆。写入后系统异步完成:向量嵌入、画像提取、事实抽取、重要度评分等。messages 必须成对提供 user 与 assistant 发言(至少一条 user)。⚠️ 本工具只收文本;音频/录音/图片/PDF/Word/Excel/视频等文件请改用 zhiji_ingest_file(经既有抽取管线转写/OCR/解析后进记忆)。
| Name | Required | Description | Default |
|---|---|---|---|
| botId | No | 机器人/助手标识,默认 mcp | |
| messages | Yes | 按时间顺序的发言列表;⚠️ 字段名必须是 author/text | |
| userEmail | No | 用户标识;缺省用 MB_USER_EMAIL | |
| conversationId | Yes | 会话 ID(同一会话多轮共用同一 ID,会追加) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully carries the burden: discloses asynchronous behavior (vector embedding, profile extraction, fact extraction, importance scoring) and the limitation to text-only input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, front-loaded with main action, then covers async processing, then constraints and alternatives. Every sentence is informative with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, 2 required, no output schema, the description provides all necessary context: what it does, how it works, constraints, alternatives (zhiji_ingest_file). The agent can correctly select and invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions; description adds extra context: messages pairing requirement, default userEmail from MB_USER_EMAIL, and that conversationId appends to the same conversation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it writes a conversation round into long-term memory, distinguishes from zhiji_ingest_file for non-text files, and explains the asynchronous processing that follows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use zhiji_ingest_file instead (for non-text inputs). Also provides constraints: messages must be paired user-assistant with at least one user message, and conversationId can be reused to append.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zhiji_memory_searchAInspect
在用户的长期记忆中做混合搜索(全文 trigram + 向量语义 + 时间衰减加权的 11 阶段管线),返回带来源与评分的记忆片段。比 workspace_assemble 轻量,适合只要召回不要推理的场景。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 检索词(中英文均可) | |
| userEmail | No | 用户标识;缺省用 MB_USER_EMAIL | |
| maxResults | No | 返回条数,默认 8 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description details the internal search pipeline (11-stage hybrid search), but does not explicitly state that the tool is read-only or safe. As no annotations are provided, the description carries full burden; it is mostly transparent but lacks explicit assurance of no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core function and technical detail, followed by usage context. Every part is informative and no words are wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what the tool does, how it works, and when to use it. It mentions the return format (memory fragments with source and score). However, it does not specify pagination or sorting behavior, which could be useful for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context about return format (source and score) but does not add meaning beyond the schema for the three parameters. It does not compensate for any gaps, as there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a hybrid search in long-term memory using full-text trigram, vector semantics, and time decay, returning memory fragments with source and score. It distinguishes itself from sibling 'workspace_assemble' by being lighter and focused on recall without reasoning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says '比 workspace_assemble 轻量,适合只要召回不要推理的场景' (lighter than workspace_assemble, suitable for scenarios needing only recall without reasoning), providing clear guidance on when to use this tool versus an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zhiji_profile_getAInspect
获取用户画像的文本摘要(7 层 36 维:基础身份/自传体记忆/思维准则/行为方式/内感知状态/动态状态/涌现洞察)。返回适合直接注入系统提示词的自然语言摘要。
| Name | Required | Description | Default |
|---|---|---|---|
| userEmail | No | 用户标识;缺省用 MB_USER_EMAIL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states the output is a natural language summary, but lacks details on side effects, permissions, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two efficient sentences that first describe the tool's function in detail and then specify the output form. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a 7-layer profile, the description provides a good overview. However, it could mention output structure or limitations, especially without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is userEmail, with a clear schema description. The description adds no extra semantic information beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a text summary of user profile, specifying the 7 layers and 36 dimensions. It distinguishes from sibling retrieval tools like zhiji_memory_search and zhiji_facts_get by focusing on a comprehensive profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for obtaining a profile summary suitable for system prompts, but does not explicitly state when to use this tool over siblings or any conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zhiji_prospective_dueAInspect
查询用户当前窗口内到期/临期的前瞻性意图(待办、承诺、计划)。返回描述、触发条件、到期时间。适合 agent 在对话开始时主动提醒用户'该做某事了'。数据来自知己前瞻监控(prospective-monitor)。
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | 向前扫描的小时数窗口,默认 24 | |
| userEmail | No | 用户标识;缺省用 MB_USER_EMAIL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It mentions data source (zhiji prospective monitor) but doesn't state if operation is read-only, requires permissions, or has rate limits. For a query, read-only nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: first states purpose and return, second gives use case, third cites data source. No redundant words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional parameters and no output schema, the description adequately covers purpose, return fields, and usage context. Could mention return format more precisely, but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds context about 'hours' being the scanning window but doesn't enrich parameter meaning beyond what schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries upcoming/imminent prospective intentions (to-dos, promises, plans) and returns specific fields. It distinguishes from sibling tools like zhiji_memory_search or zhiji_profile_get by focusing on proactive reminders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'suitable for agent to proactively remind user it's time to do something', giving clear use context. Doesn't specify when not to use, but sibling tool names and descriptions provide sufficient differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zhiji_statusAInspect
查询 memory-bridge 服务健康状态与规模(文件数/记忆块数/FTS 可用性)。用于连通性诊断。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, rate limits, or side effects. For a simple status check, minimal transparency is offered beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently communicates the tool's function and key outputs with no superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers the main return values (health status, file count, etc.). It lacks detail on response format or interpretation, but for a simple status tool it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description adds meaning by specifying the output metrics (file count, memory blocks, FTS availability), which compensates for the absence of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries memory-bridge service health status and scale, specifying file count, memory block count, and FTS availability. Its purpose for connectivity diagnosis is explicit, and it distinguishes from sibling tools that handle workspace, search, ingest, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for connectivity diagnosis but does not explicitly state when to use or not use this tool over alternatives. No sibling differentiation or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zhiji_workspace_assembleAInspect
组装知己的统一记忆上下文(工作空间):对一个查询返回相关记忆片段(memoryContext)、用户画像摘要(profile)、事实(factContext)、推论提示(inferenceHints)、反事实推演(counterfactualHint)、跨域联想(emergenceHint)等。这是把'懂用户'注入任何 LLM 对话的一站式入口。注意:慢思考查询(假设/对比类)因触发 LLM 推演,延迟可达 10-15 秒。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 当前用户消息/查询,用于检索与推理 | |
| userEmail | No | 用户标识(邮箱格式);缺省用 MB_USER_EMAIL | |
| maxResults | No | 记忆片段条数上限,默认 6 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses behavioral traits such as latency (10-15 seconds for slow-thinking queries involving LLM inference) and lists returned components. However, it does not explicitly state read-only nature or idempotency, which is acceptable given the context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with the main purpose first, followed by a list of components and a note on latency. It is detailed but not overly verbose; every sentence adds value. Slightly longer than necessary but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description adequately lists the key return components (memoryContext, profile, factContext, etc.) and mentions behavioral aspects (latency for certain queries). For a tool with three parameters and moderate complexity, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description adds meaning beyond the schema by explaining the query's role, providing default values for userEmail (MB_USER_EMAIL) and maxResults (6), and clarifying usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool assembles '知己的统一记忆上下文' (unified memory context) for a query, listing specific components (memoryContext, profile, factContext, etc.) and positioning it as a one-stop entry for injecting user understanding into LLM conversations. This distinguishes it from siblings like zhiji_memory_search (memory search only) and zhiji_profile_get (profile only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the primary comprehensive tool for assembling context ('一站式入口'), but does not explicitly state when to use it versus alternatives, nor does it mention exclusions or prerequisites. The guidance is mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct operation: memory assembly, search, ingestion, profile/facts retrieval, status, proactive reminders, and feedback. Even the similar workspace_assemble and memory_search are clearly differentiated by depth (inference vs recall-only). No overlapping purposes.
All tools use snake_case with 'zhiji_' prefix, but verb placement varies: some are verb_noun (workspace_assemble, memory_search), others noun_verb (profile_get, facts_get), and 'status' is just a noun. Minor inconsistency but still predictable and readable.
9 tools is well-scoped for a memory server. Each tool serves a clear need: ingest (text and file), search (light and heavy), retrieve profile/facts, status check, proactive reminders, and feedback. Nothing feels extraneous or missing.
Covers creation (ingest) and retrieval (search, profile, facts) well, but lacks update/delete tools for memories. Feedback allows quality adjustments but not content modifications. Prospective and status are nice additions, but lack of full CRUD is a notable gap.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP server that dynamically extracts and manages user memory from LLM conversations, enabling consistent personalization across different models.7
- AlicenseNot gradedqualityBmaintenanceProvides a selective persistent memory layer for AI companions, enabling structured recall, reinforcement, and time-decayed retrieval through an MCP interface.8MIT
- AlicenseAqualityAmaintenanceA production-grade long-term memory MCP server that enables AI agents to persist and recall memories across sessions with importance weighting, confidence calibration, and efficient context window management.91MIT
- AlicenseNot gradedqualityFmaintenanceMCP server providing cognitive memory storage with dual memory system (project and user), semantic classification, time knowledge graph, and memory decay, enabling persistent context-aware interactions.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/xfhxxffhh224/zhiji-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server