Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
WIKI_LOCALENoDefault localeen
WIKI_API_KEYYesok-wiki API key (JWT)
WIKI_BASE_URLYesBase URL of the ok-wiki instance, e.g. http://localhost:3000
WIKI_READONLYNoSet to '1' to register only read tools0
WIKI_LOG_LEVELNoDiagnostics level, always to stderrinfo
WIKI_MAX_UPLOADNoMax upload size in bytes for wiki_upload_asset (10 MB)10485760
WIKI_TIMEOUT_MSNoPer-request timeout in milliseconds15000
WIKI_UPLOAD_ALLOWLISTNoColon-separated absolute path prefixes uploads may come from; unset = unrestricted
WIKI_MAX_CONTENT_BYTESNoCap on page body returned into context100000

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
wiki_search_pagesA

Full-text search across ok-wiki pages — the first tool to reach for when asked about anything in the wiki. Matching is substring-ish, not semantic: the default search engine is a database LIKE scan over title, description, and path, so search for literal words that would appear on the page rather than paraphrases. Returns { results, totalHits, suggestions }; results are capped at limit, while totalHits reports the true match count so you can tell when you are seeing a slice.

wiki_get_pageA

Fetch a single ok-wiki page — by numeric id or by path (plus locale) — with its metadata and markdown source. The returned updatedAt is the conflict checkout stamp: pass this page to wiki_update_page promptly rather than editing against a stale read. contentTruncated: true means the body was cut at WIKI_MAX_CONTENT_BYTES and is not the full page. Single-page reads require the manage:pages permission, and content requires read:source, on the API key's group.

wiki_list_pagesA

Enumerate ok-wiki pages without a search query — for "what's under projects/?" or "what's tagged runbook?". Filters by tag server-side; pathPrefix is a client-side filter over the fetched page of results only. Returns { pages, count }.

wiki_create_pageA

Create a new markdown page in the ok-wiki at the given path. The path is validated locally first (no dots, spaces, backslashes, or double slashes). If a page already exists at the path, the error says so and points at wiki_update_page — edit rather than re-create.

wiki_update_pageA

Edit an existing wiki page with a partial patch, safely: the tool reads the current page, checks for concurrent edits, merges only the fields you supply, and writes the complete page back. Everything you do not supply — title, description, tags, published state, publish window, scripts, path, locale — is preserved exactly as read. Note that tags REPLACES the whole tag list. This tool never moves, renames, or deletes a page; an identical no-op patch writes nothing.

wiki_page_historyA

List the revision history of a page: a trail of versions (versionId, versionDate, authorName, actionType — initial/edit/move; a restore shows as an edit here, and the snapshot it created reports action 'restored' via wiki_get_page_version) plus total, the true version count, so a sliced trail is distinguishable from the whole history. Attribution limit: every edit made through this connector is attributed to user id 1 ('API'), the wiki’s synthetic API user — the author column separates agent edits from human ones, but cannot tell one agent session from another. Pass a versionId to wiki_get_page_version to inspect a snapshot.

wiki_get_page_versionA

Fetch one historical revision of a page as a full snapshot: content, title, description, tags, path, isPublished, versionDate, authorName. Content is bounded by WIKI_MAX_CONTENT_BYTES under the same rule as wiki_get_page — when cut, the result carries an explicit truncation marker and contentTruncated: true. Pair two calls to show a before/after when explaining a change.

wiki_restore_page_versionA

Roll a page back to an earlier version from its history — the undo for everything else this connector can do. Restoring is non-destructive in the sense that matters: it appends a new version to the page’s history rather than erasing anything, the intermediate edits stay in the trail, and a mistaken restore can itself be restored away. Get the versionId from wiki_page_history, and preview it with wiki_get_page_version before restoring.

wiki_list_tagsA

Lists the wiki's entire tag vocabulary as { tags: [{ tag, title }] }, where tag is the slug used when writing pages and title is its display text. Call this before creating or retagging a page so new pages reuse the existing vocabulary instead of inventing near-duplicate tags.

wiki_search_tagsA

Searches the existing tag vocabulary and returns matching tag slugs as { tags: string[] }. Use it before creating a page to check whether a tag you are about to invent already exists in a near-duplicate form, so pages converge on shared vocabulary.

wiki_list_assetsA

List the assets (uploaded files) in a wiki asset folder. folderId 0 is the root folder. Returns id, filename, ext, kind, mime, fileSize (bytes), and url per asset; url assumes the root folder — for assets in another folder, prefix its folder path.

wiki_create_asset_folderA

Create a new asset folder under a parent folder (parentFolderId 0 = root). If the folder already exists the error says so — reuse the existing folder in that case.

wiki_upload_assetA

Upload a local file to the wiki as an asset and return its id, URL, and a ready-to-paste markdown reference. The file is read from the machine running this server, subject to WIKI_MAX_UPLOAD and WIKI_UPLOAD_ALLOWLIST. The returned url and markdown assume the root folder; for a non-root folderId, prefix the folder path.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Moontower-AI/wiki-skills'

If you have feedback or need assistance with the MCP directory API, please join our Discord server