Docsbook
Overview

List sources

MCPlist_sourcesREAD$0.008 / call

List the sources this documentation is connected to — the repositories and websites its owner registered as its sources of truth, plus the repository the site is built from. Call this BEFORE writing or updating documentation and before judging whether something documented is still true: a connected source is a fact you can go and read, and reading beats recalling. Returns { sources: [{ id, kind, label, url, note, status, origin }] }; note is the owner's own words about why that source is connected — treat it as instruction. Read one with read_source. id is null for two kinds of row that were never 'connected' by hand — origin says which: workspace_repo is the repository the docs are built from (arm a commit trigger on it with enable_agent's watch_source_id: "workspace_repo", no id needed and no need to connect_source it first); site_source is the legacy single URL set in Branding (readable, but not a repository — it cannot be a commit trigger). Every other row's origin is source and its id is a number. An empty list means nothing is connected: say so rather than inventing a repository or a domain. This answers WHAT, not what to do about it. If you have not already got the method from docsbook_expert, get it first: it names which readings answer this question, what to compare them against, and what would make the conclusion wrong. One call, changes nothing.

Arguments
workspace_idstringoptional

Workspace ID (optional when MCP endpoint is auto-scoped). Numeric workspace id — OR the project as the user names it: 'owner/repo', the repo name alone, the site's display name, its docs URL or custom domain. Text is resolved server-side; an ambiguous name returns the candidates instead of guessing, so pass what the user said rather than calling list_workspaces first.

Call it#

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_sources",
    "arguments": {}
  }
}
curl -X POST 'https://docsbook.io/api/mcp/server' \
  -H 'Authorization: Bearer dbk_YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_sources","arguments":{}}}'

Try it over REST#

The same tool is callable as a plain HTTP request, no MCP client required. It runs on the same server, at the same price.

Your workspace is resolved from the API key, so workspace_id is decided server-side here and anything you send for it is ignored.

POST/api/v1/tools/list_sources
Authorization
Authorizationstringrequired

Your API key, sent as Authorization: Bearer dbk_YOUR_API_KEY.Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Body
argsobject

The arguments above, as one JSON object.

Request
curl -X POST 'https://docsbook.io/api/v1/tools/list_sources' \
  -H 'Authorization: Bearer dbk_YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"args":{}}'

Updated

Was this page helpful?