Zeqqat
The safe MCP for Dokploy: agents deploy and fix apps without holding keys or seeing secrets.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Redacts common secrets, email addresses, and phone numbers.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp-security-sanitizer-server.onrender.com/sseพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport sse security-sanitizer https://mcp-security-sanitizer-server.onrender.com/sseวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"security-sanitizer": {
"url": "https://mcp-security-sanitizer-server.onrender.com/sse"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"security-sanitizer": {
"type": "sse",
"url": "https://mcp-security-sanitizer-server.onrender.com/sse"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp-security-sanitizer-server.onrender.com/sseชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ตอนตรวจล่าสุด server ไม่ตอบ จึงอ่านรายการเครื่องมือไม่ได้
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub saurabhdrh ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ไม่ตอบภายใน 6 วินาทีตอนที่เราตรวจ
ไม่ตอบภายใน 6 วินาทีตอนที่เราตรวจ
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 2 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 16 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Zeqqat, 4da MCP Server, Dependency Vulnerability Tracker — package security advisories ($0.01/query)
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
The safe MCP for Dokploy: agents deploy and fix apps without holding keys or seeing secrets.
Upgrade intelligence for AI agents: what an upgrade changes, where it touches your code, CVE scans.
Dependency vulns & malicious-package advisories. Be born in one call — free testnet funds.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A small MCP server and interactive LangChain/Groq chatbot. The server exposes local regex-based tools for redacting common secrets and personally identifiable information (PII), and the client sanitizes each message before sending it to the language model.
Important limitation: Regex matching only recognizes the patterns
implemented here. It cannot guarantee detection of every secret or PII value.
The client guarantees that both configured sanitizer tools are called before
each non-empty user message is passed to Groq; the system prompt is
defense-in-depth, not the enforcement mechanism. Do not send regulated or
highly sensitive data without adding appropriate controls and validating
detection coverage for your environment.
User input
| v Python client --MCP/SSE--> local regex scrubbers | 1. mask_api_keys_and_secrets | 2. mask_pii_data v Sanitized text --> LangChain agent --> Groq
Sanitization uses local Python regular expressions in the MCP server and consumes 0 LLM tokens. The client makes the sanitizer calls synchronously before invoking the agent, so raw input is not sent to Groq by this chat flow. An MCP transport is still a network boundary; this configuration binds the server to loopback (127.0.0.1) and is intended for local development.
The logging interceptor prints tool names and argument field names but withholds all argument and result contents, so it does not log unsanitized input or potentially sensitive sanitizer output.
| Tool | Behavior |
|---|---|
mask_api_keys_and_secrets(text) | Redacts OpenAI-style sk-... keys, Bearer tokens, and common named key/secret/password/token assignments as [REDACTED_SECRET]. |
mask_pii_data(text) | Redacts email addresses as [REDACTED_EMAIL] and common North American phone formats as [REDACTED_PHONE]. |
audit_text_for_risks(text) | Returns counts of recognized secrets, email addresses, and phone numbers. |
uvFrom the project directory, resolve dependencies, create the project-local .venv, and write or update uv.lock:
uv sync
You do not need to activate .venv when using uv run; it selects the project environment automatically.
Create a .env file in the project directory (beside pyproject.toml):
GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=openai/gpt-oss-120b
Keep .env out of version control. The client loads this file at startup and checks that GROQ_API_KEY is set before connecting to Groq. A .env placed inside .venv is also recognized as a fallback, but the project directory is the recommended location because .venv is generated and can be deleted and recreated. GROQ_MODEL is optional; if omitted, the client uses openai/gpt-oss-120b. If Groq reports that a model is unavailable, set GROQ_MODEL to a model ID enabled for your account. The API key is used by ChatGroq; it is not sent to the MCP server.
Start the MCP server in one terminal:
uv run server.py
It listens on http://127.0.0.1:8000 using the SSE transport, with the MCP endpoint at /sse.
The image below illustrates the expected server terminal after startup. It is a generated example rather than a direct screenshot from your machine; process IDs and log formatting can differ by FastMCP/Uvicorn version.
In a second terminal, start the interactive chatbot:
uv run client.py
Alternatively, activate the project environment in each terminal and run Python directly. For example, in Windows PowerShell:
.\.venv\Scripts\Activate.ps1
python server.py
In a second activated terminal:
.\.venv\Scripts\Activate.ps1
python client.py
Type exit or quit to end the chat.
With both the server and client running, paste one of these prompts into the client. Every value below is synthetic test data; do not use real credentials or personal information for testing.
Email and phone
Write a friendly appointment reminder for alex@example.com and ask them to
call (415) 555-0134 if they need to reschedule.
The text passed to the agent should replace those values with:
alex@example.com -> [REDACTED_EMAIL]
(415) 555-0134 -> [REDACTED_PHONE]
API key and named password
Explain why this demo credential should not be shared: sk-1234567890abcdef.
The test password is password=hunter2.
Both credential values should be replaced with [REDACTED_SECRET] before the message is sent to Groq.
Bearer token and mixed data
Help me write a support note for sam@example.org. The test phone is
212-555-0199 and the example authorization header is Bearer abc123.def456.ghi789.
The email, phone number, and Bearer token should be masked by the applicable tool. The interactive client intentionally does not print sanitized text to the terminal; it logs which tools ran while withholding their arguments and results. The expected replacements above describe what is passed onward, not what is displayed in the console.
Run the server and client in separate terminals. The server stays running while the client connects to it.
Terminal 1 — MCP server (timestamps and process IDs vary):
INFO Starting MCP server 'MCP Security Sanitizer' with transport 'sse'
on http://127.0.0.1:8000/sse INFO: Started server process [process-id] INFO: Waiting for application startup. INFO: Application startup complete.
Terminal 2 — client (example sanitizer call; the fake values below are for testing only):
Secure assistant ready. Type 'exit' or 'quit' to stop.
You: Contact alex@example.com at (415) 555-0134; test key sk-1234567890abcdef.
[MCP] Calling mask_api_keys_and_secrets (arguments: text) [MCP] mask_api_keys_and_secrets completed; result content withheld.
[MCP] Calling mask_pii_data (arguments: text) [MCP] mask_pii_data completed; result content withheld.
Assistant: [The assistant's reply appears here after the sanitized message is sent to the configured Groq model.]
The interceptor intentionally withholds tool arguments and results from the terminal, so the unsanitized input is not printed by the MCP logs. The message passed to the agent has these substitutions:
Contact [REDACTED_EMAIL] at [REDACTED_PHONE]; test key [REDACTED_SECRET].
The assistant reply depends on the Groq model and is not a fixed output. The illustration below shows the server startup and the local sanitizer calls. It is an example terminal view, not a raw desktop screenshot; the sanitizer check does not make a Groq request. Startup timestamps and process IDs vary by run.
uv run manages and uses the project environment without requiring manual activation. To run python server.py or python client.py directly, first activate .venv in that terminal.