Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Drive Adobe InDesign from any MCP client: 135+ tools for layout, styles, books and PDF export.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
INDESIGN_APP_NAME, INDESIGN_ALLOWED_DIRS, INDESIGN_BACKENDต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"adobe-indesign": {
"command": "npx",
"args": [
"-y",
"adobe-mcp-indesign"
],
"env": {
"INDESIGN_APP_NAME": "ใส่ค่าของคุณ",
"INDESIGN_ALLOWED_DIRS": "ใส่ค่าของคุณ",
"INDESIGN_BACKEND": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add adobe-indesign --env INDESIGN_APP_NAME='ใส่ค่าของคุณ' --env INDESIGN_ALLOWED_DIRS='ใส่ค่าของคุณ' --env INDESIGN_BACKEND='ใส่ค่าของคุณ' -- npx -y adobe-mcp-indesignเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"adobe-indesign": {
"command": "npx",
"args": [
"-y",
"adobe-mcp-indesign"
],
"env": {
"INDESIGN_APP_NAME": "ใส่ค่าของคุณ",
"INDESIGN_ALLOWED_DIRS": "ใส่ค่าของคุณ",
"INDESIGN_BACKEND": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"adobe-indesign": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"adobe-mcp-indesign"
],
"env": {
"INDESIGN_APP_NAME": "ใส่ค่าของคุณ",
"INDESIGN_ALLOWED_DIRS": "ใส่ค่าของคุณ",
"INDESIGN_BACKEND": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
INDESIGN_APP_NAME envINDESIGN_ALLOWED_DIRS envINDESIGN_BACKEND envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub zachshallbetter ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.5.0) เข้า registry 23 วันที่ผ่านมา
โปรแกรมที่รองรับ 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Turn Adobe InDesign into an AI design automation platform — 420+ MCP tools for documents, layout, typography, styles, tables, images, long documents, interactive documents, prepress, and PDF and EPUB export. Drive InDesign from Claude, Cursor, Warp, or any MCP client using natural language.
Design ops still means repeating the same layout chores by hand. This server exposes InDesign as structured tools an agent can call: create pages, place assets, apply brand styles, export PDF — without leaving the chat.
Each area covers the panels and dialogs of one part of InDesign, mapped feature by feature to the capability atlas:
osascript) bridge; InDesign version is auto-detected (or set via INDESIGN_APP_NAME)New-Object -ComObject); tries current and recent InDesign ProgIDsINDESIGN_BACKEND=uxp|auto via local bridge + plugin under uxp/tools/listsrc/utils/jsxSafe.js for validated string/number/path interpolation into ExtendScriptUses AppleScript. Grant Automation permissions for your terminal/Node if prompted (System Settings → Privacy & Security → Automation).
InDesign version is resolved in order:
INDESIGN_APP_NAME environment variable (e.g. Adobe InDesign 2026)Adobe InDesign *.app under /Applications or ~/ApplicationsAdobe InDesign 2025Uses COM automation through PowerShell. No extra install steps. InDesign should be installed; the server will attach to a running instance or launch via COM.
Nothing to clone. MCP clients start the server with npx, which downloads it from npm on first run. It is listed in the official MCP Registry as io.github.zachshallbetter/adobe-mcp-indesign.
Claude Code:
claude mcp add indesign -- npx -y adobe-mcp-indesign
Any other client (Claude Desktop claude_desktop_config.json, Cursor, Warp, …):
{
"mcpServers": { "indesign": { "command": "npx", "args": ["-y", "adobe-mcp-indesign"] } } }
Optional environment overrides:
{
"mcpServers": { "indesign": { "command": "npx", "args": ["-y", "adobe-mcp-indesign"], "env": { "INDESIGN_APP_NAME": "Adobe InDesign 2026", "INDESIGN_ALLOWED_DIRS": "/Users/you/Projects:/Users/you/Documents" } } } }
INDESIGN_APP_NAME — macOS only; force a specific app name for AppleScriptINDESIGN_ALLOWED_DIRS — extra directories allowed for file operations (delimiter is : on macOS, ; on Windows)Restart the client, open InDesign, then try: *Create an A4 doc and add a centered title.*
To run from a clone instead (for development), use "command": "node" with "args": ["/ABSOLUTE/PATH/TO/adobe-mcp-indesign/src/index.js"] after npm install.
await tools.call("help");
await tools.call("help", { tool: "create_document" }); await tools.call("help", { category: "text" }); await tools.call("help", { format: "detailed" }); await tools.call("help", { format: "examples" });
await callTool('create_document', {
width: 210, height: 297, pages: 1 });
await callTool('create_text_frame', { content: 'Hello, InDesign!', fontSize: 14 });
await callTool('create_paragraph_style', { name: 'Heading', fontSize: 24, alignment: 'CENTER_ALIGN' });
137 tools in seven areas. The full reference, with every parameter, is docs/TOOLS.md (generated from the same definitions the server advertises).
| Area | Tools | Examples |
|---|---|---|
| Documents & books | 46 | create_document, open_document, save_document, preflight_document, data_merge, validate_document, create_book, export_book |
| Pages & spreads | 30 | add_page, resize_page, create_page_guides, place_file_on_page, list_spreads, duplicate_spread |
| Text & tables | 5 | create_text_frame, edit_text_frame, create_table, populate_table, find_replace_text |
| Graphics & images | 8 | place_image, create_rectangle, create_polygon, create_object_style |
| Styles & colors | 8 | create_paragraph_style, create_character_style, create_color_swatch, apply_color |
| Layout, masters & layers | 30 | move_page_item, create_group, create_master_spread, detach_master_items, create_layer |
| Export & utilities | 10 | export_pdf, export_images, export_epub, package_document, indesign_status, execute_indesign_code |
initialize response (units, indexes, colors, fonts, paths, errors), which MCP clients pass to the model.readOnlyHint, destructiveHint, idempotentHint and openWorldHint let clients ask before destructive calls such as delete_page, cleanup_document or close_document (which discards unsaved changes).isError: true with a message such as "No document open" or "Error: color swatch 'Brand' not found".help({ tool }) returns any tool's parameters; help({ category }) lists tools by area."#RRGGBB", fonts as "Family\tStyle". See docs/LLM_PROMPT.md for workflows.The server tracks page dimensions and active document metadata so tools can place content with sensible defaults when coordinates are omitted.
await callTool('get_session_info', {});
await callTool('clear_session', {});
await callTool('create_text_frame', { content: 'Auto-positioned text', fontSize: 12 });
src/
├── core/ │ ├── InDesignMCPServer.js # MCP server │ ├── scriptExecutor.js # macOS AppleScript + Windows COM │ └── sessionManager.js # Session state ├── handlers/ # Tools by domain │ ├── documentHandlers.js │ ├── pageHandlers.js │ ├── textHandlers.js │ ├── styleHandlers.js │ ├── graphicsHandlers.js │ ├── bookHandlers.js │ ├── pageItemHandlers.js │ ├── groupHandlers.js │ ├── masterSpreadHandlers.js │ ├── spreadHandlers.js │ ├── layerHandlers.js │ ├── exportHandlers.js │ ├── utilityHandlers.js │ ├── helpHandlers.js │ └── index.js ├── types/ # Tool definitions ├── utils/ │ ├── stringUtils.js # Response helpers, escapeJsxString │ └── jsxSafe.js # Validated ExtendScript literals / paths └── index.js
| Platform | Mechanism | Notes |
|---|---|---|
| macOS | osascript → do script | App name auto-detected; temp .jsx in OS temp dir |
| Windows | PowerShell COM DoScript | ProgIDs tried newest-first; temp .jsx in OS temp dir |
Tool arguments that flow into JSX should go through src/utils/jsxSafe.js:
str(), num(), bool(), index(), enumOf(), measure(), json(), numList()validateFilePath() / jsxPath() for filesystem paths (INDESIGN_ALLOWED_DIRS)Every handler uses these helpers; raw argument strings never reach a script.
Scripts report failures as text ("No document open", "Error …", "… not found"). The server recognizes these (looksLikeFailure in src/utils/stringUtils.js) and returns them with success: false and MCP isError: true, so clients can tell a failed call from a successful one.
npm run check # syntax check core modules
npm test # everything below that needs no InDesign npm run test:audit # script audit only; pass a regex to audit some tools npm run test:integration # full suite — requires InDesign running npm run test:unified # single-document unified runner
npm test covers:
INDESIGN_ALLOWED_DIRShelp for eachisError resultsdocs/TOOLS.md matches theตัดมาแค่ช่วงต้น อ่านต่อใน repo