Working memory that survives context compression. Record decisions, surface relevant history, let knowledge decay naturally.
https://kg.kompl.yt/mcpAdd via CLI with your API key:
claude mcp add --transport http kg https://kg.kompl.yt/mcp \
--header "Authorization: Bearer $KG_API_KEY" \
--header "X-KG-User: you@example.com" \
--header "X-KG-Org: your-org"
Requires Developer mode (Plus/Pro/Team/Enterprise):
https://kg.kompl.yt/mcpAdd to .cursor/mcp.json:
{
"mcpServers": {
"kg": {
"transport": "http",
"url": "https://kg.kompl.yt/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY",
"X-KG-User": "you@example.com",
"X-KG-Org": "your-org"
}
}
}
}
Any MCP-compatible client can connect via HTTP transport:
Endpoint
https://kg.kompl.yt/mcp
Authentication
OAuth 2.1 with PKCE (auto-discovery via /.well-known/oauth-authorization-server)
Or direct Bearer token with X-KG-User and X-KG-Org headers
Protocol
MCP Streamable HTTP (JSON-RPC 2.0)
kg_session_start
Start a working session
Sessions drive decay scoring. Start one per work block; nodes decay between sessions.
Parameters
project?: string
create_project?: boolean
notes?: string
Example
kg_session_start({
project: "api-redesign"
})
kg_session_info
Current session details
Read-only. Returns the current session and node counts by type.
Parameters
(no parameters)
Example
kg_session_info({})
kg_session_end
End the current session
Ends the active session. Nodes and edges are kept.
Parameters
(no parameters)
Example
kg_session_end({})
kg_node_create
Record knowledge artifacts
Capture observations, decisions, problems, approaches, and more. Generates embeddings for semantic search.
Parameters
type: "observation" | "decision" |
"problem" | "approach" | ...
content: string
status?: "open" | "resolved" | ...
relates_to?: string[] // node IDs, max 20
project?: string
container?: string
tags?: string[]
Example
kg_node_create({
type: "decision",
content: "Use Zod for validation",
tags: ["architecture"]
})
kg_query
Search the knowledge graph
Semantic search with spreading activation. Finds related nodes through learned edges.
Parameters
text?: string // semantic query
type?: string // filter by type
status?: string
project?: string
spread?: boolean // default: true
limit?: number // default: 10
Example
kg_query({
text: "authentication flow",
type: "decision",
limit: 5
})
kg_node_update
Update and reactivate nodes
Modify node status or content. Reactivates the node, preventing decay.
Parameters
id: string // node ID
status?: string // new status
content?: string // regenerates embedding
Example
kg_node_update({
id: "node:abc123",
status: "resolved"
})
kg_relate
Create explicit relationships
Create or reinforce edges between nodes. Strengthens spreading activation paths.
Parameters
from: string // source node ID
to: string // target node ID
Example
kg_relate({
from: "node:abc",
to: "node:xyz"
})
kg_status
Get current session state
Overview of session, open problems/todos, and recent decisions.
Parameters
project?: string // filter by project
Returns
current_session: number
total_nodes: number
open_todos: Node[]
open_problems: Node[]
recent_decisions: Node[]
Start a session per work block. Decay happens between sessions, surfacing recently active knowledge.
Old nodes fade over time. Use kg_node_update or kg_query to reactivate what matters.
Only kg_node_update edits node content. Queries, relates and session starts update usage metrics (decay and activation scores) that weight future results.
Queries activate connected nodes through learned edges. Related knowledge surfaces automatically.