Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Convert a web page URL to clean Markdown for LLM context. Local, no external API calls.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
PAGE2AI_BRIDGE_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"page2ai": {
"command": "npx",
"args": [
"-y",
"@page2ai/mcp"
],
"env": {
"PAGE2AI_BRIDGE_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add page2ai --env PAGE2AI_BRIDGE_KEY='ใส่ค่าของคุณ' -- npx -y @page2ai/mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"page2ai": {
"command": "npx",
"args": [
"-y",
"@page2ai/mcp"
],
"env": {
"PAGE2AI_BRIDGE_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"page2ai": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@page2ai/mcp"
],
"env": {
"PAGE2AI_BRIDGE_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub igorsaevets ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: PAGE2AI_BRIDGE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.10.1) เข้า registry 5 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
No downloads badge on purpose: npm download counts are dominated by registry mirrors and bots, and this README only shows numbers a human can trust.
One-click webpage-to-Markdown MCP server for ChatGPT, Claude, and Gemini.
Preserves code blocks with language hints, tables, and reading structure.
Fetch, extract, convert — one tool, one command, entirely on your machine.
No API key, no account, no telemetry; the only network requests are to the URLs you pass it.
Companion to the Page2AI Chrome & Firefox extensions, which convert the live page in your own browser with their own pipeline. This server is built on @page2ai/core.
npx -y page2ai-mcp
This starts the stdio MCP server — it waits silently for a client, so wire it into one of the clients below rather than running it bare. Requires Node.js 20+. No API key. If npx ever serves you a stale cached version, run npx -y page2ai-mcp@latest once.
Updating. npx -y page2ai-mcp asks npm for the newest version each time the server starts, but an MCP client keeps the server running until you quit it: quitting and reopening the client is the update. A version named in the config (page2ai-mcp@0.6.2) stays until you change it. npx -y page2ai-mcp --version prints the version npx runs now.
page2ai-mcp is a thin unscoped wrapper around @page2ai/mcp, released together with it; its dependency is a ^ range, which on 0.x versions admits patch releases only.
For clients that only accept a remote MCP server URL (Streamable HTTP):
https://page2ai-mcp-remote.vercel.app/api/mcp
Same tool, same code (see remote/), rate-limited per IP. Privacy trade-off: URLs sent to the hosted endpoint are fetched *from that server*, so they transit infrastructure operated by the author (on Vercel). Running locally via npx keeps everything on your machine — prefer it when you can.
claude mcp add page2ai -- npx -y page2ai-mcp
Or install the Claude Code plugin, which adds the same server plus a skill that tells the agent when to use it and what to do with signed-in, blocked and very long pages (Claude Code 2.1.275 or later):
/plugin install page2ai --marketplace igorsaevets/page2ai-mcp
It asks for one optional, secret setting, the Agent Bridge key (see below). In claude -p runs allow the tool by name: --allowedTools "mcp__plugin_page2ai_page2ai__page_to_markdown".
One-click bundle: download page2ai-mcp- .mcpb from the latest release, then in Claude Desktop open Settings → Extensions → Advanced settings → Install Extension… and pick the file.
Or add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then fully quit and restart Claude Desktop:
{
"mcpServers": { "page2ai": { "command": "npx", "args": ["-y", "page2ai-mcp"] } } }
Or add to ~/.cursor/mcp.json (global) / .cursor/mcp.json (project):
{
"mcpServers": { "page2ai": { "command": "npx", "args": ["-y", "page2ai-mcp"] } } }
code --add-mcp '{"name":"page2ai","command":"npx","args":["-y","page2ai-mcp"]}'
Or add to .vscode/mcp.json:
{
"servers": { "page2ai": { "type": "stdio", "command": "npx", "args": ["-y", "page2ai-mcp"] } } }
codex mcp add page2ai -- npx -y page2ai-mcp
gemini mcp add page2ai npx -y page2ai-mcp
agy mcp add page2ai npx -y page2ai-mcp
Add to ~/.codeium/windsurf/mcp_config.json (macOS/Linux) or %USERPROFILE%\.codeium\windsurf\mcp_config.json (Windows):
{
"mcpServers": { "page2ai": { "command": "npx", "args": ["-y", "page2ai-mcp"] } } }
Add to settings.json (zed: open settings file):
{
"context_servers": { "page2ai": { "command": "npx", "args": ["-y", "page2ai-mcp"] } } }
Any client that speaks MCP over stdio works — Cline, Continue, JetBrains AI Assistant, LM Studio and others. Point their MCP server settings at the same command: npx -y page2ai-mcp.
If an AI agent (Cline, Claude Code, Codex, …) is doing the setup for you, point it at llms-install.md — a machine-oriented install guide with the exact command per client and a verification step.
| Tool | Description | Read-only | Example |
|---|---|---|---|
page_to_markdown | Fetch a web page URL, or take its HTML, and convert to clean Markdown | ✅ | page_to_markdown(url="https://docs.anthropic.com/en/api/messages") |
A page longer than max_length characters (default 30,000, about 8,000 tokens) comes back in parts. A part ends between blocks: never inside a code block or the frontmatter, and never right after a heading. The first part ends with a note naming the start_index of the next part, followed by the page's sections as start_index (length): heading, so an agent can read the one section it needs:
page_to_markdown(url="https://docs.python.org/3/library/stdtypes.html") → part 1 and the sections
page_to_markdown(url="https://docs.python.org/3/library/stdtypes.html", start_index=N) → the part from N
Later parts come from the text the first part was cut from, kept in the server's memory for 10 minutes after the last part was read: the site gets no new request, Agent Bridge opens no second tab, and offsets do not move. A page that fits in one part comes back exactly as before. Python's built-in types page, about 286,000 characters in one result up to 0.6.3, now comes as a first part of under 30,000 characters plus a list of its sections. The hosted endpoint returns whole pages.
A fetch error keeps its first line and adds a second one with the next step. HTTP 401 and 403 (on 2026-10-30, npm, Stack Overflow, Medium and OpenAI refused the server's requests): pass the page's HTML from a browser tool as html, or turn on Agent Bridge, since the same request will be refused again; the step names PAGE2AI_BRIDGE_KEY when the server has no key, and says so when another Page2AI server holds the bridge port. 404 and 410: check the URL. 429: wait. 5xx: try later. A timeout: a larger timeout_ms. A PDF or another type that is not a page, the 10 MB cap and a redirect loop name themselves, and a host name that does not resolve says so instead of reading like an address-guard block. A page with no readable text (built by scripts in the browser) and a fetch that landed on a sign-in page come back with a note giving the same steps.
The server fetches without cookies and runs no page scripts. For a page that needs either:
html, with the page's url: the HTML is converted, the URL is never fetched, and relative links resolve against it. The frontmatter then carries provenance: "HTML supplied by the caller; the source URL was not fetched". An empty html is an error, not a fetch of url.url pages open in a background tab of your own browser, with its cookies and scripts, and come back as the extension's Markdown (the call's include_images and include_frontmatter are honoured there, not the popup's). The extension refuses sign-in providers' pages and anything that is not http(s); a page it refuses is fetched by the server as usual, with a second text block saying why; when the browser ends on another page (a sign-in redirect), a second text block names the page it got. Private, loopback and cloud metadata addresses are refused before the browser opens them, as by the server's own fetch, and so is a page the browser was redirected to at one. The bridge listens on ws://127.0.0.1:3025 only.The key (0.6.0 and later). The bridge works only with the key the extension shows: popup → *Agent Bridge* on → *Copy key*. Give it to this server as PAGE2AI_BRIDGE_KEY: in Claude Desktop (the .mcpb extension) paste it into Page2AI's setting *Agent Bridge key*; in a JSON config add "env": { "PAGE2AI_BRIDGE_KEY": " " } to the server entry; with Claude Code, claude mcp add page2ai -e PAGE2AI_BRIDGE_KEY= -- npx -y page2ai-mcp. Restart the MCP client after. Several browsers or profiles: put their keys in the one variable, separated by commas; the first to connect holds the bridge. Several MCP clients running Page2AI (Claude Desktop and Cursor, say): the one started first holds port 3025 and the others run without the bridge, so give the key to each of them. Without a key the server never sends a page to a browser, and the popup and this server's log say what to paste where. On every connection both sides prove they know the key (an HMAC exchange; the key never crosses the socket), the server first: a program that took port 3025 while no server ran gets nothing from the extension, and a program that connects to the server without the key cannot ask it for pages. Firefox needs no extra setting since 0.6.0 (0.5.3 required the install's UUID in PAGE2AI_BRIDGE_ORIGINS). *New key* in the popup, or reinstalling the extension, makes a new key: replace the old one with it. Whoever reads your MCP client's config or the browser profile can read the key: the bridge is no stronger than your user account.
1. Fetch documentation and answer questions:
"Use page_to_markdown to fetch https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking and summarize the three main use cases for extended thinking."
2. Extract API reference into a code snippet:
"Fetch https://ai.google.dev/gemini-api/docs/thinking with page_to_markdown, then generate a Python code sample using the thinking budget parameter."
3. Compare two documentation pages:
"Fetch both https://docs.anthropic.com/en/docs/prompt-engineering and https://platform.openai.com/docs/guides/prompt-engineering with page_to_markdown, then summarize the differences in approach."
Verbatim output of page_to_markdown(url="https://docs.anthropic.com/en/api/messages"), captured 2026-10-18 with core 0.2.1, truncated:
---
title: "Messages" source: "https://platform.claude.com/docs/en/api/messages" captured_at: "2026-10-18T
ตัดมาแค่ช่วงต้น อ่านต่อใน repo