wikijs-mcp-http
Provides tools for interacting with Wiki.js, enabling management of pages, comments, tags, assets, users, navigation, and system info.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wikijs-mcp-httpsearch wiki for MCP integration guide"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
wikijs-mcp-http
Native HTTP/SSE MCP server for Wiki.js. A clean, production-oriented replacement for supergateway-based setups.
This fork exists because the original transport layer was janky. We replaced it with Wiki.js's built-in --http / SSE support so you get a proper, stable, long-lived MCP server you can actually run behind a reverse proxy.
Features
29 tools (19 read + 10 write) covering pages, comments, tags, assets, users, navigation, and system info
Full-text search, page tree browsing, link graphs, and version history
Complete comment system (list, read, create, update, delete)
Asset and folder management
Tag management
System diagnostics and site config
Optional mutations with multiple safety layers (
WIKI_MUTATIONS_ENABLED, dry-run mode, confirm tokens, path prefix restrictions)Built-in resources:
wikijs://markdown-guide,wikijs://mermaid-guide,wikijs://api-permissions-guideTyped errors with LLM-friendly messages
GraphQL client with timeout + exponential backoff
Sensitive field filtering and input hardening
Related MCP server: mcp-wikijs-mv
Quick Start (HTTP/SSE Mode)
cp .env.example .env
npm install
npm run buildEdit .env:
WIKI_BASE_URL=https://your-server
WIKI_API_TOKEN=your_wikijs_jwt_token
MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=3200
WIKI_MUTATIONS_ENABLED=false # set true only when you need writes
WIKI_MUTATION_DRY_RUN=trueRun it:
npm startConnect your MCP client to:
https://your-server:3200/sseRecommended Production Setup (systemd + Caddy)
See the full systemd service and Caddyfile examples in the repo (or the one running at 666temple.love right now).
Basic pattern:
Run as a dedicated user
Bind to localhost only
Put Caddy (or nginx) in front with HTTPS + subdomain (e.g.
mcp.website.com)Use a strong
WIKI_MUTATION_CONFIRM_TOKENif you enable writes
Environment Variables
Variable | Required | Default | Description |
| Yes | - | Your Wiki.js URL (e.g. |
| Yes | - | Wiki.js JWT API token |
| No |
| Use |
| No |
| Bind address for HTTP mode |
| No |
| Enable write tools |
| No |
| Preview mutations without writing |
| No | (empty) | Extra safety gate — write tools must supply matching |
| No | (empty) | Comma-separated path prefixes allowed for mutations |
Full reference is in .env.example.
Wiki.js Setup
Go to Administration → API in Wiki.js and enable API access
Create an API key (JWT) with appropriate permissions
Paste it into
WIKI_API_TOKEN
For heavy read usage you usually only need read:pages + read:source + read:comments.
Mutation Safety
Write tools are disabled by default. When enabled they still have multiple guardrails:
WIKI_MUTATION_DRY_RUN=true(default) → tools only previewWIKI_MUTATION_CONFIRM_TOKEN→ forces you to pass a matchingconfirmargument on every writeWIKI_ALLOWED_MUTATION_PATH_PREFIXES→ scope writes to specific path prefixesAll mutation attempts are logged to stderr with structured audit info
MCP Client Config
HTTP/SSE (recommended)
{
"mcpServers": {
"wikijs": {
"command": "node",
"args": ["/path/to/wikijs-mcp-http/dist/index.js"],
"env": {
"WIKI_BASE_URL": "https://website.com",
"WIKI_API_TOKEN": "your_token",
"MCP_TRANSPORT": "http",
"MCP_PORT": "3200"
}
}
}
}Stdio (local only)
Still supported if you prefer the classic style.
Development
npm run dev # HTTP dev server with hot reload
npm run dev:stdio # stdio dev mode
npm run buildLicense
CC0. Do whatever the fuck you want with it.
Maintained as part of the 666 Grimoire stack.
Available Tools
29 toolswikijs_create_commentA
Create a new comment on a page. Requires WIKI_MUTATIONS_ENABLED=true and may need comment posting permissions. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| pageId | Yes | Page ID to comment on. | |
| content | Yes | Comment content. | |
| replyTo | No | Optional comment ID to reply to. | |
| guestName | No | Guest name (if posting as guest). | |
| guestEmail | No | Guest email (if posting as guest). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: it is a mutation (create), requires WIKI_MUTATIONS_ENABLED=true and permissions, and explains the 'confirm' parameter behavior. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, then dependencies and special behavior. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although no output schema exists, the description covers the key aspects: action, prerequisites, and parameter nuance. It does not describe return values, but for a create tool this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by explaining the 'confirm' parameter's dependency on a token. Other parameters are well-described in the schema, so this is a solid addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new comment on a page,' with a specific verb and resource. It distinguishes this tool from siblings like wikijs_get_comment, wikijs_update_comment, and wikijs_delete_comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions required environment variable and permissions, providing helpful context for when to use. It lacks explicit when-not-to-use or alternative tool names, but the prerequisites are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_create_pageA
Create a new page. Requires WIKI_MUTATIONS_ENABLED=true. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| path | Yes | Target page path. | |
| title | Yes | Page title. | |
| content | Yes | Page content in Wiki.js-flavored Markdown (when editor is "markdown"). Supports CommonMark + GFM plus Wiki.js extensions: BLOCKQUOTE STYLES — colored callout boxes: > Note text {.is-info} (blue) {.is-success} (green) {.is-warning} (yellow) {.is-danger} (red) CONTENT TABS — {.tabset} on parent heading, child headings become tabs: ## Tabs {.tabset} ### First Tab Content... ### Second Tab Content... IMAGE DIMENSIONS — append =WIDTHxHEIGHT after URL:   DIAGRAMS — mermaid or plantuml fenced code blocks. For Mermaid 8.8.2 syntax details, read the wikijs://mermaid-guide resource. TABLE STYLE — {.dense} after table for compact rendering. LIST STYLES — {.grid-list} or {.links-list} after list. TEXT — ~sub~ ^super^ <kbd>Key</kbd> ~~strike~~ FOOTNOTES — [^1] inline, [^1]: definition at bottom. DECORATE — <!-- {element:.class} --> for ambiguous targets. For the full syntax reference, read the wikijs://markdown-guide resource. | |
| description | No | Short page description. | |
| locale | No | Locale code. | |
| editor | No | Editor key (markdown, asciidoc, html, etc). | |
| tags | No | Optional string tags. | |
| isPublished | No | Defaults true. | |
| isPrivate | No | Defaults false. | |
| publishStartDate | No | Publication start date (ISO 8601 format). | |
| publishEndDate | No | Publication end date (ISO 8601 format). | |
| scriptCss | No | Custom CSS for the page. Max 10,000 chars. | |
| scriptJs | No | Custom JavaScript for the page. WARNING: executes in every visitor's browser. Only use trusted code. Max 10,000 chars. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully bears the burden of behavioral disclosure. It mentions the required environment variable and confirm token behavior but lacks details on success/error responses, side effects, or permissions. This is insufficient for a mutation tool with 14 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no redundant wording, and no unnecessary details. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters and no output schema, the description is too sparse. It lacks information about return values, error handling, prerequisites beyond the environment variable, or workflow integration. A more comprehensive description would aid the agent significantly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context for the confirm parameter's conditional validation but does not elaborate on other parameters, which are already well-documented in the schema. Minimal added value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new page,' which is a specific verb and resource. It distinguishes itself from sibling tools like wikijs_delete_page and wikijs_update_page by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a key prerequisite: 'Requires WIKI_MUTATIONS_ENABLED=true.' and explains the confirm parameter's dependency on WIKI_MUTATION_CONFIRM_TOKEN. However, it does not explicitly guide when to use this over alternative tools like wikijs_update_page for modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_delete_commentA
Delete a comment by ID. Requires WIKI_MUTATIONS_ENABLED=true and comment management permissions. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| id | Yes | Comment ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It lists prerequisites but does not disclose side effects (e.g., irreversibility) or return values. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences, no wasted words. Front-loaded with core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple delete operation with no output schema, the description covers requirements and parameter nuance. Could mention deletion effect but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers parameters fully. Description adds nuance: confirm is only checked when token is set, providing conditional logic beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it deletes a comment by ID, distinguishing it from sibling tools like wikijs_delete_page. It specifies the unique resource and action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions prerequisites (WIKI_MUTATIONS_ENABLED=true, permissions) and confirm token behavior. Could explicitly contrast with update or get siblings, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_delete_pageA
Delete a page by ID. Requires WIKI_MUTATIONS_ENABLED=true and may need manage:pages or delete:pages permission. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| id | Yes | Page ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description partially discloses behavior: it explains the conditional nature of the confirm parameter and required permissions. However, it does not describe what happens upon deletion (e.g., irreversibility, cascading effects, or return value).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each serving a distinct purpose: purpose, prerequisites, and parameter nuance. No wasted words, front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple two-parameter deletion tool with no output schema, the description covers prerequisites and a parameter behavior, but lacks information about the result or side effects (e.g., success indicator, idempotency). Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by naming the env var WIKI_MUTATION_CONFIRM_TOKEN and clarifying the confirm parameter's requirement condition, which goes beyond the schema's description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Delete a page by ID', identifying the resource and method. Among sibling tools, it distinguishes itself from delete_comment and delete_tag by specifying 'page'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides prerequisites (WIKI_MUTATIONS_ENABLED and permissions) but does not offer guidance on when to use this tool versus alternatives like move_page or restore_page. No when-not-to-use or contextual comparison is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_delete_tagA
Delete a tag by ID. Removes the tag from all pages and the tag registry. Requires WIKI_MUTATIONS_ENABLED=true and may need manage:system permission. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| id | Yes | Tag ID to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses destructive behavior (removes tag from all pages and registry), required permissions, and conditional confirmation token behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a distinct purpose: action, requirements, parameter detail. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and moderate complexity, the description covers purpose, preconditions, effects, and parameter behavior adequately. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by explaining the conditional nature of confirm and that id is the tag ID. This goes beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete a tag by ID) and the resource (tag), and specifies the scope (removes from all pages and tag registry). It distinguishes itself from sibling tools like wikijs_create_tag and wikijs_update_tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists prerequisites (WIKI_MUTATIONS_ENABLED, manage:system permission) and explains the conditional confirm parameter. However, it does not explicitly state when to use this tool versus alternatives, though the delete purpose is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_commentA
Get a single comment by ID. Returns full comment details including content and author information.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Comment ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description adds that it returns full comment details including content and author, which is useful context beyond schema, but lacks any behavioral traits like idempotency, auth requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words, front-loaded with the action and then return details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get tool with one parameter and no output schema, the description is complete: it states the action, identifier, and return contents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (parameter 'id' described as 'Comment ID.'). Description adds no additional parameter info, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get a single comment by ID' which is a specific verb+resource, and distinguishes from sibling 'wikijs_list_comments' which would return multiple comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage when you have a specific comment ID but does not explicitly mention when to use this vs alternatives like wikijs_list_comments. No exclusions or when-not guidance provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_current_userA
Get the profile of the currently authenticated API user. Returns identity, permissions context, and activity info.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It indicates a read operation returning user data, but it does not explicitly declare that it is non-destructive, cacheable, or safe to call repeatedly. Adding a statement like 'This is a read-only operation with no side effects' would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that front-loads the purpose. Every word contributes meaning, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description sufficiently explains what is returned (identity, permissions, activity info). The context is complete for an agent to understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, and schema description coverage is 100%. The description adds no parameter information, which is acceptable given no parameters exist. The baseline for zero parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and clearly identifies the resource as 'profile of the currently authenticated API user.' It distinguishes itself from sibling tools like wikijs_search_users (which searches users) and wikijs_get_page_by_id (which retrieves pages) by focusing on the current user's profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the current user's profile is needed, but it does not explicitly state when to use it versus alternatives, such as searching for users, or provide any exclusion criteria. The sibling list is present but no comparative guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_page_by_idA
Get a single page body/content by numeric page ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Wiki page ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden. It discloses it returns 'body/content', but lacks details on authentication, error conditions, or whether metadata is included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, efficient sentence with no wasted words. Front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple 1-parameter tool without output schema. Could optionally note output format or return value beyond 'body/content'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description covers 100% of parameters with 'Wiki page ID.' Description adds 'by numeric page ID' but does not significantly enhance meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'get', the resource 'page body/content', and the method 'by numeric page ID'. This distinguishes it from sibling tools like wikijs_get_page_by_path which uses a path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly suggests using when the numeric ID is available, but does not explicitly mention when to use alternatives like wikijs_get_page_by_path or exclude other retrieval methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_page_by_pathB
Get a single page body/content using path + locale.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Wiki page path, without leading slash. | |
| locale | No | Locale code. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. Only states it retrieves content, but lacks details on permissions, error handling, or whether it returns raw content or rendered HTML.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single succinct sentence that front-loads action and resource. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple retrieval tool with clear parameters, but could benefit from mentioning that locale is optional or describing the return format (e.g., page object with body/content).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds no value. 'Using path + locale' is already in schema. The phrasing may misleadingly imply locale is always required, whereas schema marks it optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Get', resource 'single page body/content', and identification method 'path + locale'. Distinguishes from siblings like wikijs_get_page_by_id and wikijs_get_page_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_page_by_id, search_pages). Does not specify if path is case-sensitive, required format, or behavior for nonexistent pages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_page_historyA
Get edit history trail for a page by ID. Returns version dates, authors, and change types.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Wiki page ID. | |
| offset | No | Page offset for pagination. Default 0. | |
| limit | No | Number of history entries. Default 25, max 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states that the tool returns version dates, authors, and change types, but does not mention that the operation is read-only, describe pagination behavior, or detail any side effects. The schema covers pagination defaults, but the description adds minimal behavioral context beyond the return fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. It efficiently conveys the action, resource, and return content. Every part is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description partially compensates by mentioning return fields (version dates, authors, change types), but it is vague about structure, ordering, or error conditions. For a history retrieval tool, more detail about the response format would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are well-documented. The description mentions 'by ID' which aligns with the required 'id' parameter, but does not add additional semantic meaning beyond the schema's descriptions for 'offset' and 'limit'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action 'get', the resource 'edit history trail', and the key 'by ID'. The description also mentions the returned data fields (version dates, authors, change types). This distinguishes it clearly from sibling tools like wikijs_get_page_by_id or wikijs_get_page_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving edit history, but does not explicitly state when to use this tool over alternatives like wikijs_get_page_version or wikijs_get_page_links. No when-not-to-use or alternative guidance is provided, leaving the agent to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_page_linksB
Get all pages and their outbound links for a locale. Returns an array of pages with their link relationships.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Locale code. Defaults to configured default locale. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as side effects, permissions required, or rate limits. The description merely states the return type without deeper context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with two short sentences, no redundancy. It efficiently communicates the tool's purpose and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one optional parameter, no output schema), the description is largely complete. It explains the output structure ('array of pages with their link relationships') which adds value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the one parameter. The description mentions 'locale' but adds no extra meaning beyond the schema's description of 'Locale code'. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'pages and their outbound links for a locale', and distinguishes from sibling tools like wikijs_get_page_by_id or wikijs_list_pages which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives or when not to use it. It only states the function without context of selection among many similar sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_page_treeA
Get the page tree hierarchy for site navigation and structure discovery. Returns folders and/or pages with depth info.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional path prefix to scope the tree. | |
| parentId | No | Optional parent page ID to get children of. | |
| mode | No | Tree mode. Default ALL. | |
| locale | No | Locale code. Defaults to WIKI_DEFAULT_LOCALE. | |
| includeAncestors | No | Include ancestor pages. Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It states return type (folders and/or pages with depth info) but does not disclose auth requirements, performance implications, or side effects. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, zero wasted words, directly states purpose and result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 optional parameters and no output schema, the description lacks details on the return structure (e.g., depth info format) and how parameters interact. Adequate but leaves room for agent confusion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions, so baseline 3. The description adds no extra meaning beyond the schema; it does not explain how parameters like path, parentId, or mode affect the tree.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get), the resource (page tree hierarchy), and the purpose (site navigation and structure discovery). It distinguishes from sibling tools like get_page_by_id that fetch a single page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for navigation and structure discovery but does not explicitly state when to use this tool versus alternatives like get_page_by_path or list_pages. No when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_page_versionA
Get a specific version of a page by page ID and version ID. Returns full page content and metadata for that version.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Page ID. | |
| versionId | Yes | Version ID from page history. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states it returns 'full page content and metadata,' but does not disclose error behavior, permission requirements, or side effects. For a simple read operation, this is adequate but not exemplary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no redundant information, and front-loaded with the core purpose. Every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 required params, no output schema, no nested objects), the description adequately conveys what the tool does and what it returns. Missing error handling details but sufficient for basic selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters have descriptions in the input schema). The description does not add additional semantics beyond 'Page ID' and 'Version ID from page history,' so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a specific version of a page' and specifies the required inputs (page ID and version ID). It distinguishes itself from siblings like wikijs_get_page_by_id or wikijs_get_page_history by targeting a specific version, not the current page or all versions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like wikijs_get_page_history for listing versions or wikijs_restore_page for restoration. The description implies basic usage but lacks when-not or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_site_configA
Retrieve safe (non-sensitive) site configuration including title, description, feature flags, and upload limits. Does not expose secrets or authentication keys.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and effectively discloses the non-sensitive nature and what is excluded. It does not discuss side effects, but as a read-only operation, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states action and resource, second adds important exclusions. No filler words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description fully covers what the tool does, what it returns, and what it does not return. It is complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline is 4. The description adds value by specifying the content of the configuration (title, description, etc.) beyond what the schema (empty) provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'safe site configuration', listing specific fields (title, description, feature flags, upload limits). It distinguishes from sibling tools which focus on CRUD operations on pages, comments, tags, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (retrieving non-sensitive config) and explicitly states what it does not do (expose secrets). However, it lacks explicit guidance on alternatives or exclusions, though the simplicity of the tool reduces the need.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_get_system_infoA
Retrieve Wiki.js system information including version, database type, and usage statistics. Useful for diagnostics. Sensitive fields (dbHost, configFile, workingDirectory, hostname) are filtered out.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that sensitive fields (dbHost, configFile, workingDirectory, hostname) are filtered out. This adds value beyond the schema. No side effects or authentication needs are mentioned, but for a read-only tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, efficient and front-loaded. Every sentence provides clear value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers what the tool retrieves and what is filtered. Could mention if authentication is required, but without output schema, it is mostly complete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so description does not need to add param detail. Baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves system information including specific fields like version, database type, and usage statistics. Distinguishes itself from sibling tools, which are focused on pages, comments, tags, and other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions 'useful for diagnostics' but lacks explicit guidance on when to use or when not to use this tool. However, among siblings, it is the only one for system info, so the context is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_list_asset_foldersB
List asset folders within a parent folder. Returns folder structure for navigating the asset hierarchy.
| Name | Required | Description | Default |
|---|---|---|---|
| parentFolderId | No | Parent folder ID. Default 0 (root level). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the purpose but does not disclose behavioral traits such as authentication requirements, rate limits, or whether it is read-only. The description adds minimal behavioral context beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence, front-loaded with key information, and contains no unnecessary words. Every part is valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description is complete enough. It states the action and the return (folder structure). Minor improvement could mention that it returns nested hierarchy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (parentFolderId is described). The description adds no additional meaning beyond 'within a parent folder', which aligns with the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list', the resource 'asset folders', and the context 'within a parent folder'. This distinguishes it from sibling tools like wikijs_list_assets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives like wikijs_list_assets, nor does it mention when not to use it. No explicit when/when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_list_assetsA
List assets (files, images) in a specific folder. Returns asset metadata including filename, type, size, and upload date.
| Name | Required | Description | Default |
|---|---|---|---|
| folderId | No | Folder ID to list assets from. Default 0 (root folder). | |
| kind | No | Asset type filter. Default ALL. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates a read operation but does not disclose any potential limitations, auth requirements, or performance characteristics. Basic and minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no extraneous information. Front-loaded with the core action and key return fields. Efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description lists return fields but omits details like pagination, ordering, or whether results are always a list. Adequate for a simple list tool but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both folderId and kind are described). The description adds context about return fields, which is beyond the schema but not essential for parameter usage. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists assets in a specific folder and mentions what metadata is returned (filename, type, size, upload date). It is distinct from sibling tools like wikijs_list_asset_folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when or when not to use this tool. It does not mention alternatives for listing all assets across folders or scenarios where other tools might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_list_commentsA
List all comments for a specific page by path and locale. Returns comment details including author info and timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Page path to get comments for. | |
| locale | No | Locale code (e.g., "en", "fr"). Defaults to WIKI_DEFAULT_LOCALE. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that the tool lists all comments for a page, is non-destructive (implied by 'list'), and returns specific data fields. Missing details like pagination or rate limits, but acceptable for a simple list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose and key parameters, second states return content. No unnecessary words, well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers return values (comment details, author, timestamps). It specifies required and optional parameters. Could mention ordering or pagination, but not essential for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes both parameters. The description mentions 'path' and 'locale' but does not add new meaning beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list all comments), the target resource (for a specific page by path and locale), and what is returned (comment details with author info and timestamps). It distinguishes from siblings like wikijs_get_comment, which retrieves a single comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for listing comments, not creating or deleting. However, it does not explicitly state when to use this versus alternatives like wikijs_get_comment or wikijs_create_comment, though the purpose is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_list_pagesC
List pages for crawling/indexing with optional locale and limit.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Optional locale code. | |
| limit | No | Optional item limit. Default 50, max 200. | |
| orderBy | No | Field to order by. Default UPDATED. | |
| orderByDirection | No | Sort direction. Default DESC. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description fails to disclose behavioral traits like read-only nature, pagination behavior, or response format. For a list operation, this leaves significant ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words. However, it could be restructured to front-load core information; currently it is short but misses key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the presence of four parameters, the description should cover return value structure and pagination. It does not, resulting in incomplete context for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description mentions locale and limit but omits orderBy and orderByDirection. It adds minimal value beyond the schema, meeting the baseline without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and resource 'pages', with a specific use-case hint ('for crawling/indexing'). This provides immediate context, though it does not explicitly distinguish from sibling tools like wikijs_search_pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as wikijs_search_pages or wikijs_get_page_tree. The agent receives no criteria for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_list_tagsA
List all tags used across wiki pages. Useful for discovering content categories and taxonomy.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. The operation is a straightforward list with no parameters, and the description accurately reflects that. No hidden behaviors or contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, no fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description provides enough information for a simple list operation. It is complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. Baseline is 4 as description does not need to add parameter info. The description is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all tags' with the resource (tags) and scope (across wiki pages), and provides a use case ('discovering content categories and taxonomy'). This distinguishes it from sibling tools like wikijs_search_tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides context for use ('discovering content categories and taxonomy') but does not explicitly contrast with alternatives or state when not to use it. However, the context is clear enough for an agent to infer its utility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_move_pageA
Move a page to a new path or locale. Requires WIKI_MUTATIONS_ENABLED=true and may need manage:pages permission. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| id | Yes | Page ID to move. | |
| destinationPath | Yes | New path for the page. | |
| destinationLocale | No | New locale. Defaults to current locale. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full weight. It discloses mutation behavior and environment requirements, but does not mention whether the original page is removed, return values, or error scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both essential: first states purpose, second covers conditions. No redundant information, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers prerequisites and confirm logic, but lacks details on side effects (e.g., broken links), success/failure output, and is missing an output schema reference. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description adds extra context for 'confirm' (token condition), but for other parameters it adds no value beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('move a page') and the scope ('to a new path or locale'), which is specific and distinguishes it from sibling tools like create_page or delete_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists prerequisites (WIKI_MUTATIONS_ENABLED, manage:pages permission) and explains the confirm token behavior. While it does not mention specific alternatives, it provides clear conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_restore_pageA
Restore a page to a previous version. Requires WIKI_MUTATIONS_ENABLED=true and may need manage:pages permission. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| id | Yes | Page ID to restore. | |
| versionId | Yes | Version ID to restore to (from page history). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses important preconditions (mutations enabled, permission) and the conditional behavior of the confirm parameter. However, it does not describe potential side effects (e.g., overwriting current content) or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, concise and front-loaded with the core purpose. Every sentence adds value: the first defines the action, the second covers prerequisites and parameter behavior. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no output schema), the description covers prerequisites and conditional behavior. It lacks explicit mention of success/failure outcomes or return values, but overall is quite complete for an agent to understand the tool's functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description mentions the conditional behavior of confirm, but this is largely redundant with the schema's description. No additional semantic information is provided for id or versionId beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'restore a page to a previous version', specifying the resource and the operation. It distinguishes itself from sibling tools like wikijs_get_page_version or wikijs_update_page by focusing on restoration. The mention of required permissions and configuration adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it requires WIKI_MUTATIONS_ENABLED=true and may need manage:pages permission. It also explains when the confirm parameter is enforced. However, it does not explicitly state when not to use this tool or mention alternatives (e.g., using get_page_version for viewing).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_search_pagesA
Search pages by keyword and return path/title summary for knowledge lookup.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword. | |
| locale | No | Optional locale code. Defaults to WIKI_DEFAULT_LOCALE. | |
| path | No | Optional path prefix to scope search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It discloses read nature and return format (path/title summary) but lacks detail on auth, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no filler, front-loaded with verb and resource. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, input, and return format adequately given the tool's simplicity and full schema coverage. Could mention pagination or result limits for completeness, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes all three parameters with 100% coverage. Description adds value by stating the tool returns a 'path/title summary', which is not in the schema, helping the agent understand output format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'search', resource 'pages', by keyword, and return 'path/title summary'. Distinct from sibling search_tags/search_users and list_pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. While the name and context imply this is for keyword-based page search over listing, alternatives are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_search_tagsA
Search for tags matching a query string. Returns an array of matching tag name strings.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for tag names. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks details on behavioral traits such as case sensitivity, partial matching, pagination, or handling of empty queries. The bare return type is stated but not further elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses two short, clear sentences; every word is purposeful. It is front-loaded and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool without an output schema, the description covers the core functionality and result format. Minor missing details (e.g., behavior on no results) are acceptable at this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds minimal meaning beyond the schema. It reiterates the query parameter's purpose without deeper details like allowed wildcards or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for tags by a query string and returns matching tag names. This distinguishes it from sibling tools like wikijs_list_tags (list all tags) and wikijs_delete_tag, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you have a query to find specific tags, but does not explicitly state when to use versus alternatives like wikijs_list_tags, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_search_usersA
Search for users by name or email. Returns matching user profiles for collaboration context.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for user name or email. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. Mentions return of 'matching user profiles for collaboration context' but omits details on match behavior, pagination, or safety. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no unnecessary words. Front-loaded with core action and result. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter and no output schema. Description covers purpose and return value adequately. Lacks details on matching behavior or limits, but complete for a straightforward search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the 'query' parameter. Description adds no extra semantic value beyond what the schema provides, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states action 'Search for users' and resource 'users'. Distinguishes from sibling search tools (pages, tags) by specifying the target entity. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for finding users by name or email. Does not explicitly state when not to use or alternatives, but sibling names make the context clear. Slight lack of explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_update_commentA
Update an existing comment by ID. Requires WIKI_MUTATIONS_ENABLED=true and comment management permissions. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| id | Yes | Comment ID to update. | |
| content | Yes | New comment content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses permission and config requirements, but no annotation present; does not cover success/failure responses or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with front-loaded main action; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return value description and error conditions; adequate for simple update but not comprehensive without output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, description does not add new info beyond schema descriptions; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Update an existing comment by ID', clearly defining verb and resource, and distinguishes from create and delete siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides prerequisites (WIKI_MUTATIONS_ENABLED and permissions) and explains conditional confirm token behavior, but no explicit contrast with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_update_pageC
Update an existing page by ID. Requires WIKI_MUTATIONS_ENABLED=true. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| id | Yes | Page ID to update. | |
| title | No | ||
| content | No | Page content in Wiki.js-flavored Markdown (when editor is "markdown"). Supports CommonMark + GFM plus Wiki.js extensions: BLOCKQUOTE STYLES — colored callout boxes: > Note text {.is-info} (blue) {.is-success} (green) {.is-warning} (yellow) {.is-danger} (red) CONTENT TABS — {.tabset} on parent heading, child headings become tabs: ## Tabs {.tabset} ### First Tab Content... ### Second Tab Content... IMAGE DIMENSIONS — append =WIDTHxHEIGHT after URL:   DIAGRAMS — mermaid or plantuml fenced code blocks. For Mermaid 8.8.2 syntax details, read the wikijs://mermaid-guide resource. TABLE STYLE — {.dense} after table for compact rendering. LIST STYLES — {.grid-list} or {.links-list} after list. TEXT — ~sub~ ^super^ <kbd>Key</kbd> ~~strike~~ FOOTNOTES — [^1] inline, [^1]: definition at bottom. DECORATE — <!-- {element:.class} --> for ambiguous targets. For the full syntax reference, read the wikijs://markdown-guide resource. | |
| description | No | ||
| path | No | ||
| locale | No | ||
| editor | No | ||
| tags | No | ||
| isPublished | No | ||
| isPrivate | No | ||
| publishStartDate | No | Publication start date (ISO 8601 format). | |
| publishEndDate | No | Publication end date (ISO 8601 format). | |
| scriptCss | No | Custom CSS for the page. Max 10,000 chars. | |
| scriptJs | No | Custom JavaScript for the page. WARNING: executes in every visitor's browser. Only use trusted code. Max 10,000 chars. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only mentions environment variable requirements and the confirm token check. It fails to disclose whether the update is atomic, what happens to previous versions, whether it triggers notifications, authentication requirements, or idempotency. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of two short sentences. It front-loads the primary purpose and then adds a key constraint. Every sentence earns its place, but could be slightly improved by separating the prerequisite from the confirm note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 15 parameters and no output schema, the description is too sparse. It does not explain the return value, error handling, validation rules, or the effect of updating the page (e.g., caching, history). The prerequisite and confirm behavior are noted, but much context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 47%, moderately high. The description adds value by explaining the confirm parameter's behavior but does not elaborate on other parameters beyond what the schema provides. The baseline for this coverage is 3, and the description provides marginal additional semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update an existing page by ID', specifying the verb (update) and the resource (page by ID). It distinguishes from sibling tools like create_page or delete_page through the resource identifier. However, it does not explicitly differentiate from update_comment, but the resource type is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a prerequisite ('Requires WIKI_MUTATIONS_ENABLED=true') and a conditional behavior for the confirm parameter. It provides no guidance on when to use this tool versus alternatives (e.g., create_page, move_page) or when not to use it. This is minimal usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wikijs_update_tagA
Update an existing tag by ID. Changes the tag slug and/or title. Requires WIKI_MUTATIONS_ENABLED=true and may need manage:system permission. confirm is only checked when WIKI_MUTATION_CONFIRM_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Must match WIKI_MUTATION_CONFIRM_TOKEN if set. Optional when token is not configured. | |
| id | Yes | Tag ID to update. | |
| tag | Yes | New tag slug (e.g., "backend"). | |
| title | Yes | New tag title (e.g., "Backend Development"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. Discloses mutation nature, prerequisites, and confirm behavior. Lacks details on side effects or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences with no fluff. First sentence states purpose, second lists prerequisites, third explains confirm. Efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no output schema and 100% schema coverage, description covers prerequisites, parameter conditions, and action. Could mention what happens if tag not found, but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage. Description adds value by explaining confirm token logic (only checked when set). Reiterates but does not contradict schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states action (update), resource (tag by ID), and what can be changed (slug and/or title). Distinguishes from siblings like delete_tag, search_tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies required environment variable and permission. Explains confirm token condition. No explicit alternatives or when-not-to-use, but adequate for context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
29 tool updates
v0.3.1- First observed
wikijs_create_comment - First observed
wikijs_create_page - First observed
wikijs_delete_comment - First observed
wikijs_delete_page - First observed
wikijs_delete_tag - First observed
wikijs_get_comment - First observed
wikijs_get_current_user - First observed
wikijs_get_navigation - First observed
wikijs_get_page_by_id - First observed
wikijs_get_page_by_path - First observed
wikijs_get_page_history - First observed
wikijs_get_page_links - First observed
wikijs_get_page_tree - First observed
wikijs_get_page_version - First observed
wikijs_get_site_config - First observed
wikijs_get_system_info - First observed
wikijs_list_asset_folders - First observed
wikijs_list_assets - First observed
wikijs_list_comments - First observed
wikijs_list_pages - First observed
wikijs_list_tags - First observed
wikijs_move_page - First observed
wikijs_restore_page - First observed
wikijs_search_pages - First observed
wikijs_search_tags - First observed
wikijs_search_users - First observed
wikijs_update_comment - First observed
wikijs_update_page - First observed
wikijs_update_tag
TDQS
Scored across 29 tools
Each tool has a distinct verb-noun pair that clearly specifies the resource and action. Potential overlaps like get_page_by_id vs get_page_by_path are resolved by different identifiers. No two tools are ambiguous.
All tools follow the consistent pattern 'wikijs_verb_noun' with imperative verbs and lowercase nouns separated by underscores. No mixing of styles or irregular naming.
29 tools is somewhat high for an MCP server, but the breadth of Wiki.js functionality (pages, comments, tags, assets, users, system) justifies the count. Still, it leans towards the heavier side.
Core page and comment operations are well-covered with CRUD and additional actions. However, tag creation is missing (only delete/update/list/search), asset management lacks upload/delete, and user management is limited to search and current user. Some notable gaps remain.
Maintenance
Related MCP Connectors
- hiveWikiOAuthai.hivewiki
Shared project wiki for AI agents: read and write pages, next actions, and activity logs over MCP.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
A MCP server built for developers enabling Git based project management with project and personal…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables full management of WikiJS instances, supporting operations like page creation, searching, and updating. It also provides tools for knowledge graph exploration, content summarization, and retrieval of wiki statistics.8MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Wiki.js with full GraphQL API coverage, fine-grained permissions, multi-user support, and deployable on Vercel.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMCP server for accessing Wiki.js through its GraphQL API, enabling page management, search, tags, and system info operations.MIT
- AlicenseAqualityCmaintenanceAn MCP server for managing Wiki.js 2.x pages through its GraphQL API, enabling search, read, create, update, move, delete, version history, and asset listing.1316MIT