List sources
list_sourcesList 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. 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. 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. private: true on a row means GitHub will not serve that repository without credentials. It is a READING fact — attach an authorisation, expect no anonymous link to it to work — and it says nothing about whether the published site is public: whether anyone outside can read the DOCS is visibility on the workspace, and a private repository serving a fully indexed public site is an ordinary Docsbook setup.
origin is workspace_repo or site_source when id is null, source otherwise.- 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.
idis a string, not a number, for two kinds of row that were never 'connected' by hand — it equalsorigin:workspace_repois the repository the docs are built from (read it withread_source source_id: "workspace_repo"; arm a commit trigger on it withenable_agent'swatch_source_id: "workspace_repo", no need toconnect_sourceit first);site_sourceis the legacy single URL set in Branding (readable, but not a repository — it cannot be a commit trigger).
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_sources",
"arguments": {}
}
}{
"sources": [],
"hint": "<hint>"
}