Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Anonymize drawing PDFs: mask names, logos, addresses, emails; flattened PDF or expiring link.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
DRAWING_ANONYMIZER_URLต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"drawing-anonymizer": {
"command": "npx",
"args": [
"-y",
"drawing-anonymizer-mcp"
],
"env": {
"DRAWING_ANONYMIZER_URL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add drawing-anonymizer --env DRAWING_ANONYMIZER_URL='ใส่ค่าของคุณ' -- npx -y drawing-anonymizer-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"drawing-anonymizer": {
"command": "npx",
"args": [
"-y",
"drawing-anonymizer-mcp"
],
"env": {
"DRAWING_ANONYMIZER_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"drawing-anonymizer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"drawing-anonymizer-mcp"
],
"env": {
"DRAWING_ANONYMIZER_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
DRAWING_ANONYMIZER_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน imnoo.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 18 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Agent-Native Google Calendar - manage events, sync, and public booking
ให้ AI สร้างและแก้ไฟล์ Excel ได้เอง ทั้งสูตร กราฟ และ PivotTable โดยไม่ต้องมีโปรแกรม Excel ในเครื่อง
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Anonymize technical drawings before you share them — mask company names, logos, people, addresses and contact data on drawing PDFs from any MCP-enabled assistant.
This Model Context Protocol server exposes the engine behind drawing-anonymizer.imnoo.com, the free drawing anonymizer by Imnoo. Sending a drawing to a supplier, a subcontractor or a second source for a quote? Hand the PDF to your assistant and get an anonymized copy in about a minute: Imnoo's drawing analysis finds the sensitive data in the title block, the notes and anywhere else on the sheet — company names, logos, person names, addresses, phone numbers, emails, websites and other identifying text — and the server whites it out (or replaces it with your own company name and logo), masks any extra term or area you name, and writes a tamper-proof, single-layer PDF with the document metadata removed. Article numbers, drawing numbers, dates, dimensions and tolerances stay readable, so the drawing can still be quoted and manufactured. Need to send it right away? Ask for an expiring share link (1 minute to 24 hours) that only ever serves the masked copy. NDA-safe drawing sharing and GDPR-safe drawing exchange, on vector and scanned PDFs alike. Built by Imnoo, the planning, scheduling and quoting platform for CNC manufacturers — where the same automatic drawing masking protects every drawing that leaves a quote.
"Anonymize bracket.pdf for our subcontractor, put our name in, and give me a 1-hour link"
│ ▼ (your assistant calls the tools) analyze_drawing ──► review_masking ──► mask_drawing │ │ ▼ ▼ 14 masked · 4 visible ART-88213_masked.pdf (flattened, metadata removed) still visible: "BRACKET LEFT" https://drawing-anonymizer.imnoo.com/api/share/… (expires in 1 h)
| Tool | What it does |
|---|---|
analyze_drawing | Uploads a drawing PDF (vector or scanned, up to 4 pages, ≤ 30 MB) to Imnoo's drawing analysis — the service behind the web app — and returns every detection: id, category, value, PDF page, box, confidence, whether it sits in the title block and whether it is masked by default. save_analysis_to keeps the analysis JSON for offline reuse. |
load_analysis | Opens a saved analysis JSON. Fully offline — no upload, no daily credit. |
review_masking | Shows exactly what the output will hide and what stays visible: masked detections (with their replacement), detections left visible, custom-term matches, rectangles, the anonymity score (0–100) with its warnings, the output file name, and the text a reader will still see on each page. Deterministic and offline — iterate until nothing identifying is left. |
mask_drawing | Writes the anonymized PDF: blank (or replacement-text / own-logo) boxes over every masked item; by default every page is then rasterized at 288 dpi so the covered content is destroyed rather than painted over, and author, title, producer and XMP metadata are removed. Optional coverage-report page, page selection and expiring share link. Also accepts pdf_path directly for a one-shot run. |
Plus an anonymize-drawing prompt that walks the assistant through analyze → review → mask.
Where the analysis runs. Uploading the drawing is the only step that leaves your machine: analyze_drawing (or mask_drawing with a new pdf_path) sends the PDF to Imnoo's drawing analysis exactly like the web app does — 1 free analysis per day per IP address (need more? signed-in Imnoo users get a higher daily limit in the web app); uploaded files are deleted automatically within 24 hours and nothing else is stored. Masking, flattening and metadata removal run locally and are unlimited: review and re-mask as often as you like. A share link uploads the masked copy only — never the original.
Requires Node.js ≥ 22.13.
claude mcp add drawing-anonymizer -- npx -y drawing-anonymizer-mcp
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": { "drawing-anonymizer": { "command": "npx", "args": ["-y", "drawing-anonymizer-mcp"] } } }
Add to Cursor — or add to ~/.cursor/mcp.json:
{
"mcpServers": { "drawing-anonymizer": { "command": "npx", "args": ["-y", "drawing-anonymizer-mcp"] } } }
code --add-mcp '{"name":"drawing-anonymizer","command":"npx","args":["-y","drawing-anonymizer-mcp"]}'
Any client that launches stdio servers works with:
npx -y drawing-anonymizer-mcp
| Variable | Purpose |
|---|---|
DRAWING_ANONYMIZER_URL | Point the analysis and share links at another deployment of the web app (default https://drawing-anonymizer.imnoo.com). |
You: Anonymize
C:\drawings\bracket.pdfbefore it goes to our subcontractor. Put "Supplier AG" where the customer's name was and give me a link that works for an hour.
Assistant: *calls
analyze_drawing* — 18 detections on 1 page (A3): 3 company names, 4 person names, a logo, an address, a phone number, an email, a website, 2 other identifying items (a purchase-order number and a project name), plus the article number ART-88213, the drawing number DRW-10457-B and 2 dates, which stay visible. *callsreview_maskingwithmode: "replace"andcompany_name: "Supplier AG"* — 14 items masked, anonymity score 100; still visible on the sheet: the part title "BRACKET LEFT". *adds it withterms: ["BRACKET LEFT"], reviews again, then callsmask_drawingwith the same masking andshare_link: "1h"* — wroteART-88213_masked.pdf(flattened, metadata removed) and created a link that expires at 15:42. Two "Other" detections were found with low confidence — their boxes are worth a glance.
Those numbers are the web app's bundled sample drawing the smoke test runs against; real drawings vary.
masking argument)One object, accepted by review_masking and mask_drawing — pass the same one to both so the PDF matches the reviewed masks. Everything is optional; the defaults reproduce the web app.
| Option | Values |
|---|---|
categories | categories masked automatically — default CompanyName, Name, Address, PhoneNr, Email, Website, CompanyLogo, Other; ArticleNr, DrawingNr and Date stay visible for traceability |
detection_scope | page (default, the whole sheet) or title_block (only detections inside the title block — notes elsewhere stay untouched) |
mode · company_name · replacements[] | whiteout (default) or replace: print your own company name over detected company names, or any text per detection id (32 characters max) |
logo_path | your own logo (PNG or JPEG, < 1 MB), drawn into every detected logo instead of a blank box |
mask · unmask | detection ids to mask or keep visible regardless of their category |
terms | extra text to mask everywhere it appears — case- and spacing-insensitive, across words the CAD export split |
rectangles[] | extra areas to cover: page, x, y, width, height in the analysis image pixels the detections use |
color · opacity | mask colour (#rrggbb, default white) and opacity (default 100 — anything lower leaves the content readable) |
pages | 1-based PDF pages to write (default all) |
secure · scrub_metadata · include_report | flatten the pages (default on), remove document metadata (default on), append a coverage-report page (default off) |
article_number · stamp_article_number · name_after_article_number | your own article number for the part: names the file _masked.pdf and can be printed top-right on the sheet |
When masking is omitted on a drawing that was masked before in the same session — including the identical PDF under another path — the previous masking is reused, and the identical PDF is not uploaded again.
mask / unmask choices win.secure on (the default), every page is then rasterized at 288 dpi and the PDF is rebuilt from those images — the covered text no longer exists in the file, so it cannot be copied, searched or recovered by removing the boxes. With secure off, the result is a layered PDF whose original content stays recoverable under the masks; the tools warn about it.visible_text_after_masking in review_masking and add terms or rectangles for anything still identifying, and look at the masked PDF before sharing it.rectangles. Inside a longer line the term's position is estimated from the character count, so leave a little margin with a rectangle when a term sits between other text.save_analysis_to → load_analysis) and re-masking are unlimited and offline.The server lives in src/; engine/ holds the masking engine it shares with the web app (mask builder, title-block scope, text search, coverage report and the secure-PDF builder), synced from the Drawing Anonymizer monorepo at Imnoo on every release — so the web app and this server detect, mask and flatten a drawing the same way by construction. Every release is gated on end-to-end checks that drive all four tools over stdio against the sample drawing in test/fixtures and read the output's text layer and pixels:
npm ci
npm test # build + end-to-end stdio checks SMOKE_LIVE=1 npm test # + a real upload and share link (one daily analysis of your IP)
Issues and feature requests are welcome in this repository.
Imnoo — The System for Manufacturers | AI Planning, Scheduling & Quoting · Complete Assemblies · DFM · Tool & Material Libraries · Quoted-Parts Database · Toolpath & G-Code · Machine Connection · Webshop · ERP · Shop Analytics & Optimization · Drawing Masking & IP Security
*Plan It. Schedule It. Quote It. Win It.* — trusted by over 3,000 manufacturers.
Imnoo is the AI-powered planning, scheduling, and quoting platform for CNC manufacturers — your automatic production platform. One system that covers it all: automatic manufacturing planning with raw-material, catalog and purchase-part, and subcontracting sourcing; scheduling with smart reminders and AI-
ตัดมาแค่ช่วงต้น อ่านต่อใน repo