概览

Grant repo access

MCPgrant_repo_access
WRITE$0.00003 / call
Features

Whether Docsbook can COMMIT to a GitHub repository — and, when it cannot, the one URL that fixes it. It writes nothing and needs no GitHub authorisation of its own. The fix is always the same shape and the owner does it once, on GitHub's own screen: install the Docsbook GitHub App on the repository with "Contents: Read and write". That authorisation belongs to the repository rather than to a session, so it keeps working at 03:00. Nothing this tool or any other can do grants it — hand the URL to the person and stop. repo is optional: omitted, it answers for the repository this project already publishes to.

Input2
Authorizationheaderrequired
Your API key, for the REST call. Sent from your browser straight to the API — never to Docsbook, never stored.
workspace_idstring
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.
repostring
Repository as 'owner/name'. Defaults to the one this project publishes to.
Output8
repostring
owner/name, as asked about.
can_writeboolean
routestring
github_app, docsbook_account, your_session or none — which credential answered.
works_unattendedboolean
Whether a run with nobody signed in can publish here. your_session is false.
detailstring
fixobject
null
is_this_projects_repoboolean
hintstring
Use cases
  • Call this BEFORE write_docs on any project whose site is served from a repository Docsbook does not host, and call it whenever a write comes back NO_GITHUB_ACCESS.
Limitations
  • 🔴 can_write: true is not the whole answer — read works_unattended.
  • A repository reachable only through a signed-in browser session cannot be published to by an agent, a schedule or an MCP client, which is every caller on this side of the wire: that case reports route: "your_session" and still carries a fix.
Example input
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "grant_repo_access",
    "arguments": {}
  }
}
Example output
{
  "repo": "<repo>",
  "can_write": true,
  "route": "<route>",
  "works_unattended": true,
  "detail": "<detail>",
  "fix": "<fix>",
  "is_this_projects_repo": true,
  "hint": "<hint>"
}

更新于

此页面对您有帮助吗?