Wiki source code of Cross-Wiki Reach
Last modified by Vincent Massol on 2026/09/04 20:36
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | Cross-wiki reach decides how much of a farm one MCP endpoint can see. It is a grant made on the source endpoint, which is what makes its consequences surprising: it is not a setting of the wikis being reached, and those wikis cannot refuse it through their own MCP configuration. | ||
| 2 | |||
| 3 | == Defaults == | ||
| 4 | |||
| 5 | * The main wiki's endpoint reaches the whole farm. | ||
| 6 | * A subwiki's endpoint sees only its own wiki. | ||
| 7 | * A main-wiki administrator can grant reach to a subwiki, or revoke it from the main wiki, from the farm dashboard. | ||
| 8 | |||
| 9 | == A source-side grant == | ||
| 10 | |||
| 11 | A reach-enabled endpoint can search and read a target wiki even where that target wiki's own MCP endpoint is disabled, because the request is served by the source endpoint: | ||
| 12 | |||
| 13 | {{plantuml}} | ||
| 14 | @startuml | ||
| 15 | !theme bluegray | ||
| 16 | skinparam componentStyle rectangle | ||
| 17 | |||
| 18 | actor "AI agent" as AGENT | ||
| 19 | |||
| 20 | package "Main wiki (the source)" { | ||
| 21 | component "MCP endpoint\n**cross-wiki reach granted**\nits space filter applies" as SRC | ||
| 22 | } | ||
| 23 | |||
| 24 | package "Subwiki B (the target)" { | ||
| 25 | component "MCP endpoint\nenabled or not, tool selection, space filter\n**none of it is consulted**" as TGT | ||
| 26 | database "Pages of subwiki B" as PAGES | ||
| 27 | } | ||
| 28 | |||
| 29 | AGENT --> SRC : the whole request\nis served here | ||
| 30 | SRC --> PAGES : reads and searches, as the signed-in user,\nbounded by that user's rights on subwiki B | ||
| 31 | TGT -[hidden]down- PAGES | ||
| 32 | @enduml | ||
| 33 | {{/plantuml}} | ||
| 34 | |||
| 35 | The target's tool selection and space filter do not apply to it either. Two things still constrain reach: | ||
| 36 | |||
| 37 | * The acting [[user's rights>>doc:documentation.xs.admin.rights.WebHome]] on the target wiki. | ||
| 38 | * The source endpoint's own space filter. | ||
| 39 | |||
| 40 | So disabling a wiki's endpoint does not hide that wiki from other endpoints. Where a wiki must never be reachable, control it with [[user rights>>doc:documentation.xs.admin.rights.WebHome]] on that wiki and grant no endpoint reach over it. | ||
| 41 | |||
| 42 | == The farm dashboard == | ||
| 43 | |||
| 44 | The main wiki's MCP administration section lists every wiki of the farm with: | ||
| 45 | |||
| 46 | * //Wiki//: the wiki's name. | ||
| 47 | * //MCP enabled//: editable by an administrator of that wiki, shown read-only otherwise. | ||
| 48 | * //Cross-wiki reach//: editable only by main-wiki administrators. | ||
| 49 | * //Configure//: a link to that wiki's own MCP administration section. |