Wiki source code of Configuration Properties

Last modified by gabrielc on 2026/10/21 10:53

Show last authors
1 All MCP server configuration properties from the ##AI.MCP.Code.MCPServerConfig## document (backed by ##AI.MCP.Code.MCPServerConfigClass##).
2
3 |=Property |=Default |=Description
4 |##enabled##|##1## (enabled)|Master switch for the wiki's MCP endpoint. An empty value and a missing page both read as enabled; only ##0## disables. A configuration page that is not trusted disables it too. Fails //closed// on read errors.
5 |##allowGuest##|##0## (refused)|Lets unauthenticated callers use the endpoint as the guest user. Off by default and fails //closed//. Guests get read tools only, and a request carrying credentials that fail is always refused.
6 |##serverName##|##"XWiki"## (shipped; blank falls back to the wiki's pretty name)|Server name advertised in the MCP handshake. The shipped page sets ##"XWiki"##; the pretty name applies only when the field is blank.
7 |##serverDescription##|##"XWiki MCP Server"##|MCP initialization instructions sent to connecting agents. A "call man first" hint is appended when ##man## is registered.
8 |##enabledTools##|Empty (default policy: every non-write tool)|Explicit tool id list. ##man## is always added and ##list_wikis## is outside the list. An empty list falls back to the defaults; to disable everything, turn ##enabled## off.
9 |##allowRenderedContent##|##1## (allowed)|Gates ##get_document##'s rendered mode. An empty value reads as unset (allowed); fails //open// on read errors, since rendering is a capability, not a confidentiality boundary.
10 |##spaceFilterMode##|##none##|Space filter mode: ##none##, ##whitelist## or ##blacklist##. A read error is propagated so the filter fails //closed//.
11 |##spaceFilterSpaces##|Empty|Space entries for the filter. Each entry covers the space and its whole subtree; with reach on, an entry may be wiki-prefixed.
12 |##spaceFilterDocuments##|Empty|Document entries for the filter. Each entry matches exactly one document.
13 |##reachEnabledWikis##|Main wiki only (until the first dashboard Save)|Farm-level list of wikis whose endpoints can reach across wikis. Read only from the main wiki's configuration document.
14 |##reachInitialized##|Unset|Hidden farm-level marker. While unset the default applies (only the main wiki reaches); the first farm dashboard Save materializes the list and sets this flag.
15
16 An empty value is read as unset rather than as an explicit choice, so clearing a field restores the default above.
17
18 == Trusted configuration pages ==
19
20 The values in the table are applied only when the configuration page was last saved by a user with admin right on that wiki (its effective metadata author). A page that does not exist is trusted, so the defaults apply; a page that records no author is not.
21
22 An untrusted page is not read at all: the wiki's endpoint is off, its stored values are ignored and the administration section does not show them. "Reset the configuration and take ownership" replaces the page with the one the extension ships, removes every stored setting, and records the acting administrator as author, creator and content author; the defaults then apply and the page can be configured again. A save that leaves the page untrusted, and a deletion by a user without admin right, are logged at WARN.
23
24 The rule is per wiki. Cross-wiki reach is read from the main wiki's page only, so while that page is untrusted no wiki gets reach.
25
26 == Configuration document location ==
27
28 |=Item |=Value
29 |Space |##AI.MCP.Code##
30 |Document |##MCPServerConfig##
31 |Class |##MCPServerConfigClass##
32 |Space rights |##view,comment,edit,script,delete,admin## for ##XWikiAdminGroup## (##AI.MCP.WebPreferences##)
33 |Visibility |The page and the class are hidden documents

Get Connected