Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Model Context Protocol (MCP) server for programmatic PowerPoint creation and editing
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"chatppt": {
"command": "npx",
"args": [
"-y",
"@jparkerdiamond/chatppt"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add chatppt -- npx -y @jparkerdiamond/chatpptวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"chatppt": {
"command": "npx",
"args": [
"-y",
"@jparkerdiamond/chatppt"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"chatppt": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@jparkerdiamond/chatppt"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub ParkerDiamond ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.0) เข้า registry 39 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, zanadir
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find what a repository's CI is missing, and which security checks cannot fail the build.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
ChatPPT is a Model Context Protocol (MCP) server for programmatic, AI-assisted PowerPoint creation and editing. Built on Node.js 20+ and @office-kit/pptx, ChatPPT exposes a safe, structured, resource-oriented CRUD API over stdio for connected LLMs in Visual Studio Code and other MCP-compatible clients.
presentations/ .pptx..chatppt/registry.json.@office-kit/pptx-preview..vscode/mcp.json)To use ChatPPT in your VS Code workspace, add or update .vscode/mcp.json in the root of your workspace:
{
"servers": { "chatppt": { "type": "stdio", "command": "node", "args": ["${workspaceFolder}/dist/index.js"] } } }
npx ExecutionWhen running via npx or published binary, ChatPPT can be configured to target a specific workspace using the --workspace flag or environment variables:
{
"servers": { "chatppt": { "type": "stdio", "command": "npx", "args": ["-y", "@jparkerdiamond/chatppt", "--workspace", "${workspaceFolder}"] } } }
The npm package includes the portable create-deck-skeleton Agent Skill at skills/create-deck-skeleton/SKILL.md. MCP clients do not automatically load agent skills when connecting to a server. To use the skill, install or copy that directory into the skill-discovery location supported by your agent host, such as .github/skills/, .agents/skills/, or .claude/skills/. The skill uses ChatPPT's MCP tools and does not depend on a particular operating system or editor.
ChatPPT operates on a deterministic workspace root resolved in the following priority order:
--workspace or -w CHATPPT_WORKSPACE_ROOT or WORKSPACE_ROOTprocess.cwd() (current working directory) /presentations/ .pptx /.chatppt/registry.json^[a-zA-Z0-9_-]+$. Absolute paths or relative paths attempting directory traversal (..) outside the workspace root are caught and rejected with ValidationError..pptx presentations are detected and rejected.deck_*)deck_create: Create a new blank presentation deck.deck_import: Import an existing PowerPoint file into the managed workspace and register its slides.deck_list: List all managed decks in the workspace.deck_read: Read metadata and slide/collection list for a deck.deck_update: Update deck metadata (title) with optional optimistic revision check (expectedRevision).deck_delete: Permanently delete a deck and its .pptx file.deck_validate: Run diagnostic invariant checks across PPTX content and registry metadata.slide_*)slide_create: Add one or multiple slides in batch (supports title and notes).slide_list: List slides in presentation order with 0-based position indexes.slide_read: Read slide metadata and its element listing.slide_render: Render a slide to a PNG image preview for visual feedback. Accepts an optional width in pixels, defaulting to 1280, and returns an MCP image content item.slide_update: Update slide title and speaker notes in batch.slide_delete: Permanently delete slides and clean up collection references.slide_move: Move a slide or reorder slides by providing a slideOrder array.slide_duplicate: Duplicate a slide with new stable IDs for the slide and all elements.slide_collection_*)slide_collection_create: Create a named ordered group of existing slides.slide_collection_list: List collections in a presentation.slide_collection_read: Read collection details and slide membership.slide_collection_update: Rename a collection or replace slide membership.slide_collection_delete: Delete a collection without deleting the slides.element_*)element_create: Create text boxes, preset shapes, lines, tables, charts, or images in batch (supports optional clientId correlation).element_list: List all elements on a slide in z-index order.element_read: Read element metadata and styling properties.element_update: Update position, size, text, fill, font, size, bold, italic, text color, stroke, and alignment in batch.element_delete: Delete elements from a slide in batch.element_reorder: Adjust element z-index (bringToFront, sendToBack, bringForward, sendBackward).Call slide_render with the deck and slide UUIDs. The response includes a base64-encoded image/png content item that MCP clients can display directly:
{
"deckId": " ", "slideId": " ", "width": 1280 }
The renderer is a deterministic approximation of PowerPoint output and runs in Node.js without a headless browser.
npm install
npm run build
npm test
npm run dev
The publish.yml GitHub Actions workflow stages a package when a matching v* tag is pushed. The package must already exist on npm. The workflow uses GitHub OIDC through npm trusted publishing and does not require an npm token. A staged package is not public until a maintainer reviews and approves it with 2FA on npm.
Configure the npm package's trusted publisher with GitHub Actions, repository ParkerDiamond/ChatPPT, workflow filename publish.yml, and the npm stage publish action enabled. The staging job uses Node.js 24 and npm 11.15.0 or later.
The same publish.yml workflow publishes server.json to the MCP Registry when a v* version tag is pushed. It authenticates with GitHub OIDC and does not require a registry secret. The registry job waits for npm staging, but MCP Registry validation requires the referenced npm version to be publicly available. If npm approval is still pending when the workflow runs, approve the staged npm release and rerun the failed registry job.
MIT