MCP reference

Tools, authentication and context routing for agents and custom MCP clients.

Endpoint and authentication

POSThttps://mcp.pensieve.uk/mcp

Use the full URL including /mcp. Authenticate with OAuth, or use the expiring bearer token from MCP Server → Any other client in Pensieve when the client cannot use OAuth. See Signing in. A successful tools/list confirms authentication and tool discovery; it does not prove skills or hooks are installed.

Tools

Over MCP your AI gets a focused set of tools for navigating the context layer:

ToolWhat it does
list_contextsList all accessible contexts with ids, names, roles and root Page links. Open the chosen root with read.
infoRead a short primer and index. info(help="setup") reads a reusable guide; other guides cover harness, usage, editing and troubleshooting, all available before choosing a context. info(inspect="connectors") reads current connections, sync state and available providers with setup links. info(inspect="activity") reads current work, blockers and attention needed. Inspections take the same context_id as other tools.
list_treesSee which maps exist: your company map, members, and source trees for connected codebases or databases.
get_treeRead a two-level outline of a tree or branch, with Page summaries; use it for questions about the map’s organisation.
searchRanked semantic search across pages and source material, or within one Page, source, or transcript turn, with citations — plus exhaustive "find every mention" and backlink lookups when the question needs them.
readOpen any page, source document, table, transcript turn, or correction — by reference, path, or name — with its links, evidence and provenance.
save_dataWrite knowledge back as a source document that flows through the normal ingestion pipeline. With a stable key it updates the same source on later calls.
search_changes / read_changeFind what changed in the context layer and when, then open any changeset to see exactly what moved and why.
create_page / edit_page / move_page / merge_pages / delete_pageApply Page changes: each names its exact target and content, and lands as a revision-checked edit.
set_lockHold a page or branch steady, so the curation layer leaves what you wrote alone.

Choosing a context

Every context-scoped tool takes a context_id. Writes always require it so a change in membership cannot redirect a write. Reads may omit it when you belong to one context. With several, each read names its context; a read without one returns your ids instead of guessing:

list_contexts()
read(identifier="<root Page link returned for context 42>", context_id=42)
search(query="Current priorities", context_id=42)
info(inspect="activity", context_id=42)
save_data(content="Approved meeting notes", context_id=42)

Use your company's actual id from list_contexts. Nothing is selected or saved between calls, so this works the same in every client, whether or not it keeps an MCP session.

Plugin briefings and saved conversations

In supported plugin conversations, a conversation works in one context: the first one it reads or uses. If you belong to a single context, the automatic briefing loads it from the start. If you belong to several, a new conversation's briefing lists them and names the one you used most recently, without loading any; your agent opens the right one when the work needs it. You never set it yourself.

A saved conversation goes to that one context. Saving stops for the rest of the conversation as soon as a second context (or a second account) is used, so one company's material never lands in another's transcript. Start a new conversation to save again. See saved conversations.

Up next

Benchmark