Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Convert PDF, Word, Excel, PowerPoint, EPUB and images to Markdown locally, with no upload.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MARKDOWN_MCP_ROOTS, GEMINI_API_KEY, ASSEMBLYAI_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"markdown-notes": {
"command": "npx",
"args": [
"-y",
"suprasuta-markdown-mcp"
],
"env": {
"MARKDOWN_MCP_ROOTS": "ใส่ค่าของคุณ",
"GEMINI_API_KEY": "ใส่ค่าของคุณ",
"ASSEMBLYAI_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add markdown-notes --env MARKDOWN_MCP_ROOTS='ใส่ค่าของคุณ' --env GEMINI_API_KEY='ใส่ค่าของคุณ' --env ASSEMBLYAI_API_KEY='ใส่ค่าของคุณ' -- npx -y suprasuta-markdown-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"markdown-notes": {
"command": "npx",
"args": [
"-y",
"suprasuta-markdown-mcp"
],
"env": {
"MARKDOWN_MCP_ROOTS": "ใส่ค่าของคุณ",
"GEMINI_API_KEY": "ใส่ค่าของคุณ",
"ASSEMBLYAI_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"markdown-notes": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"suprasuta-markdown-mcp"
],
"env": {
"MARKDOWN_MCP_ROOTS": "ใส่ค่าของคุณ",
"GEMINI_API_KEY": "ใส่ค่าของคุณ",
"ASSEMBLYAI_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MARKDOWN_MCP_ROOTS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Narashiman-K ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GEMINI_API_KEY, ASSEMBLYAI_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.4) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Let Claude, VS Code and Antigravity read any document on your machine — without uploading it.
Created by [Narashiman Krishnamurthy](https://www.linkedin.com/in/narashimank/)
Licence: free for personal, non-commercial use. See LICENSE.md.
AI assistants can read plain text, and some can read PDFs. None of them read EPUB, OpenDocument, PowerPoint or a scanned image, and all of them do it by uploading your file to a server.
This converts documents on your own machine and hands back Markdown that has been tidied for a model to read — tables promoted to real Markdown tables, deep indentation flattened, code properly fenced.
| Documents | PDF, Word .docx, Excel .xlsx/.xls/.xlsm, PowerPoint .pptx, OpenDocument .odt/.ods, EPUB, CSV, TSV, plain text |
| Images | OCR on the device, with no key and no network |
| Audio | Transcription — the one feature that cannot run locally |
| Tool | What it does |
|---|---|
convert_to_markdown | Converts one file and saves the `.md` beside the original automatically |
convert_folder_to_markdown | Converts several files into a chosen directory |
save_summary | Saves a summary the assistant wrote as .summary.md beside the document |
list_supported_formats | Lists the extensions, and which optional cloud features are configured |
Converting costs you nothing — it all happens locally. But returning a long document into the conversation does cost tokens, at the same rate as pasting it in by hand.
So a long conversion is saved to disk and only a short preview comes back. A 50-page PDF costs roughly 400 tokens instead of 30,000. Short documents are returned in full, since they are cheap either way. Ask for return_content: "full" to override.
Download the .mcpb file from Releases and double-click it. Claude Desktop installs it and asks which folders it may read, and optionally for API keys. No Node, no terminal, no JSON.
npm install
npm run build node scripts/install-claude-desktop.mjs --roots "D:\your\documents"
Then restart Claude Desktop completely. The script patches the existing config rather than replacing it, and writes a timestamped backup first.
--roots is optional but recommended: it limits which folders the server will read. Without it, any path the assistant asks for is allowed.
To remove it again: node scripts/install-claude-desktop.mjs --remove
npm install -g suprasuta-markdown-mcp
Then point your host at the suprasuta-markdown-mcp command, or run it without installing:
{
"servers": { "suprasuta-markdown": { "command": "npx", "args": ["-y", "suprasuta-markdown-mcp"], "env": { "MARKDOWN_MCP_ROOTS": "D:\\your\\documents" } } } }
Both read a standard MCP configuration — the block above works as-is. Antigravity looks in ~/.gemini/config/mcp_config.json, or .agents/mcp_config.json inside a workspace.
To run a checkout rather than the published package, replace command and args with node and the absolute path to dist/server.js.
Both are dormant until a key is present. Everything else works without either.
| Variable | Enables | What leaves your machine |
|---|---|---|
GEMINI_API_KEY | Cloud OCR, which can also describe charts and diagrams | The image, to Google |
ASSEMBLYAI_API_KEY | Audio transcription | The audio file, to AssemblyAI |
Keys are read from the environment, never written to disk and never logged.
Settings are read once, at start-up. An MCP server is a long-running process, so a key or folder saved while it is running does not reach it until the host restarts. If a key you have just entered reports as not configured, restart the host before looking for anything more complicated.
npm install # .npmrc sets include=dev — do not delete it
npm run build # stages the OCR engine, then bundles with esbuild npm test # 19 tests against the built bundle npm run smoke # converts every file in samples/ and reports npm run typecheck
src/lib/convert/ is kept byte-identical to the copies in the Windows, web and Android apps, so that drift can be detected rather than discovered. Those files use extensionless imports and one Vite-specific ?url import, neither of which Node's own resolver accepts. esbuild resolves both, so the shared files never need Node-shaped edits.
Three things genuinely differ between a browser and Node, and src/lib/convert/runtime.ts asks the host rather than sniffing for process:
| Hook | Why |
|---|---|
tesseractPaths | A browser needs URLs and its own worker; Node needs filesystem paths and must not be given the browser worker |
docxSource | mammoth reads arrayBuffer in browsers and buffer under Node |
ocrImageInput | tesseract's Node build cannot decode a Blob; it wants a Buffer |
Everything else is shared. src/runtime/node.ts supplies the Node answers and shims exactly one browser global, DOMParser.
A caution learned the hard way: that file used to define
documenttoo, and
it broke OCR. tesseract.js sniffed for a DOM, found one, took the browser
branch and died on
window is not defined. Half a browser is worse than
none — shim the minimum.
npm run sync:check # list differences against all three apps
npm run sync:pull web # bring the web app's version in node scripts/sync-converters.mjs --push web
This package is the canonical copy: it is the only one with the runtime hook that lets identical files run in both environments, so fixes start here and flow outward. sync:check reports and exits zero — drift is information, not a build failure.
This software collects nothing. No account, no analytics, no telemetry, and no server of its own — document conversion happens entirely on your machine.
Two optional features send data to a third party, and only when you supply your own API key: cloud image recognition sends the image to Google, and audio transcription sends the audio to AssemblyAI. With no keys configured, the software makes no network connections at all. API keys are read from the environment, never written to disk and never logged.
Full policy, covering collection, storage, retention, third-party sharing and contact details: [PRIVACY.md](PRIVACY.md).
| Windows app | Microsoft Store · source |
| Web app | markdown-notes-psi.vercel.app · source |
| Android | Install the web app from Chrome · older native build, no longer maintained |