RAWThink
Persistent memory for AI thinking partnerships: hybrid search and a temporal knowledge graph.
Connector by ygtalp · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying RAWThink?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/ygtalp-rawthink-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 5 read · 9 write · 3 delete
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 17
Read from the source code; the running server may list different tools.
Read 5 · Look things up without changing anything.
get_sessionopen_nodesread_graphsearch_nodessearch_thoughts
Write 9 · Create, change, send or run things.
add_observationscreate_entitiescreate_relationsinvalidate_observationsrecordrecord_decisionreindexrevisestore_thought
Delete 3 · Delete, drop, revoke or wipe things.
delete_entitiesdelete_observationsdelete_relations
Secrets and settings it asks for
Other settings (environment variables or headers).
MEMORY_FILE_PATHOLLAMA_MODELOLLAMA_URLQDRANT_PATHQDRANT_URLRAWTHINK_BM25_STATERAWTHINK_LOG_LEVELRAWTHINK_TOOL_PROFILERAWTHINK_VAULT
Tools (17)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_observationsAdd new observations to existing entities in the knowledge graph. Args: observations: List of dicts with keys: entityName, contents (list of strings).
create_entitiesCreate multiple new entities in the knowledge graph. If an entity with the same name exists, new observations are merged. Each entity can have: - name (required): Entity name - entityType: Type (default "concept") - observations: List of observation strings - epistemic: "assertion" | "hypothesis" | "speculation" (optional) Observations are stored with temporal metadata (created date, status). Entities get activation tracking (activation=1.0, last_accessed=today). Args: entities: List of dicts with keys: name, entityType, observations (list of strings), epistemic (optional).
create_relationsCreate 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. Args: relations: List of dicts with keys: from, to, relationType.
delete_entitiescan change or delete dataDelete multiple entities and their associated relations from the knowledge graph. Args: entityNames: List of entity names to delete.
delete_observationscan change or delete dataDelete specific observations from entities in the knowledge graph. Args: deletions: List of dicts with keys: entityName, observations (list of strings to remove).
delete_relationscan change or delete dataDelete multiple relations from the knowledge graph. Args: relations: List of dicts with keys: from, to, relationType.
get_sessionread-onlyGet full content of a session by reading the markdown file directly. Args: session_id: Session identifier (e.g. "2026-03-16_001").
invalidate_observationsMark observations as invalidated (belief revision tracking). Sets status='invalidated' and records invalidated_at date. Optionally records what superseded the old belief. Args: entity_name: Name of the entity whose observations to invalidate. observations: List of observation text strings to invalidate. superseded_by: Optional description of what replaced these beliefs.
open_nodesread-onlyOpen specific nodes in the knowledge graph by their names. Returns the requested entities and all relations connected to them. Args: names: List of entity names to retrieve.
read_graphread-onlyRead 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). Args: summary: If True, return compact overview. If False (default), return full entities with pagination. entity_type: Filter entities by type (e.g. "concept", "decision", "insight"). offset: Skip first N entities (for pagination). Default 0. limit: Max entities to return (for pagination). Default 20.
recordWrite 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,…
record_decisionRecord a decision: what was chosen, what was rejected, and why. `rejected` is the field that makes this worth recording. What was chosen stays readable in the code forever; what was considered and dropped exists nowhere else, and it is the question that gets asked months later. Args: name: Stable identifier, e.g. "banking/phase-7: reference ID strategy". domain: Subject area (software, music, history, ...). decided: What was chosen. because: The constraint or reasoning that forced it. rejected: Alternatives considered and dropped, each with its reason. touches: Files …
reindexRe-index vault content into the search database. Args: session_id: If provided, reindex only this session. full: Force full vault re-index.
reviseMark 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 `superseding_entity`, record that entity first — a relation cannot point at a name the graph does not know. Args: entity_name: Entity whose observations are being revised. observations: Exact observation texts to invalidate. superseded_by: Short description of what replaced them. superseding_entity: Name of the entity that supersedes this one.
search_nodesread-onlySearch the knowledge graph. Bounded: returns `total_matched` alongside a capped page, so a truncated result is visible rather than silent. Args: query: Matched against entity names, types and observations. limit: Max entities returned (default 10). max_relations: Max relations returned (default 50). domain: Narrow to one subject area (software, music, history, ...). entity_type: Narrow to one role (decision, concept, finding, rule, ...).
Show 2 more tools
search_thoughtsread-onlySearch vault content with hybrid semantic + keyword search. Args: query: Natural language query (e.g. "what did I think about consciousness?"). source_type: Filter by "session" or "qnote". tags: Filter by tags (e.g. ["philosophy", "consciousness"]). limit: Max results (default 10). mode: "full" returns matching passages; "overview" returns one line per session (id, title, score) for orientation before drilling in.
store_thoughtStore a new thought — embed and save to vault as a qnote. Args: text: The thought text to store. session_id: Session reference linking this qnote to its source conversation. Recommended — pass the current or most recent session ID (e.g. from handoff) so qnotes can be traced back to their session context. tags: Optional tags for the note.
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 37
- Last commit
- Jul 31, 2026 (3 months ago)
- Last release
- Jul 31, 2026 (3 months ago)
- Last package publish
- Jul 31, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.ygtalp/rawthink-mcp- Version
- 2.0.1
- Auth
- No auth
- Packages
- pypi rawthink-mcp
- License
- MIT
- Repository
- github.com/ygtalp/rawthink-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get RAWThink running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
RAWThink MCP server. Agent Mart. https://agentmart.dev/connectors/ygtalp-rawthink-mcp (last updated 2026-10-24)