Sasha MCP reference

listDocs

List documents in a project

List the documents in one knowledge project, with titles from frontmatter. Covers .md, .txt, .csv, .json, .xml, .yaml, .yml files. Each path is relative to the project and carries NO project prefix. Pass it to readDoc together with the same project id.

Arguments

ArgumentTypeRequiredDescription
projectstringrequiredProject id from listProjects

Scopes

knowledge:read

Annotations

  • Read only: yes
  • Destructive: no

When to use

Use listDocs when you know the project and want to see what it holds. If you are looking for a fact, searchKnowledge is usually faster.

The tool needs the knowledge:read scope. The project argument is a project id from listProjects.

  • It lists .md, .txt, .csv, .json, .xml, .yaml and .yml files. The match on the extension is case-sensitive.
  • It lists at most 500 documents. When there are more, truncated is true.
  • title is the title field of the document's frontmatter. If there is none, it is the path without .md, folders included.
  • frontmatter holds the document's frontmatter fields, or {} when there are none.
  • Each path is relative to the project. It has no project prefix. Pass it to readDoc with the same project.
  • Paths whose first segment is skills or prompts, and paths with a segment that starts with ., are never listed.

A member can list their own home and each ordinary project where they hold a grant. Admin and staff can list every active ordinary project, but no member home.

Example

{ "project": "northwind-advisory" }
{
  "project": "northwind-advisory",
  "docs": [
    { "path": "client-onboarding-procedure.md", "title": "Client onboarding procedure", "frontmatter": { "title": "Client onboarding procedure", "owner": "Office manager" } },
    { "path": "pricing-policy.md", "title": "pricing-policy", "frontmatter": {} },
    { "path": "proposal-template.md", "title": "proposal-template", "frontmatter": {} },
    { "path": "meetings/meeting-2026-08-14-pricing.md", "title": "meetings/meeting-2026-08-14-pricing", "frontmatter": {} }
  ],
  "truncated": false
}

Refusals and what to do

  • Error in listDocs: Not found: the project does not exist, or this person cannot see it. The two cases give the same answer on purpose. Call listProjects and use an id from that list.
  • If the connection does not hold knowledge:read, the tool is not in your tool list, and a call to it returns MCP error -32602: Tool listDocs not found. Read the permissions section of getDocs. A scope is never added to an existing connection: the person must reconnect, or mint a new token, with knowledge:read.
  • An empty project is refused as invalid arguments.

Related

  • listProjects gives the project ids.
  • readDoc reads a document. Pass project and the path from this list.
  • searchKnowledge finds documents by their text.
made with bernard

Cookie settings