DocuSky MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOCUSKY_TIMEOUT | No | 單次請求逾時(秒),預設為 120 | |
| DOCUSKY_BASE_URL | No | API 根路徑,預設為 https://docusky.org.tw/DocuSky/webApi | |
| DOCUSKY_PASSWORD | No | 你的 DocuSky 密碼(選填,留空則僅查詢公開資料庫) | |
| DOCUSKY_USERNAME | No | 你的 DocuSky 帳號(選填,留空則僅查詢公開資料庫) | |
| DOCUSKY_CREDENTIALS | No | 憑證檔位置(給非 Claude Desktop 的 MCP 客戶端用的後備),預設為 ~/.docusky/credentials.json |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_documentsA | Full-text search one DocuSky database; returns metadata plus a short excerpt per hit. Full document text is deliberately omitted — call get_document with a hit's
For a public ("OPEN") database, the result also carries a Args:
db: Database title.
query: Search terms. |
| post_classificationA | Break a query's hits down by DocuSky's post-classification facets. Returns, per facet (corpus, period, place, category…), a distribution of [value, document count, hit count] — the quickest way to see how a term is spread across a database. Facet codes returned here (e.g. "COMP", "TP1") are also what twodim_analysis's dim1/dim2 arguments expect. For a public ("OPEN") database, the result also carries a Args: db: Database title. query: Search terms, or ".all" for the whole database. corpus: Corpus title, or "[ALL]". target: "OPEN" or "USER". owner_username: Owner of a friend-shared database, when applicable. |
| tag_analysisA | Summarize the DocuXML tags (people, places, dates, custom markup) in a query's hits. Only meaningful for databases whose documents carry inline tagging; returns an empty result otherwise. For a public ("OPEN") database, the result also carries a Args: db: Database title. query: Search terms, or ".all" for the whole database. corpus: Corpus title, or "[ALL]". target: "OPEN" or "USER". owner_username: Owner of a friend-shared database, when applicable. |
| word_cloudA | Draw a word cloud of term frequencies in DocuSky's own WordCloudLite tool. Takes numbers you already have and turns them into a DocuSky visualization:
tag counts from tag_analysis, a facet distribution from post_classification
(its Returns a WordCloudLite draws a random subset of a large term list, so pass roughly 20-40 terms when every word should appear. Args: terms: Term -> weight, e.g. {"針灸": 120, "湯液": 48}. Weights must be positive; non-integers are rescaled proportionally. Commas and semicolons in a term are replaced with spaces (the tool's URL format uses them as separators). max_terms: Keep at most this many of the heaviest terms (default 150). A very long list is also trimmed further to fit DocuSky's URL limit. |
| docugis_mapA | Put places on a map in DocuSky's own DocuGIS2 tool. Takes coordinates you already have — from the user, from a DocuGIS2 cannot be fed data through a URL, so the last step belongs to the
user: MCP Apps-capable hosts show the TSV with a copy button next to the
embedded tool, and the user pastes it into DocuGIS2's box and presses 匯入
(the rendered map then does time filtering, routes, clustering, heatmaps
and export). Other hosts get the same TSV as text plus Args:
rows: One entry per place. |
| list_databasesA | List DocuSky databases available to this server. Args: target: "OPEN" for public databases, "USER" for the logged-in account's own. include_friend_db: Also list databases shared by DocuSky "friends" (USER only). |
| list_corporaA | List the corpora inside one database, with document counts. Args: db: Database title, exactly as returned by list_databases. target: "OPEN" or "USER". include_friend_db: Include databases shared by friends (USER only). |
| get_documentA | Fetch the full text of one search hit, identified by its position in the result set.
Long documents are returned in slices: raise Args: db: Database title. result_number: 1-based rank of the document within the query's results. query: The same query string used in search_documents. corpus: The same corpus used in search_documents. target: "OPEN" or "USER". page_size: The same page_size used in search_documents. offset: Character offset into the document body. max_chars: Maximum characters of body text to return. include_raw_xml: Also return the untouched DocuXML content. owner_username: Owner of a friend-shared database, when applicable. |
| twodim_analysisA | Cross-tabulate a query's hits by two DocuSky classification facets at once. EXPERIMENTAL: DocuSky added this endpoint on 2026-01-28, but live testing
on 2026-09-11 found it rejects every dim1/dim2 pair tried so far —
including facet codes taken straight from post_classification's own
output, such as "COMP"/"TP1" — with Args: db: Database title. dim1: First classification facet code (a key from post_classification's "facets", e.g. "COMP" or "TP1"). dim2: Second classification facet code to cross with the first. query: Search terms, or ".all" for the whole database. corpus: Corpus title, or "[ALL]". target: "OPEN" or "USER". owner_username: Owner of a friend-shared database, when applicable. |
| check_loginA | Report whether DocuSky credentials are configured and whether they work. Public databases need no login; run this only when private ("USER") databases are unreachable. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| ui://docusky/viewer.html | 內嵌顯示 DocuSky 官方的查詢結果/分布統計/標記分析/文字雲頁面 |
| ui://docusky/docugis.html | 把整理好的地點 TSV 交給使用者貼進內嵌的 DocuSky DocuGIS2 地圖工具 |
TDQS
Scored across 10 tools
Tools target distinct actions (search, get, list, analyze, map, login) with clear boundaries. Minor potential confusion between post_classification and twodim_analysis, but descriptions clarify their different purposes (facet breakdown vs. cross-tabulation).
All names follow a consistent verb_noun pattern (e.g., search_documents, get_document, list_databases, post_classification, twodim_analysis). No deviations in casing or style.
10 tools is a well-scoped set for a document search and analysis server, covering search, retrieval, metadata listing, analysis, visualization, mapping, and login without redundancy.
Core lifecycle is covered: list databases/corpora, search, retrieve full text, analyze facets/tags, visualize, map, and check login. Missing direct document export or bulk operations, but agents can work around these gaps.