knowmind exposes ten MCP tools over JSON-RPC 2.0 at https://knowmind.de/api/mcp/v1. This reference documents each signature, every parameter, the return schema, a complete example and the typical error cases. MCP protocol version: 2025-06-18.
General
Endpoint:POST https://knowmind.de/api/mcp/v1
Authentication:Authorization: Bearer kmt_…
Body: JSON-RPC 2.0 request with method: "tools/call" and parameters in params.arguments.
Response format: JSON-RPC response. With Accept: text/event-stream the endpoint returns Streamable HTTP frames (SSE) — for native custom connectors in Claude.ai and ChatGPT.
Scope model: read is enough for recall and list tools; write for create and maintain; admin for plan-relevant actions. Scopes are enforced server-side per tool call.
Tenant isolation: a token belongs to exactly one workspace. Cross-tenant access is blocked at the database level.
knowmind.recall
Scope: readsince 0.3.0
Hybrid recall against the Memory Store of your workspace. Combines full-text (BM25 with German analyzer), vector search (multilingual-e5-large, 1024 dimensions) and graph hops in the Knowledge Graph. Cross-encoder rerank for the top hits.
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"hits": [
{
"memory_id": "memory_onboarding_2026_03",
"title": "Onboarding contacts Q2 2026",
"content": "Anna Müller owns onboarding for new service staff, deputised by Tomasz Kowalski.",
"score": 0.93,
"source": "internal-handbook-v3"
}
],
"elapsed_ms": 187
}
}
Error cases
Code
Meaning
-32602
Invalid params (query missing or empty)
-32000
Service-token unconfigured or provider error
401
Bearer token missing or invalid
429
Rate limit exceeded
knowmind.recall_at_time
Scope: readsince 0.3.0
Point-in-time recall (bi-temporal). Returns only memories that were valid at the given time — i.e. valid_from <= as_of AND (valid_to > as_of OR valid_to is unset). Suitable for "What did the Memory Store know on 14 March?".
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"hits": [
{
"memory_id": "memory_mueller_plan_v2",
"title": "Müller GmbH plan as of 2026-02-01",
"content": "Müller GmbH is on Business with five seats.",
"valid_from": "2026-02-01T00:00:00Z",
"valid_to": "2026-04-01T00:00:00Z",
"score": 0.88
}
]
}
}
Error cases
Code
Meaning
-32602
Invalid params (query missing, as_of not ISO 8601)
401
Bearer token missing or invalid
knowmind.list_relations
Scope: readsince 0.3.0
Returns all inbound and outbound typed relations for a memory. Per relation: type, source and target node, creation time.
Creates a new memory in the workspace. If the content is longer than a single section, prefer knowmind.upload_document — it produces chunks and multiple vectors.
Parameters
Name
Type
Required
Default
Note
title
string
no
—
Short title
content
string
yes
—
Full text
memory_type
string (enum)
no
semantic
semantic, episodic, procedural, reference
tags
string[]
no
—
Tags for filtering
source
string
no
—
Source, free text
Example — request
json
{
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "knowmind.store_memory",
"arguments": {
"title": "QM training mandatory",
"content": "All service staff complete the QM training annually.",
"memory_type": "procedural",
"tags": ["qm","training"],
"source": "internal-handbook"
}
}
}
Invalid params (content missing, memory_type out of enum)
402
Plan limit reached (e.g. 100 memories on Private)
403
Scope write missing
knowmind.upload_document
Scope: writesince 0.2.0
Ingests a longer text as a document. knowmind splits the text into semantic sections, generates an embedding per section, and creates a document memory linked to its sections via HAS_CHUNK.
Bi-temporal update of an existing memory: the original gets valid_to = now, a new version with valid_from = now is created and linked via SUPERSEDES. The history stays auditable — old statements are not deleted, they are marked superseded.