Open Context gives your assistant 23 tools. Your client loads them automatically when it connects — there’s nothing to configure here.
This page is for two things: understanding what a connected assistant can actually do with your Library, and checking parameter names if you’re wiring up a client by hand.
Every tool declares an outputSchema, and results carry structuredContent alongside the serialized text block — clients that validate or parse structured tool results (per the 2025-06-18 MCP revision) get typed output without re-parsing JSON out of text.
Search and read
The tools an assistant reaches for most. All of these are read-only.
| Tool | What it does | Key parameters |
|---|---|---|
search_library | Hybrid semantic and keyword search across titles, content, tags, notes, and categories. The main way an assistant finds what you saved. | query; optional contentType, limit, spaceId |
get_relevant_context | Synthesized context on a topic — summaries and themes rather than raw item bodies. Cheaper than reading every match. | topic; optional limit |
list_library_items | Browse by a tag or category you already know. Use search_library instead when you don’t know the exact name. | Optional category, tag, limit |
get_library_item | Fetch one item in full by ID. | id |
get_last_stash | Return the most recently saved item. This is what answers “What was the last thing I stashed?” | (none) |
get_profile | Load your profile so the assistant knows who you are and how you work. | (none) |
Save and edit
| Tool | What it does | Key parameters |
|---|---|---|
stash_content | Save new text to your Library. | content; optional title, contentType, language, tags, category, notes |
stash_media | Save an image, PDF, or document. Prefer url — the server fetches it. Base64 is a fallback and is less reliable. | url (recommended), or content plus mimeType and filename |
update_library_item | Change an item’s metadata or content. Changing content re-runs enrichment. | id, plus only the fields you want to change |
delete_library_item | Remove an item. | id |
update_library_item also accepts isPublic to turn public link-sharing on or off. Setting it true on an item already shared into a Space returns a conflict error — an item can’t be both at once.
Profiles
| Tool | What it does | Key parameters |
|---|---|---|
create_profile | Create a profile from freeform markdown. | name, slug, textContent |
update_profile | Rename a profile or rewrite its body. Only freeform text profiles can be edited over MCP. | id; optional name, slug, textContent, isPublic |
Slugs must be unique per user — lowercase letters, numbers, hyphens, and underscores. A duplicate returns a conflict error, so pick another.
isPublic works the same way it does for Library items — it can’t be set true on a profile assigned to a Space.
Spaces
| Tool | What it does | Key parameters |
|---|---|---|
list_spaces | List the Spaces you own or belong to. | (none) |
get_space | Space details, member profiles, and a synthesized summary of what the Space holds. Worth calling first for any Space work. | spaceId |
get_space_items | List what’s in a Space — metadata only, no content bodies. | spaceId |
share_to_space | Share one of your Library items into a Space. You can still remove it later. | itemId, spaceId |
To search inside a Space rather than your personal Library, pass spaceId to search_library. Membership is checked on the server.
Media
| Tool | What it does | Key parameters |
|---|---|---|
list_media_items | List saved images, PDFs, and documents. | Optional contentType, limit |
get_media_item | Fetch one media item by ID. Returns the file content. | id |
Both include a contentUrl — a direct, unauthenticated link to the raw file — only when the item’s isPublic is true. Otherwise it’s omitted and a publicSharingNote explains why: call get_media_item itself instead, which is authenticated and always works for your own items regardless of isPublic.
Session handoffs
Work rarely finishes in one sitting — or in one AI tool. A handoff captures where a session stopped so the next one, in any connected assistant, can pick up exactly there.
| Tool | What it does | Key parameters |
|---|---|---|
save_handoff | Save structured work-state before a session ends: the goal, decisions made, open questions, artifacts touched, and ordered next steps. The server renders it as readable markdown in your Library. | goal; optional decisions, openQuestions, nextSteps, artifacts, title, tags, sourceAgent |
resume_work | Pick work back up. With no arguments it lists your recent handoffs; pass topic to search them, or id to retrieve one in full. | Optional id, topic, limit |
This is the portability pitch made concrete: end a session in ChatGPT with “save a handoff”, open Claude, and say “pick up where I left off.”
Tags and vocabulary
These keep tagging consistent instead of accumulating synonyms you have to clean up later.
| Tool | What it does | Key parameters |
|---|---|---|
get_taxonomy | Your personal tag taxonomy — categories, subcategories, and synonym rules. Worth calling before saving so new tags match your existing vocabulary. | (none) |
list_library_tags | Every tag you’ve used, with counts, sorted by frequency. | (none) |
get_space_vocabulary | The established vocabulary for a Space, so shared items get tagged like everything else in it. | spaceId |
What can change your data
Fifteen of the 23 tools are read-only — they can look at your Library but never alter it. Eight can write:
- Creates something new:
stash_content,stash_media,create_profile,share_to_space,save_handoff - Changes or removes something:
update_library_item,update_profile,delete_library_item
Each tool declares this to your client, so hosts that support per-tool approval can prompt you before the last three run.
Tool names are stable — you can rely on them. For exact schemas, read them from your client’s tool discovery rather than copying from this page; that’s always current.