Waferlock Robot MCP
This server provides access to Waferlock product manuals through a Model Context Protocol (MCP) interface that bridges to a REST API hosted on Heroku.
Core Capabilities:
List all manuals - Retrieve a complete list of all uploaded Waferlock product manuals
Get manual details - Access detailed information about specific manuals using their unique file ID
Search manuals - Find manuals by searching filenames with text queries
Technical Features:
Secure API authentication via token without exposing AWS credentials
Compatible with MCP-supported clients like ChatGPT Desktop
Supports optional MCP-level token authentication for additional security
Connects to a Waferlock Robot MCP REST API hosted on Heroku to access and manage Waferlock product manuals, including listing, searching, and retrieving manual information.
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., "@Waferlock Robot MCPlist all available robots in my account"
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.
Waferlock MCP CLI (Public)
這個專案提供一個獨立的 CLI,透過 Waferlock Robot MCP 在 Heroku 上的公開 REST API,將資料橋接到支援 Model Context Protocol (MCP) 的客戶端(例如 ChatGPT Desktop)。使用者只需要 API URL 與 Token,即可在本地啟動 stdio 版 MCP 伺服器,不需暴露 AWS 憑證。
安裝與使用
1. 取得程式碼
git clone https://github.com/jasonlcs/waferlock-robot-mcp-public.git
cd waferlock-robot-mcp-public2. 編譯
npm install
npm run build3. 直接執行 (本地調試)
node dist/cli.js \
--api-url https://waferlock-robot-mcp-1177c207c107.herokuapp.com \
--api-token <你的 API Token> \
--mcp-token <選填:要求 MCP 客戶端提供的 Token>--server-name:覆寫 MCP server 名稱--server-version:覆寫 MCP server 版本--mcp-token:若指定,MCP 客戶端必須提供同樣的 Token(透過環境變數或連線設定)
4. 透過 npx 執行 (Git 來源)
建立 tag 後(例如 git tag v1.0.0 && git push origin v1.0.0),即可提供使用者以下指令:
npx --yes github:jasonlcs/waferlock-robot-mcp-public#v1.0.0 \
--api-url https://waferlock-robot-mcp-1177c207c107.herokuapp.com \
--api-token <你的 API Token> \
--mcp-token <選填>5. ChatGPT Desktop 設定範例
{
"mcpServers": {
"waferlock-robot": {
"command": "npx",
"args": [
"--yes",
"github:jasonlcs/waferlock-robot-mcp-public#v1.0.0",
"--api-url", "https://waferlock-robot-mcp-1177c207c107.herokuapp.com",
"--api-token", "<你的 API Token>",
"--mcp-token", "<選填>"
]
}
}
}將 jasonlcs、waferlock-robot-mcp-1177c207c107、<你的 API Token> 改成實際值即可使用。
專案結構
waferlock-robot-mcp-public/
├── package.json
├── tsconfig.json
├── README.md
└── src
├── cli.ts
└── services
├── manualApiProvider.ts
├── manualProvider.ts
└── mcpService.ts開發注意事項
需要 Node.js 18+(提供原生
fetch)。CLI 會優先讀取命令列參數(
--api-url、--api-token等),若未提供則回退至環境變數API_URL、API_TOKEN、MCP_TOKEN。內建
dotenv,會載入.env(選用)。專案使用 TypeScript;若想讓使用者省去編譯步驟,可在 repo 中同步
dist/,或加上 npmprepare腳本在安裝時自動編譯。
後續步驟
npm run build確認dist/生成。必要時chmod +x dist/cli.js。git add . && git commit -m "Initial public CLI",再git push -u origin main。建立版本 tag(例:
git tag v1.0.0 && git push origin v1.0.0)。在主專案或文件提到此 CLI,指引用法(
npx github:...或node dist/cli.js ...)。
授權
ISC License
Available Tools
3 toolsget_manual_infoB
Get information about a specific manual by ID
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | The ID of the manual file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves information, implying a read-only operation, but doesn't specify aspects like authentication needs, rate limits, error handling, or what 'information' includes (e.g., metadata, content). This is a significant gap for a 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?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
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 low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate but has clear gaps. It lacks details on behavioral traits and usage context, which are important for an agent to operate effectively, though the simple schema reduces the need for extensive explanation.
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 schema description coverage is 100%, with the single parameter 'fileId' clearly documented in the schema. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.
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 information') and resource ('about a specific manual by ID'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'list_manuals' or 'search_manuals' beyond the 'by ID' specificity, which is why it doesn't reach a 5.
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 no guidance on when to use this tool versus alternatives like 'list_manuals' or 'search_manuals'. It implies usage for retrieving info by ID but lacks explicit context, prerequisites, or exclusions, leaving the agent to infer when this is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_manualsB
List all uploaded Waferlock product manuals
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it lists manuals but doesn't describe return format, pagination, sorting, or any constraints (e.g., permissions, rate limits). For a tool with zero annotation coverage, this is a significant gap in 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, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse and appropriately sized for the tool's simplicity.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the output looks like (e.g., list format, fields), behavioral traits, or how it differs from siblings. For a tool with no structured data support, more context is needed.
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 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, but with no parameters, this is acceptable, and it doesn't need to compensate for any gaps.
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 ('uploaded Waferlock product manuals'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'search_manuals' or 'get_manual_info', which prevents a perfect score.
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 no guidance on when to use this tool versus alternatives like 'search_manuals' or 'get_manual_info'. It lacks context about use cases, prerequisites, or exclusions, leaving the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_manualsC
Search for manuals by filename
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for manual filenames |
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 of behavioral disclosure. It states the tool searches by filename but doesn't describe how the search works (e.g., exact match, partial match, case sensitivity), what happens if no matches are found, or any limitations like rate limits or permissions required. This leaves significant gaps for a search 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?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and avoids unnecessary elaboration, making it easy for an agent to parse quickly.
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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a list of matching manuals, error handling), behavioral traits like search algorithms, or how it differs from siblings. For a search tool with no structured context, this is insufficient.
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 schema description coverage is 100%, with the single parameter 'query' fully documented in the schema as 'Search query for manual filenames'. The description adds no additional meaning beyond this, such as query syntax examples or constraints, so it meets the baseline for high schema coverage.
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 ('Search for manuals') and the target resource ('manuals'), with the specific scope being 'by filename'. It distinguishes from 'list_manuals' by indicating a search rather than a simple listing, though it doesn't explicitly differentiate from 'get_manual_info'.
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 no guidance on when to use this tool versus the sibling tools 'get_manual_info' or 'list_manuals'. It doesn't specify use cases, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.
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 purpose: get_manual_info retrieves details for a specific manual, list_manuals shows all manuals, and search_manuals finds manuals by filename. There is no overlap or ambiguity in their functions.
All tools follow a consistent verb_noun pattern (get_manual_info, list_manuals, search_manuals) with clear, descriptive names. There are no deviations in naming conventions.
With only 3 tools, the set feels thin for a product manual management system. While the tools cover basic retrieval and listing, it lacks operations like upload, update, or delete, which are typical for such a domain.
The tool set is significantly incomplete for managing Waferlock product manuals. It only supports read operations (get, list, search), missing essential CRUD functions such as create/upload, update, and delete, which are necessary for full lifecycle coverage.
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
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Remote MCP server for RunComfy Serverless API (ComfyUI): deployments and async inference.
REST-to-MCP for UK hospitality. Safety proxy: circuit-breakers, rate limits, whitelists. Apache 2.0.
Remote MCP gateway for ScriptMasterLabs x402-paid tools and agent-native API access.
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/jasonlcs/waferlock-robot-mcp-public'
If you have feedback or need assistance with the MCP directory API, please join our Discord server