rawthink
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OLLAMA_URL | No | Ollama server URL | http://localhost:11434 |
| QDRANT_URL | No | Qdrant server URL | http://localhost:6333 |
| QDRANT_PATH | No | Set for embedded Qdrant (no Docker) | |
| OLLAMA_MODEL | No | Ollama embedding model | bge-m3 |
| RAWTHINK_VAULT | No | Path to vault directory | ../vault |
| MEMORY_FILE_PATH | No | Knowledge graph file path | ../vault/memory.jsonl |
| RAWTHINK_TURKISH_NORMALIZATION | No | Set 1 or true to enable Turkish normalization | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_thoughtsB | Search vault content with hybrid semantic + keyword search. |
| get_sessionA | Get full content of a session by reading the markdown file directly. |
| store_thoughtA | Store a new thought — embed and save to vault as a qnote. |
| reindexA | Re-index vault content into the search database. |
| search_nodesA | Search the knowledge graph. Bounded: returns |
| create_entitiesA | Create multiple new entities in the knowledge graph. If an entity with the same name exists, new observations are merged. Each entity can have:
Observations are stored with temporal metadata (created date, status). Entities get activation tracking (activation=1.0, last_accessed=today). |
| create_relationsA | Create multiple new relations between entities. Relations should be in active voice. Canonical relation types: supports, contradicts, evolved_into, depends_on, exemplifies, part_of, caused_by, enables, supersedes, related_to. Non-standard types are accepted but return a warning. |
| add_observationsA | Add new observations to existing entities in the knowledge graph. |
| recordA | Write entities, relations and observations in one validated, atomic call. This is the single write path. Everything is validated before anything is written, so a batch that is half-valid writes nothing. Entity fields: name, entityType (required for new), domain (required for new), epistemic (assertion|hypothesis|speculation|unknown, default unknown), visibility (private|shareable, default private), observations. An observation may be a string, or {"text": ..., "kind": ...} where kind is note|decided|rejected|because|touches. Relations use the canonical vocabulary; close synonyms are folded, unknown types are rejected. A relation may only point at an entity that exists or is being created in this same call. |
| record_decisionA | Record a decision: what was chosen, what was rejected, and why.
|
| reviseA | Mark observations as no longer held, and link what replaced them. Deliberately not a delete. Keeping the superseded belief, dated and linked, is what lets the archive answer "why did we change our mind" later. If you pass |
| delete_entitiesA | Delete multiple entities and their associated relations from the knowledge graph. |
| delete_observationsB | Delete specific observations from entities in the knowledge graph. |
| invalidate_observationsA | Mark observations as invalidated (belief revision tracking). Sets status='invalidated' and records invalidated_at date. Optionally records what superseded the old belief. |
| delete_relationsA | Delete multiple relations from the knowledge graph. |
| read_graphA | Read the entire knowledge graph — all entities and relations. By default returns full entities with pagination (offset/limit). Use summary=True for a compact overview (names + types + observation counts). |
| open_nodesA | Open specific nodes in the knowledge graph by their names. Returns the requested entities and all relations connected to them. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Multiple tools have overlapping purposes: record overlaps with create_entities, create_relations, and add_observations as a 'single write path,' and revise and invalidate_observations both mark observations as invalidated with optional supersession info. These unclear boundaries will lead to agent misselection.
Most tools follow a clear verb_noun snake_case pattern (e.g., search_thoughts, create_entities, delete_relations), but a few use bare verbs (reindex, record, revise) that break the pattern. The overall convention is readable and predictable with only minor deviations.
With 17 tools, the count is slightly above the typical 3-15 range, but it is justified by the server's dual focus on vault/thoughts and knowledge graph management. Each tool serves a distinct subdomain, though some could be consolidated (e.g., individual write tools vs. record).
The knowledge graph supports creation, reading, and deletion for entities and relations, but lacks explicit update operations for entity metadata or relation modifications. The vault side has no update or delete for thoughts, and there is no listing mechanism for sessions, leaving notable gaps in the intended lifecycle coverage.