cognee-mcp
сервер MCP cognee
Установка вручную
Проект сервера MCP
Клонировать репозиторий cognee
Установить зависимости
brew install uvcd cognee-mcp
uv sync --dev --all-extras --reinstallАктивируйте venv с помощью
source .venv/bin/activateДобавьте новый сервер в конфигурацию Клода:
Файл должен находиться здесь: ~/Library/Application\ Support/Claude/
cd ~/Library/Application\ Support/Claude/Вам необходимо создать claude_desktop_config.json в этой папке, если он не существует. Обязательно добавьте ваши пути и ключ LLM API в файл ниже. Используйте редактор по вашему выбору, например Nano:
nano claude_desktop_config.json{
"mcpServers": {
"cognee": {
"command": "/Users/{user}/cognee/.venv/bin/uv",
"args": [
"--directory",
"/Users/{user}/cognee/cognee-mcp",
"run",
"cognee"
],
"env": {
"ENV": "local",
"TOKENIZERS_PARALLELISM": "false",
"LLM_API_KEY": "sk-"
}
}
}
}Перезагрузите рабочий стол Клода.
Установка через Smithery
Чтобы автоматически установить Cognee для Claude Desktop через Smithery :
npx -y @smithery/cli install cognee --client claudeОпределите инструмент cognify в server.py. Перезагрузите рабочий стол Claude.
Чтобы использовать отладчик, выполните:
mcp dev src/server.pyОткройте инспектор с истекшим временем ожидания:
http://localhost:5173?timeout=120000Чтобы применить новые изменения при разработке cognee, вам необходимо сделать:
poetry lockв папке cogneeuv sync --dev --all-extras --reinstallmcp dev src/server.py
Разработка
Чтобы использовать локальную сборку cognee, выполните в корне репозитория cognee:
poetry build -o ./cognee-mcp/sourcesПосле завершения процесса сборки измените зависимость библиотеки cognee внутри cognee-mcp/pyproject.toml с
cognee[postgres,codegraph,gemini,huggingface]==0.1.38к
cognee[postgres,codegraph,gemini,huggingface]После этого добавьте следующий фрагмент в тот же файл ( cognee-mcp/pyproject.toml ).
[tool.uv.sources]
cognee = { path = "sources/cognee-0.1.38-py3-none-any.whl" }Available Tools
5 toolscall_toolA
Call a tool by name with the given arguments.
Use this to execute tools discovered via search_tools.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the tool to call | |
| arguments | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not mention potential side effects, required permissions, or the fact that this tool may execute arbitrary actions. This lack of transparency is risky for an agent.
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?
Two concise sentences with no redundant information. The description is efficient and to the point.
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 explains the basic purpose and links to search_tools, but it lacks details on error handling, return values, or behavioral constraints. Given the tool's generic nature, this is acceptable but not comprehensive.
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?
Only the 'name' parameter has a description in the schema; 'arguments' is not described. The description adds minimal value by implying arguments are passed, but does not clarify structure or constraints, leaving significant ambiguity.
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 action (call a tool) and the target (by name with arguments), and it is distinct from the sibling tools which perform specific operations like remember or recall.
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?
It explicitly says to use this for executing tools discovered via search_tools, giving a clear use case. It does not elaborate on when not to use it, but the guidance is sufficient for typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forgetA
Delete data from memory.
Can target a single data item, a specific dataset (by name or id), or everything the user owns. Removes data from the relational DB, graph DB, and vector DB.
| Name | Required | Description | Default |
|---|---|---|---|
| data_id | No | UUID of a single data item to delete. Must be paired with `dataset` or `dataset_id` so the owning dataset is unambiguous. | |
| dataset | No | Dataset name to delete entirely. | |
| dataset_id | No | UUID of the dataset to delete entirely, or to scope `data_id`. | |
| everything | No | If true, delete ALL data across all datasets. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It does disclose the destructive scope and that data is removed from relational, graph, and vector databases, which is useful context beyond the schema. However, it omits important behavioral traits such as whether deletion is permanent/recoverable, whether permissions are required, and what happens if no targeting argument is supplied.
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 short, front-loaded sentences plus a concise scope bullet. Every phrase adds value, with no repetition of schema fields or filler content.
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 tool has four optional parameters and no annotations, so a robust description should clarify edge cases like no-argument invocation, argument conflicts, and irreversible consequences. The existence of an output schema reduces the need to describe return values, but significant semantic guidance is still missing.
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 the baseline is 3. The description paraphrases the targeting options (single item, dataset by name or id, everything) but adds no new parameter-specific semantics; for example, it does not clarify precedence or mutual exclusivity beyond what the schema already states.
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 opening sentence 'Delete data from memory' uses a specific verb and resource, and the scope bullet (single item, dataset, or everything) clearly distinguishes it from siblings like remember, recall, and search_tools. It also states the underlying stores affected, leaving no doubt about the tool's function.
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 clearly implies this is the deletion counterpart to remember and is appropriate whenever stored data must be removed. However, it does not explicitly state when not to use it, mention alternatives for non-destructive operations, or give guidance about argument exclusivity and fallback behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recallA
Search memory with auto-routing and session awareness.
When session_id is provided without datasets or search_type, searches session cache first by keyword matching. Falls through to the permanent knowledge graph if no session results match.
Auto-routing picks the best search strategy when search_type is not specified.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language query to search for. | |
| top_k | No | Maximum results to return (default: 10). | |
| datasets | No | Comma-separated dataset names to search within. | |
| session_id | No | Session ID for session-first search. | |
| search_type | No | Override auto-routing. Options: GRAPH_COMPLETION, GRAPH_COMPLETION_COT, RAG_COMPLETION, CHUNKS, SUMMARIES, TEMPORAL, FEELING_LUCKY, etc. | |
| system_prompt | No | Override the synthesis prompt for completion searches. When omitted, falls back to COGNEE_MCP_RECALL_SYSTEM_PROMPT / _FILE if configured on the server. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the disclosure burden and it does reveal non-obvious behavior: session-first keyword matching, fallback to the permanent knowledge graph, and automatic search-strategy selection. It does not discuss side effects, permissions, or rate limits, but for a search action the main routing behavior is transparent.
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 tight and front-loaded, with the main purpose in the first sentence and exactly two supporting details about routing/fallback. No filler or repetition.
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 presence of an output schema and thorough parameter documentation, the description covers the non-obvious routing behavior needed to understand the tool. It lacks explicit guidance about edge cases or alternatives, but the combination of description plus schema is adequate for confident invocation.
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?
Input schema coverage is 100%, so the schema already documents all six parameters; the tool description adds useful conditional context around session_id, datasets, and search_type but does not explain query, top_k, dataset syntax, or system_prompt beyond the schema. This meets the baseline for high schema coverage.
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 opens with a specific verb and resource ('Search memory') and adds distinguishing behavioral qualifiers ('auto-routing and session awareness'), which separates it from the write/remove siblings (remember, forget). Subsequent sentences clarify the scope with session-cache and knowledge-graph behavior.
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 clear invocation context: when session_id is supplied without datasets/search_type it searches the session cache first and falls through to the knowledge graph, and auto-routing applies when search_type is omitted. It does not explicitly name alternative tools or exclusion scenarios, but the parameter-condition guidance is sufficient for most recall usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememberA
Store data in memory.
Two modes depending on whether session_id is provided:
Without session_id (permanent memory): Runs the full add + cognify pipeline to ingest data and build the knowledge graph.
With session_id (session memory): Stores the data in the session cache only. Fast, no entity extraction. Omit session_id when the content should be stored as permanent graph memory.
Pass either data (text) or filename + content_base64 (a file
upload, up to 10 MB), not both. File uploads are permanent-memory
only and don't support session_id.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | The text content to store. Mutually exclusive with filename/content_base64. | |
| filename | No | Original filename for a file upload. Used to derive the stored document's name. Requires content_base64. | |
| background | No | Queue permanent ingestion as a background task and return immediately instead of waiting for the pipeline. Use when the caller has a request deadline shorter than ingestion takes. Ignored with session_id, which is already fast. Errors surface via cognify_status, not the return value. | |
| session_id | No | Session ID. When set, stores in session cache only. | |
| dataset_name | No | Target dataset name. Defaults to the current MCP client's agent-scoped dataset (e.g. "cursor_vscode_memory"), or "main_dataset" if no client identity is detected. | |
| custom_prompt | No | Custom prompt for entity extraction (permanent mode only). | |
| content_base64 | No | Base64-encoded file content to ingest. Requires filename. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It explains the pipeline variants, performance characteristics, error handling (errors via cognify_status), and constraints on file uploads. This is thorough for a memory storage tool.
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?
Well-structured with clear sections for modes and input constraints, but slightly verbose. It could be tightened while retaining 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?
Given the tool's complexity (two modes, multiple parameters, file uploads) and the existence of an output schema, the description covers the essential nuances thoroughly. Minor omissions like return format are handled by the 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?
Schema coverage is 100%, so the schema already documents parameters. The description adds value by explaining mode interplay (e.g., background ignored with session_id) and mutual exclusivity, but many details are already in schema 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?
The description clearly states the tool stores data in memory and distinguishes two modes (permanent vs session memory) based on session_id. It explicitly contrasts with sibling tools like recall and forget.
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 each mode, when to omit session_id, and constraints on data vs file uploads (mutually exclusive). It clarifies that file uploads are permanent-only and that background mode is for avoiding deadline issues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsA
Search for tools using natural language.
Returns matching tool definitions ranked by relevance, in the same format as list_tools.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language query to search for tools |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states that it returns matching tool definitions ranked by relevance, which is a behavioral trait. It also mentions the format is same as list_tools, which is useful. However, it doesn't disclose any side effects, rate limits, or other behavioral details. Given the tool is a search operation, this is adequate but not rich.
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, two sentences, and front-loaded with the purpose. Every sentence adds value: the first states what it does, the second clarifies the return format. 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?
The tool is simple with one parameter and an output schema. The description explains the return format (same as list_tools) and ranking by relevance. Given the simplicity and the presence of an output schema, the description is complete enough. It could mention that it's a read-only operation, but that's not critical.
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 the schema already documents the single parameter 'query' as a natural language query. The description adds no additional meaning beyond that. Baseline 3 is appropriate since the schema does the heavy lifting.
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: searching for tools using natural language. It specifies the action (search) and the resource (tools), and distinguishes it from siblings like list_tools by mentioning the return format. However, it doesn't explicitly differentiate from other sibling tools like call_tool, but the purpose is clear.
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: when you need to find tools by natural language query. It mentions the return format is same as list_tools, which gives some context. However, it doesn't explicitly state when to use this vs alternatives, nor does it provide exclusions or alternative tool references. The guidance is minimal but not misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v1.5.1- Changed
forget2 fields changed- added
Input schema / properties / data_idAdded value: +{ + "default": null, + "description": "UUID of a single data item to delete. Must be paired with `dataset`\nor `dataset_id` so the owning dataset is unambiguous.", + "type": "string" +} - added
Input schema / properties / dataset_idAdded value: +{ + "default": null, + "description": "UUID of the dataset to delete entirely, or to scope `data_id`.", + "type": "string" +}
- Removed
open_cognee_workspace - Changed
remember1 field changed- added
Input schema / properties / backgroundAdded value: +{ + "default": false, + "description": "Queue permanent ingestion as a background task and return immediately\ninstead of waiting for the pipeline. Use when the caller has a request\ndeadline shorter than ingestion takes. Ignored with session_id, which\nis already fast. Errors surface via cognify_status, not the return\nvalue.", + "type": "boolean" +}
- Removed
upload_file_ui - Removed
visualize_graph_ui
13 tool updates
v1.5.0- Added
call_tool - Removed
cognify_file - Removed
create_dataset_json - Changed
forget7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / dataset / descriptionAdded value: +"Dataset name to delete entirely." - removed
Input schema / properties / dataset / titleRemoved value: -"Dataset" - added
Input schema / properties / everything / descriptionAdded value: +"If true, delete ALL data across all datasets." - removed
Input schema / properties / everything / titleRemoved value: -"Everything" - removed
Input schema / titleRemoved value: -"forgetArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "result": { + "items": {}, + "type": "array" + } + }, + "required": [ + "result" + ], + "type": "object", + "x-fastmcp-wrap-result": true +}
- Removed
get_client_info_json - Removed
list_dataset_data_json - Removed
list_datasets_json - Changed
open_cognee_workspace2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / titleRemoved value: -"open_cognee_workspaceArguments"
- Changed
recall15 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / datasets / descriptionAdded value: +"Comma-separated dataset names to search within." - removed
Input schema / properties / datasets / titleRemoved value: -"Datasets" - added
Input schema / properties / query / descriptionAdded value: +"Natural language query to search for." - removed
Input schema / properties / query / titleRemoved value: -"Query" - added
Input schema / properties / search_type / descriptionAdded value: +"Override auto-routing. Options: GRAPH_COMPLETION,\nGRAPH_COMPLETION_COT, RAG_COMPLETION, CHUNKS, SUMMARIES,\nTEMPORAL, FEELING_LUCKY, etc." - removed
Input schema / properties / search_type / titleRemoved value: -"Search Type" - added
Input schema / properties / session_id / descriptionAdded value: +"Session ID for session-first search." - removed
Input schema / properties / session_id / titleRemoved value: -"Session Id" - added
Input schema / properties / system_prompt / descriptionAdded value: +"Override the synthesis prompt for completion searches. When omitted,\nfalls back to COGNEE_MCP_RECALL_SYSTEM_PROMPT / _FILE if configured\non the server." - removed
Input schema / properties / system_prompt / titleRemoved value: -"System Prompt" - added
Input schema / properties / top_k / descriptionAdded value: +"Maximum results to return (default: 10)." - removed
Input schema / properties / top_k / titleRemoved value: -"Top K" - removed
Input schema / titleRemoved value: -"recallArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "result": { + "items": {}, + "type": "array" + } + }, + "required": [ + "result" + ], + "type": "object", + "x-fastmcp-wrap-result": true +}
- Changed
remember15 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / content_base64Added value: +{ + "default": null, + "description": "Base64-encoded file content to ingest. Requires filename.", + "type": "string" +} - added
Input schema / properties / custom_prompt / descriptionAdded value: +"Custom prompt for entity extraction (permanent mode only)." - removed
Input schema / properties / custom_prompt / titleRemoved value: -"Custom Prompt" - added
Input schema / properties / data / defaultAdded value: +null - added
Input schema / properties / data / descriptionAdded value: +"The text content to store. Mutually exclusive with\nfilename/content_base64." - removed
Input schema / properties / data / titleRemoved value: -"Data" - added
Input schema / properties / dataset_name / descriptionAdded value: +"Target dataset name. Defaults to the current MCP client's\nagent-scoped dataset (e.g. \"cursor_vscode_memory\"), or\n\"main_dataset\" if no client identity is detected." - removed
Input schema / properties / dataset_name / titleRemoved value: -"Dataset Name" - added
Input schema / properties / filenameAdded value: +{ + "default": null, + "description": "Original filename for a file upload. Used to derive the stored\ndocument's name. Requires content_base64.", + "type": "string" +} - added
Input schema / properties / session_id / descriptionAdded value: +"Session ID. When set, stores in session cache only." - removed
Input schema / properties / session_id / titleRemoved value: -"Session Id" - removed
Input schema / requiredRemoved value: -[ - "data" -] - removed
Input schema / titleRemoved value: -"rememberArguments" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "result": { + "items": {}, + "type": "array" + } + }, + "required": [ + "result" + ], + "type": "object", + "x-fastmcp-wrap-result": true +}
- Added
search_tools - Changed
upload_file_ui2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / titleRemoved value: -"upload_file_uiArguments"
- Changed
visualize_graph_ui3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / dataset_name / titleRemoved value: -"Dataset Name" - removed
Input schema / titleRemoved value: -"visualize_graph_uiArguments"
4 tool updates
v1.4.1- Added
create_dataset_json - Added
get_client_info_json - Added
recall - Added
remember
4 tool updates
v1.4.0- Removed
create_dataset_json - Removed
get_client_info_json - Removed
recall - Removed
remember
1 tool update
v1.0.2- Changed
recall1 field changed- changed
Input schema / properties / top_k / defaultPrevious value: -10New value: +15
11 tool updates
v1.0.1- First observed
cognify_file - First observed
create_dataset_json - First observed
forget - First observed
get_client_info_json - First observed
list_dataset_data_json - First observed
list_datasets_json - First observed
open_cognee_workspace - First observed
recall - First observed
remember - First observed
upload_file_ui - First observed
visualize_graph_ui
TDQS
Each tool has a distinct role: remember stores data, recall retrieves it, forget deletes it, and call_tool/search_tools handle tool execution and discovery. No two tools overlap in purpose, and the descriptions clarify boundaries (e.g., remember vs. recall).
All tool names are single imperative verbs (call, remember, recall, forget, search), following a consistent pattern of action words. No naming style clashes or vague synonyms are present.
5 tools is well-scoped for a memory management server, covering the essential operations (CRUD plus meta utilities) without redundancy. Each tool earns its place.
The toolset covers the full lifecycle of memory: store (remember), retrieve (recall), and delete (forget), including support for permanent and session contexts. The inclusion of call_tool and search_tools addresses tool discovery and execution, making the surface complete for its purpose.
Maintenance
Related MCP Connectors
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Universal persistent memory and knowledge retrieval layer for AI agents and LLMs.
11
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to store, retrieve, and connect information in a Neo4j graph database as persistent memory, with semantic relationships, natural language search, and temporal tracking across conversations.92869MIT
- AlicenseNot gradedqualityAmaintenancePersistent knowledge memory layer for AI agents. Hybrid semantic + full-text search with pgvector, code dependency graph with blast-radius impact analysis, and incremental indexing for 7 languages. In-process ONNX embeddings, no external API required.4635MIT
- AlicenseNot gradedqualityDmaintenanceProvides persistent knowledge graph memory for AI agents, enabling them to store, recall, and query facts about people, projects, and relationships across sessions.MIT
- FlicenseNot gradedqualityFmaintenanceEnables LLMs to store, search, and manage memories with hybrid semantic and keyword search using ChromaDB and Neo4j for persistent memory and knowledge graph capabilities.-
Appeared in Searches
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/topoteretes/cognee'
If you have feedback or need assistance with the MCP directory API, please join our Discord server