Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read-first Linkwarden bookmarks MCP with opt-in write, delete, and collection tools.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
LINKWARDEN_API_URL, LINKWARDEN_API_KEY, LINKWARDEN_MCP_WRITE_SCOPES, LINKWARDEN_MCP_DELETE_SCOPESค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"linkwarden": {
"command": "uvx",
"args": [
"linkwarden-mcp"
],
"env": {
"LINKWARDEN_API_URL": "ใส่ค่าของคุณ",
"LINKWARDEN_API_KEY": "ใส่ค่าของคุณ",
"LINKWARDEN_MCP_WRITE_SCOPES": "ใส่ค่าของคุณ",
"LINKWARDEN_MCP_DELETE_SCOPES": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add linkwarden --env LINKWARDEN_API_URL='ใส่ค่าของคุณ' --env LINKWARDEN_API_KEY='ใส่ค่าของคุณ' --env LINKWARDEN_MCP_WRITE_SCOPES='ใส่ค่าของคุณ' --env LINKWARDEN_MCP_DELETE_SCOPES='ใส่ค่าของคุณ' -- uvx linkwarden-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"linkwarden": {
"command": "uvx",
"args": [
"linkwarden-mcp"
],
"env": {
"LINKWARDEN_API_URL": "ใส่ค่าของคุณ",
"LINKWARDEN_API_KEY": "ใส่ค่าของคุณ",
"LINKWARDEN_MCP_WRITE_SCOPES": "ใส่ค่าของคุณ",
"LINKWARDEN_MCP_DELETE_SCOPES": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"linkwarden": {
"type": "stdio",
"command": "uvx",
"args": [
"linkwarden-mcp"
],
"env": {
"LINKWARDEN_API_URL": "ใส่ค่าของคุณ",
"LINKWARDEN_API_KEY": "ใส่ค่าของคุณ",
"LINKWARDEN_MCP_WRITE_SCOPES": "ใส่ค่าของคุณ",
"LINKWARDEN_MCP_DELETE_SCOPES": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
LINKWARDEN_MCP_WRITE_SCOPES envLINKWARDEN_MCP_DELETE_SCOPES envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub flumpiey ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: LINKWARDEN_API_URL, LINKWARDEN_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.6) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Thalovant MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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.
Connect MCP clients to Thalovant control-plane and hub runtime APIs over stdio or Streamable HTTP.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
MCP server for self-hosted [Linkwarden](https://linkwarden.app/): ask your AI about bookmarks, collections, and tags.
Linkwarden is a self-hosted, open-source bookmark manager. You collect, organize, annotate, and preserve webpages in one place, with full-page archives so content stays readable after the original page disappears. It also supports collaboration and public sharing.
This project wires the Linkwarden HTTP API into the Model Context Protocol so Cursor, Claude, VS Code Copilot, and other MCP hosts can query your live library in natural language.
Useful Linkwarden links:
Default is read-only. You get:
list_resources), six core reads (search, get, preserved content, collections, tags, overview), and eleven triage/hygiene workflowssave_link, smart_save_link, organise_links, create_collection, apply_triage_plan (register when matching write scopes are set)delete_links, delete_tags, merge_tags, delete_collection (register only under delete scopes; never implied by write)GET /api/v1/users/me), migration, and whole-instance preservation stay blocked even when writes are onTransport is stdio. No HTTP server. No global install required if you use uv / uvx.
Four surfaces (keep them in sync when the mark changes):
serverInfo.icons from server_icons() — embedded data URI from src/linkwarden_mcp/assets/icon.png, plus HTTPS fallback docs/icon-512.png (https://raw.githubusercontent.com/flumpiey/linkwarden-mcp/main/docs/icon-512.png). website_url is https://linkwarden.app/..cursor-plugin/plugin.json logo → docs/linkwarden-icon.svg.mcpb/icon.png (packed with npx @anthropic-ai/mcpb pack mcpb).serverInfo.icons and uses the root-domain favicon of the connector URL. If you host a remote MCP later, serve docs/favicon.ico at the registrable domain root (e.g. https://acme.com/favicon.ico for https://mcp.acme.com/...).server.json registry metadata also points its icons[0].src at the same raw docs/icon-512.png URL.
uvx)uvx)LINKWARDEN_API_URL + LINKWARDEN_API_KEY/settings/access-tokens).LINKWARDEN_API_KEY.LINKWARDEN_API_URL to your instance base URL (usually without /api/v1; include /api/v1 only if your deployment requires it), e.g. https://links.example.com or local Docker http://127.0.0.1:3000.linkwarden-mcp sends the token as Authorization: Bearer …. API overview: API Introduction.
Copy .env.example to .env for local runs — never commit `.env`. Prefer the Cursor plugin Configure UI for credentials, or a secret manager in production.
Run the PyPI package with uvx:
uvx linkwarden-mcp
Paste a client config below, set LINKWARDEN_API_URL / LINKWARDEN_API_KEY, restart the host, then ask: *“Find my unread bookmarks about Python”* or *“What's in my Dev collection?”*
From a git clone (dev): uvx --from git+https://github.com/flumpiey/linkwarden-mcp linkwarden-mcp or uv run --directory /path/to/linkwarden-mcp linkwarden-mcp.
Configs below pull linkwarden-mcp from PyPI. Leave write-scope env vars unset for read-only.
Cursor
Plugin (Configure UI for URL, key, and scopes): this repo is a Cursor plugin via .cursor-plugin/plugin.json + root mcp.json.
~/.cursor/plugins/local/linkwarden-mcp (Windows: %USERPROFILE%\.cursor\plugins\local\linkwarden-mcp).ln -s /path/to/linkwarden-mcp ~/.cursor/plugins/local/linkwarden-mcpbat mklink /J "%USERPROFILE%\.cursor\plugins\local\linkwarden-mcp" "E:\Development\linkwarden-mcp" or: bat robocopy "E:\Development\linkwarden-mcp" "%USERPROFILE%\.cursor\plugins\local\linkwarden-mcp" /E linkwarden-mcp. Set Linkwarden API URL and Linkwarden API key. Leave Write scopes / Delete scopes empty for read-only, or paste a CSV such as links,collections.linkwarden MCP server is enabled under Customize / MCP.Marketplace listing is a separate submit at cursor.com/marketplace/publish.
Manual `mcp.json`: project .cursor/mcp.json or user-wide ~/.cursor/mcp.json. Root mcp.json is plugin wiring with ${…} placeholders only — never commit real secrets there.
From PyPI:
{
"mcpServers": { "linkwarden": { "type": "stdio", "command": "uvx", "args": ["linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
Local editable (dev):
{
"mcpServers": { "linkwarden": { "type": "stdio", "command": "uv", "args": ["run", "--directory", "/path/to/linkwarden-mcp", "linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
Optional scoped writes in the env block:
"LINKWARDEN_MCP_WRITE_SCOPES": "links,collections",
"LINKWARDEN_MCP_DELETE_SCOPES": "links"
Restart Cursor after saving. Confirm linkwarden under MCP settings.
Claude Desktop
Desktop Extension (`.mcpb`): download mcpb.mcpb from GitHub Releases. Use v0.1.5+ (needs uv on PATH). Launch is uv tool run --python 3.12 linkwarden-mcp. Do not put the PyPI package in mcpb/pyproject.toml dependencies — Claude Desktop syncs that file at install and can fail on system Python 3.13.
mcpb.mcpb. Review permissions, enter Linkwarden API URL and Linkwarden API key, then click Install.Build your own bundle from a clone:
npx @anthropic-ai/mcpb pack mcpb
On Windows, double-click often does nothing and dragging the file into chat attaches it to the conversation instead of installing it. Use Install Extension… in Settings.
Manual `claude_desktop_config.json` fallback: edit the Claude Desktop config, then restart the app.
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
{
"mcpServers": { "linkwarden": { "command": "uvx", "args": ["linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
Local clone:
{
"mcpServers": { "linkwarden": { "command": "uv", "args": ["run", "--directory", "/path/to/linkwarden-mcp", "linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
Claude Code
Add via CLI:
claude mcp add linkwarden --env LINKWARDEN_API_URL=https://links.example.com --env LINKWARDEN_API_KEY=your-token -- uvx linkwarden-mcp
Or edit ~/.claude.json / project MCP config:
{
"mcpServers": { "linkwarden": { "command": "uvx", "args": ["linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
VS Code / GitHub Copilot
Create .vscode/mcp.json in the project root:
{
"servers": { "linkwarden": { "type": "stdio", "command": "uvx", "args": ["linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
Local editable:
{
"servers": { "linkwarden": { "type": "stdio", "command": "uv", "args": ["run", "--directory", "/path/to/linkwarden-mcp", "linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
Reload the window. Open Copilot Chat and confirm the linkwarden tools are available.
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json (macOS/Linux) or the Windsurf MCP settings UI:
{
"mcpServers": { "linkwarden": { "command": "uvx", "args": ["linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
Restart Windsurf after saving.
Zed
Add under context_servers in Zed settings.json (Agent Panel → settings also works):
{
"context_servers": { "linkwarden": { "command": "uvx", "args": ["linkwarden-mcp"], "env": { "LINKWARDEN_API_URL": "https://links.example.com", "LINKWARDEN_API_KEY": "your-token" } } } }
Cline </sum
ตัดมาแค่ช่วงต้น อ่านต่อใน repo