Documentation pages

MCP tools

What an assistant connected to Middleout can query and record, with the parameters of each tool.

View as Markdown

Every tool acts as the person who connected the assistant: it sees only what that person can see in Middleout. If something does not exist or is not visible to them, the answer is the same: not found.

Memory objects are identified by a handle, which the search tools return and the read tools receive.

How does finance define net sales?
A connected assistant searches Middleout before answering. The call and the response are the MCP's real ones; the interface depends on your assistant.

Query

Tool What it is for Parameters
ask Ask Middleout a business question and get its grounded answer, with the sources it cites. question; investigation_id (optional) to ask within an investigation.
search_knowledge Find what the company knows about something, by meaning or by record number. query; types (optional); limit (up to 20, 10 by default).
read_object Read a whole object: its fields, its sources and, for a mental model, its causes. handle.
get_neighbourhood See what surrounds an object in the graph. handle; depth (1 or 2).
get_knowledge_map See at a glance what the company knows: its areas and the totals by type. None.
get_instructions Read the instructions for working in a connected repository: its AGENTS.md and CLAUDE.md files. repository (owner/name).
list_investigations List the investigations you can open, newest first. limit (up to 50, 20 by default).
read_investigation Read an investigation: its question, its goal and what people have already concluded. investigation_id.

The types search_knowledge accepts are: metric, decision, definition, procedure, learning, mental_model, table and document.

ask is limited to 30 questions per hour per person when used over MCP.

Record

When something the company should know comes up in the conversation, the assistant can record it in Middleout. What is recorded goes into the memory immediately, with its origin: the assistant that recorded it, on behalf of the person.

Tool What it records Main parameters
record_decision A decision: the question, what was chosen, the alternatives and the assumptions. If another decision on the same question is recorded, it replaces the previous one, which is kept as history. question, outcome, alternatives, assumptions, rests_on, scope.
record_teaching A teaching: a definition, a rule or a formatting preference. statement, subject, confirmed, scope, kind (definition, rule or formatting).
record_relation A relation between two objects in the memory, with the quote that backs it. source, target, relation, quote, confirmed.
record_question An open question nobody has answered yet. statement, scope.
record_evidence Evidence for or against something the memory already contains. statement, stance (supports or contradicts), bears_on, scope.

scope says who the record is for: org (the whole organization), team (your team) or user (only you).

Good practices for agents

  • Before answering about the business, search with search_knowledge or ask with ask: the company may have an agreed definition that differs from the usual one.
  • Cite the handles you used, so the person can open them in Middleout.
  • Record only what the person confirmed or decided in the conversation, and set confirmed when they did so explicitly.
  • If a tool says something does not exist, the person may not have access to it. Do not assume it does not exist for the whole company.