Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for Karpathy-style LLM wikis: persistent markdown your agent grows over time.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"llm-wiki": {
"command": "uvx",
"args": [
"llm-wiki-mcp",
"--wiki-root",
"ใส่ค่าของคุณ"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add llm-wiki -- uvx llm-wiki-mcp --wiki-root 'ใส่ค่าของคุณ'ตัวนี้ต้องใส่ค่าในคำสั่งเปิดเอง ให้คัดลอกค่าตั้งแล้วเติมค่า
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"llm-wiki": {
"command": "uvx",
"args": [
"llm-wiki-mcp",
"--wiki-root",
"ใส่ค่าของคุณ"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้ต้องใส่ค่าในคำสั่งเปิดเอง ให้คัดลอกค่าตั้งแล้วเติมค่า
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"llm-wiki": {
"type": "stdio",
"command": "uvx",
"args": [
"llm-wiki-mcp",
"--wiki-root",
"ใส่ค่าของคุณ"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub flsteven87 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.1) เข้า registry 7 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Persistent markdown wiki for your AI agent, built on Karpathy's LLM wiki gist. Four MCP tools (wiki_read, wiki_write_page, wiki_log_append, wiki_inventory) plus four Claude Code skills (wiki-init, wiki-ingest, wiki-query, wiki-lint). stdio transport, local filesystem.
The server handles the boring layer LLMs keep getting wrong: atomic writes, etag conflict checks, append-only log integrity, path containment. The skills give the agent a workflow to follow. The wiki schema lives in your own wiki/CLAUDE.md and grows with your domain. There is no Layer 3 schema validation in the server.
Status: alpha (v0.1.1). Local backend only. MIT licensed.
Requires Python 3.11+ and uv.
Pick an absolute path for the wiki folder. The server creates pages/ and log.md under it on first run if they don't exist:
uvx llm-wiki-mcp --wiki-root /absolute/path/to/wiki
Wire it into your MCP client.
Claude Code:
claude mcp add llm-wiki -- uvx llm-wiki-mcp --wiki-root /absolute/path/to/wiki
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS) or Cursor (~/.cursor/mcp.json):
{
"mcpServers": { "llm-wiki": { "command": "uvx", "args": ["llm-wiki-mcp", "--wiki-root", "/absolute/path/to/wiki"] } } }
Restart the client. Four tools should appear: wiki_read, wiki_write_page, wiki_log_append, wiki_inventory.
Claude Code users can install the bundled workflow skills as a plugin:
claude plugin marketplace add https://github.com/flsteven87/llm-wiki-mcp
claude plugin install llm-wiki-skills@llm-wiki-mcp
Each skill reads wiki/CLAUDE.md for the active schema on every run, so you can evolve the schema without re-installing anything. Ask the agent things like:
| Skill | What to ask | Needs MCP server? |
|---|---|---|
wiki-init | "Create an LLM wiki for AI safety research at ~/wikis/ai-safety." | No |
wiki-ingest | "Ingest https://arxiv.org/abs/2310.12345 into the wiki." | Yes |
wiki-query | "What does the wiki say about steering vectors?" | Yes |
wiki-lint | "Run a wiki health check." | Yes |
wiki-init is a one-shot scaffolder; the other three are Karpathy's three operations.
Other MCP clients (Claude Desktop, Cursor) get the four tools but not the skills. The agent has to derive the workflow from tool descriptions alone, which works for one-off reads and writes but tends to skip the bookkeeping (log entries, backlink audits) the skills make explicit.
| Tool | Annotations | Purpose | |
|---|---|---|---|
wiki_read | read-only, idempotent | Read one page. Returns body, parsed frontmatter, outgoing links, etag. | |
wiki_write_page | destructive, idempotent | Atomic create or update with etag CAS. Pass etag=null to create, the read etag to update. | |
wiki_log_append | not idempotent | Append one entry to log.md in Karpathy's `## [YYYY-MM-DD] op \ | Title` format. |
wiki_inventory | read-only, idempotent | Snapshot the whole graph: pages, frontmatter, link edges, log entries, plus an optional plain-text mention scan for backlink audits. |
index.md and raw/ are intentionally not exposed as tools. The index is LLM-curated content edited via the host's Read/Write. The raw layer is immutable from the server's perspective.
wiki-init scaffolds a project that looks like this:
your-project/
├── raw/ Immutable source files (papers, articles, transcripts) │ └── ... └── wiki/ ← --wiki-root points here ├── pages/ Markdown pages, one per topic ├── log.md Append-only session log ├── index.md LLM-curated browse page └── CLAUDE.md Schema doc the LLM reads on every operation
--wiki-root points at the curated wiki/ folder, not the parent project folder containing raw/. Easy to get wrong on first install; the troubleshooting section below covers the error you'll see.
The server enforces mechanics, not content shape:
tmp-file + fsync + rename for pages. O_APPEND single-write for log entries.sha256(body) || mtime_ns). Updates supply the etag they read; a mismatch raises WikiConflictError, and the agent re-reads, merges, and retries.## [YYYY-MM-DD] operation | Title. Operation names are free strings; only characters that would break the line shape are rejected.The server does not validate frontmatter shape, page categories, or link targets. That layer lives in your wiki/CLAUDE.md schema doc and grows with the LLM. Karpathy's gist is deliberately silent on content shape; baking a schema into the server would defeat the point.
If you want to wrap the MCP server with your own storage backend (SQLite, Notion, GDrive, a test fake), implement the WikiStorage Protocol and pass an instance to build_server:
from llm_wiki_mcp import WikiStorage, PageRead, LogEntry
from llm_wiki_mcp.server import build_server
class MyStorage: # satisfies the WikiStorage Protocol async def read_page(self, slug: str) -> PageRead: ... async def write_page(self, slug, body, expected_etag=None) -> str: ... async def list_pages(self) -> list[str]: ... async def append_log(self, entry: LogEntry) -> None: ... async def read_log(self) -> str: ... async def write_raw_file(self, name, data) -> None: ... # usually raises
server = build_server(storage=MyStorage()) server.run()
build_server is the composition root. The CLI main() is a thin caller that constructs LocalFilesystemStorage from --wiki-root and hands it in.
The bundled Claude Code skills ship as package data under llm_wiki_mcp/skills/ and load via importlib.resources if you want to wire them into a non-Claude-Code agent. Typed domain errors (WikiConflictError, WikiNotFoundError, WikiPermissionError, WikiPathError, WikiSchemaViolationError) are importable from the package root for catching at your own boundary.
`llm-wiki-mcp: command not found` after uv tool install. uv puts the binary in ~/.local/bin (or %USERPROFILE%\.local\bin on Windows). Add it to PATH, or use uvx llm-wiki-mcp ... to invoke without a persistent shim.
**wiki_* tools don't appear after editing the client config.** Restart the MCP client. Claude Desktop, Claude Code, and Cursor only re-read mcpServers at startup.
`WikiPathError: path escapes wiki root`. You pointed --wiki-root at the project folder containing raw/ instead of the curated wiki/ folder inside it. /Users/me/wikis/ai-safety/wiki is correct; /Users/me/wikis/ai-safety is not.
Skills not loading in Claude Code. Run claude plugin list. If llm-wiki-skills is missing, rerun the marketplace commands in the Claude Code skills section.
git clone https://github.com/flsteven87/llm-wiki-mcp
cd llm-wiki-mcp uv sync --extra dev uv run pytest uv run ruff check . uv run pyright src/llm_wiki_mcp
MIT. See LICENSE.