PCC Downloader MCP Server
Click on "Install 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., "@PCC Downloader MCP Serversearch for specification 09910"
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.
PCC Downloader MCP Server
一個基於 Node.js 與 Playwright 的 Model Context Protocol (MCP) 伺服器,專門用於從「公共工程雲端服務網 (tec0304)」自動化搜尋並下載施工綱要規範文件。
核心特色 (Key Features)
目錄瀏覽 (Discovery):
list_chapters直接從網站的下拉選單動態讀取最新章節清單,不硬編碼。精確搜尋 (Smart Search):
search_specifications支援關鍵字與 5 位碼規範編號搜尋,並回傳每筆規範實際可用的格式(DOC/ODT/XLS/ODS/PDF)。批次處理 (Batch Automation):
batch_download_specifications讓 LLM 一次下達多筆下載任務,每筆可指定一個或多個格式。格式選擇: 支援 DOC(含 DOCX)、ODT、XLS、ODS、PDF,每筆規範可用格式不同,搜尋結果會標示。
自動存檔: 檔案自動儲存至使用者的系統下載資料夾(
C:\Users\{你的名字}\Downloads)。
Related MCP server: danfe-downloader
快速上手 (Getting Started)
前置需求
安裝步驟
# 1. 安裝依賴套件
npm install
# 2. 安裝 Playwright 所需的瀏覽器引擎
npx playwright install chromium
# 3. 編譯專案
npm run build整合至 Agent(以 Claude Desktop 為例)
編輯 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"pcc-downloader": {
"command": "node",
"args": ["C:/你的路徑/PCC_downloader_MCP/dist/index.js"]
}
}
}注意:Playwright 啟動 Chromium 需要約 5~15 秒,請確保 agent 的 tool timeout 設定在 60 秒以上。
建議使用流程
1. list_chapters ← 取得章節清單(可選,用來確認章節代碼)
↓
2. search_specifications ← 搜尋規範,確認 hasDoc/hasOdt 等可用格式
↓
3. batch_download_specifications ← 指定 code 和 formats 批次下載下載的檔案會自動儲存至 系統下載資料夾(C:\Users\{你的名字}\Downloads)。
工具說明 (Available Tools)
1. list_chapters — 取得章節清單
從網站下拉選單動態讀取所有可用章節(動態,不硬編碼)。
回傳範例:
[
{ "name": "00 一般規定", "value": "00" },
{ "name": "03 混凝土", "value": "03" },
{ "name": "09 完成面", "value": "09" }
]2. search_specifications — 搜尋規範
參數 | 類型 | 說明 |
| string(選填) | 關鍵字(如「油漆」)或規範編號(如「09910」)。留空可列出該章節全部規範。 |
| string(選填) | 章節代碼(00-16, L, E)。留空搜尋全部章節。 |
⚠️ 搜尋建議:關鍵字搜尋對應網站的「關鍵字」欄位,僅比對章名。若結果過多或不精確,建議改用 5 位碼規範編號搜尋(如
09910)。
回傳範例:
[
{
"index": 0,
"code": "09910",
"name": "油漆",
"fullVersion": "V8.0",
"detailVersion": "V5.0",
"hasDoc": true,
"hasOdt": true,
"hasXls": true,
"hasOds": true,
"hasPdf": false
}
]3. batch_download_specifications — 批次下載
參數 | 類型 | 說明 |
| array | 下載任務列表 |
| string(選填) | 規範章碼(精確比對,優先使用) |
| string(選填) | 關鍵字(無章碼時使用) |
| string(選填) | 章節代碼 |
| string[](必填) | 要下載的格式: |
呼叫範例:
{
"items": [
{ "code": "09910", "chapter": "09", "formats": ["doc", "odt"] },
{ "code": "09250", "chapter": "09", "formats": ["doc"] }
]
}回傳範例:
[
{ "item": "Code: 09910", "status": "Success", "files": ["09910v80.doc", "09910v80.odt"] },
{ "item": "Code: 09250", "status": "Success", "files": ["09250v70.doc"] }
]4. download_specification — 下載單一規範
參數 | 類型 | 說明 |
| string(必填) | 搜尋用關鍵字 |
| string(必填) | 章節代碼 |
| string(必填) | 規範完整章名(與搜尋結果的 |
| string(必填) | 格式: |
格式說明
格式代碼 | 說明 | 對應按鈕 |
| Word 文件 | DOC版 或 DOCX版 |
| OpenDocument Text | ODT版 |
| Excel 試算表 | XLS版 |
| OpenDocument Spreadsheet | ODS版 |
| PDF 文件 | PDF版 |
每筆規範的可用格式不盡相同,請先用
search_specifications確認hasDoc、hasOdt等欄位。
授權與免責聲明 (License & Disclaimer)
授權協議 (License)
本專案採用 MIT License 授權。
關於作者 (About the Author)
作者: 加號設計數位工程有限公司 HJPLUS.DESIGN
網站: 加號設計數位工程有限公司
粉絲專頁: 加號設計數位工程有限公司
電子郵件: info@hjplusdesign.com
免責聲明 (Disclaimer)
在使用本工具前,請務必詳閱以下聲明:
法律責任:本工具僅供技術研究與個人自動化作業參考,使用者須自行承擔因使用本程式而產生的所有法律責任。
遵循規範:使用者應嚴格遵守「公共工程雲端服務網」之使用條款、隱私權政策及相關規定,嚴禁用於任何可能干擾網站正常運作之行為。
合理使用:建議每次請求之間保留適當間隔,避免對伺服器造成不必要的負擔。
第三方內容:下載之所有施工規範文件,其版權均屬行政院公共工程委員會所有,本工具不保證下載內容的完整性與準確性。
最後更新: 2026-03-06
Available Tools
4 toolsbatch_download_specificationsB
批次下載多個規範,一次 tool call 完成。適合自動化任務。
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes |
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 for behavioral disclosure. It only states that the operation completes in a single tool call; it does not reveal how invalid items are handled, whether downloads are returned as files or links, whether the operation is atomic, or any 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?
The description is only two short sentences and avoids redundancy. The first sentence states the core operation, and the second adds a relevant use case; every part contributes to decision-making.
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 no annotations, no output schema, and a nested array parameter, the description is under-specified. An agent cannot tell what the tool returns, how batching failures are reported, or what valid formats/chapter codes are beyond raw schema definitions. This is not enough for reliable autonomous invocation.
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 0% and the description does not compensate by explaining the items parameter or its sub-fields. The statement 'batch download multiple specifications' broadly implies items is a list of specifications, but it adds no meaning beyond the schema's own nested property 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 ('批次下載多個規範' – batch download multiple specifications) and explicitly notes that it is completed in one tool call. This separates it from the singular download_specification sibling and from the search/list 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?
The phrase '一次 tool call 完成' and '適合自動化任務' imply this is for downloading multiple specifications at once, particularly in automated workflows. However, it does not explicitly state when to prefer this over download_specification or list_chapters, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_specificationC
下載單一特定規範文件
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 要下載的規範完整章名 | |
| format | Yes | 要下載的格式 | |
| chapter | Yes | 搜尋用的章節代碼 | |
| keyword | Yes | 搜尋用的關鍵字 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states the action (download) but does not mention output format, file delivery mechanism, authentication requirements, or any side effects. For a non-mutating tool, the lack of such context earns more than 1, but it still 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?
A single, efficient sentence with no filler. It is front-loaded with the action and scope, though it is almost too terse to add context beyond the tool name.
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 schema documents all parameters, including an enum for format, so the agent can construct a valid call. However, the description does not clarify the role of keyword/chapter in the download flow or what the tool returns, and there is no output schema. This leaves the tool under-specified for a 4-parameter operation with no annotations.
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 descriptions for all four parameters (name, format, chapter, keyword), so the baseline is 3. The description itself adds no parameter-specific meaning, but it also doesn't conflict with 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 uses the verb '下載' with the resource '規範文件' and specifies '單一特定', clearly distinguishing it from batch_download_specifications. It is clear what the tool does, though it does not explicitly reference sibling alternatives.
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 about when to use this tool instead of search_specifications, list_chapters, or batch_download_specifications. The word 'single' implies a contrast with batch download, but there is no explicit selection criteria or prerequisite instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_chaptersA
取得所有可用的章節分類清單(從網站的 select dropdown 動態讀取)
| 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 the full burden of behavioral disclosure. It does disclose that the list is dynamically read from the website's select dropdown, implying a live fetch rather than a static lookup, and the verb suggests a read-only operation. However, it does not mention potential network dependencies, failure modes, or what the returned list looks like.
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 sentence with the main action front-loaded and the source detail in a parenthetical. It is concise, clear, and contains no filler.
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 no-parameter list tool, the description is mostly sufficient: an agent can invoke it directly and expect a list of chapter categories. It could clarify what the chapters belong to or how the list should be used with sibling tools, but that is a minor gap given the simple signature.
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 tool has zero parameters, so the schema already fully covers the input surface. The description does not need to add parameter details; the baseline of 4 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?
The description uses a specific verb '取得' (get/retrieve) and names the resource: all available chapter category list. It also distinguishes itself from sibling tools by indicating the source is the website's select dropdown, which is clearly different from searching or downloading specifications.
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?
There is no guidance about when to use this tool versus the sibling tools. It does not mention whether the chapter list is meant to feed into search_specifications or how it relates to download operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_specificationsA
搜尋施工綱要規範。keyword 留空可列出該章節所有規範。
| Name | Required | Description | Default |
|---|---|---|---|
| chapter | No | 章節代碼(00-16, L, E)。輸入 'all' 表示全部章節。 | |
| keyword | No | 關鍵字或規範編號(如 09910)。可留空。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It genuinely discloses the empty-keyword list-all behavior, which goes beyond the schema. However, it does not disclose what the search returns (matches, summaries, metadata), result limits, or whether results are full content — significant for a read/search tool with zero annotation coverage.
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 short sentences, zero filler. The core purpose is front-loaded, and the keyword behavior follows immediately. 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?
For a two-parameter search tool with fully documented params, the description is adequate: it covers the search purpose and the empty-keyword case. Gaps remain: no output-schema exists so return-value behavior goes undescribed, and no guidance distinguishes this from list_chapters, which an agent would need to route correctly among four siblings.
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 the baseline is 3; both chapter and keyword are already documented with examples. The description adds one extra semantic — the behavior when keyword is empty — which is a real but marginal addition 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 states a specific verb and resource — '搜尋施工綱要規範' (search construction outline specifications) — and adds a behavioral clause about listing all specs when keyword is empty. It is distinguishable from sibling download tools at the verb level, though it does not explicitly name the sibling it competes with (list_chapters).
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 gives one implicit usage instruction: leave keyword empty to list all specifications in a chapter. However, it offers no explicit when-to-use versus list_chapters (which likely also lists data) or the download tools, and no exclusions. The usage context is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct role: listing chapters, searching/filtering specifications, and downloading either single or batch. The only slight overlap is between search_specifications with an empty keyword and list_chapters, but their outputs differ (specifications vs. chapter categories).
The naming follows a consistent verb_noun pattern: list_chapters, search_specifications, batch_download_specifications, download_specification. Minor inconsistency exists between plural and singular forms (specifications vs. specification), but the overall pattern is clear and predictable.
Four tools is a well-scoped count for a downloader-focused server. Each tool covers a necessary part of the workflow without unnecessary duplication or excessive granularity.
The toolset covers the full user journey: discover chapters, search for specifications, download one item, or download many at once. No significant gaps exist for the stated purpose of downloading construction specification documents.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Headless browser primitives for AI agents when sites need real JS rendering.
One MCP for the Web. Easily search, crawl, navigate, and extract websites without getting blocked.…
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables searching, viewing details, and filtering listings on Letgo.com by using Playwright to bypass Akamai anti-bot protection.61MIT
- FlicenseNot gradedqualityDmaintenanceAutomates downloading XML of DANFE from meudanfe.com.br using Playwright with xvfb to bypass Cloudflare protection, enabling AI agents to retrieve DANFE XML via MCP tools.
- AlicenseNot gradedqualityCmaintenanceAutomates LinkedIn job search and profile editing via Playwright browser automation, enabling targeted job searches and profile updates without manual UI interaction.1MIT
- FlicenseBqualityDmaintenanceAutomates navigation of UpGrad's learning platform using Playwright to extract class transcripts and download resources.22
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/h30190/HJPLUS_PCC_downloader_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server