listDocuments
List AND grep documents in a project, workspace, or folder. query does a full-content search across each document's body (not just the title) and returns the matching lines — like grep across your docs. Each returned document includes contentMatches: [{line, text, context?}] and matchCount; the t...
This record as markdown: /tools/io-stablebaseline-sb/listdocuments.md
What listDocuments does on Stable Baseline
AI agents call listDocuments to retrieve information from Stable Baseline without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | — | |
query | string | — | Search text. Matched against title, friendlyId AND full document content. Returns the matching lines per document (grep). Case-insensitive unless caseSensitive: |
fields | array | — | Field projection for the document metadata. Valid fields: id, title, friendlyId, friendlyIdNumber, projectId, folderId, createdAt, updatedAt, href. (contentMatc |
offset | number | — | |
toDate | string | — | ISO 8601 date filter (to). |
isRegex | boolean | — | Treat `query` as a JavaScript regular expression (grep -E). Default false (literal substring). Regex search requires a project/workspace/folder scope and scans |
folderId | string | — | |
fromDate | string | — | ISO 8601 date filter (from). |
dateField | string | — | Date field to filter. Default: updated_at. |
projectId | string | — | |
workspaceId | string | — | |
contextLines | number | — | Lines of surrounding context to include with each match (grep -C). 0-5, default 0. |
Parameters from the server's own tool schema.
Why listDocuments is rated Low
This tool performs search and retrieval operations only. It returns document content and metadata but does not create, modify, delete, or execute anything. The mention of parameters like `query`, `isRegex`, `caseSensitive`, and `contextLines` are all for filtering and presenting existing data, not transforming it. This is a classic Read operation.
From the tool's definition Tool description explicitly states 'List AND grep documents' and 'full-content search across each document's body'.
Risk signalsHigh parameter count (14 properties)
Attacks that exploit this kind of access
The rule that runs listDocuments safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Stable Baseline, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For listDocuments, this is the rule to start with:
listDocuments is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Stable Baseline, apply this rule, and every listDocuments call is checked against it from then on.
Questions about listDocuments
List AND grep documents in a project, workspace, or folder. query does a full-content search across each document's body (not just the title) and returns the matching lines — like grep across your docs. Each returned document includes contentMatches: [{line, text, context?}] and matchCount; the text is anchor-ready (paste it straight into editDocument's oldText). Use isRegex:true for regular-expression search (e.g. "TODO\(.*\)", "ACME-\d+"), caseSensitive for exact case, and contextLines for surrounding lines (grep -C). versionTimestamp is returned per document so you can edit straight from the results without a getDocument round-trip. Also supports date filtering. It is categorised as a Read tool in the Stable Baseline MCP Server, which means it retrieves data without modifying state.
listDocuments accepts 12 parameters: limit, query, fields, offset, toDate, isRegex, folderId, fromDate, dateField, projectId, workspaceId, contextLines. The full parameter table on this page comes from the server's own tool schema.
Register the Stable Baseline MCP server in PolicyLayer and add a rule for listDocuments: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stable Baseline. Nothing to install.
listDocuments is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the listDocuments rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for listDocuments. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
listDocuments is provided by the Stable Baseline MCP server (https://api.stablebaseline.io/functions/v1/cloud-serve/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Stable Baseline, and thousands of servers like it.
This server
Across the catalogue