ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

craaft

โดย craaftรุ่น 1.0.2i★ –iรันบนคลาวด์
ชื่อใน registryio.craaft/mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Read and update your craaft kanban boards: add and move cards, comment, and tick off checklists.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://ai.craaft.io/mcp

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http craaft https://ai.craaft.io/mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "craaft": {
      "url": "https://ai.craaft.io/mcp"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "craaft": {
      "type": "http",
      "url": "https://ai.craaft.io/mcp"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://ai.craaft.io/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันโดเมน craaft.io แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    endpoint ตอบ

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

  • … ยังไม่ตรวจ

    ล็อกอินแบบ OAuth

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32484 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 60% ของอีก 32484 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32484 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

craaft ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.2) เข้า registry 26 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Recta

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

Recta

โดย RectaBuild

Cheaper cross-chain stablecoin routes for AI agents; 5 % of the verified saving, nothing if none.

บนเครื่องหรือคลาวด์อัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Craaft MCP Server

Model Context Protocol server for Craaft - lets AI assistants read and write your Kanban boards.

Deployed as an HTTP service. Each request authenticates via the caller's Authorization: Bearer header - either a cra_* personal access token (same ones used by the Craaft REST API) or a cro_* OAuth access token minted by signing in through the connector flow below.

Two-factor sign-in on a craaft account doesn't affect either kind of token. Account security settings (password, two-factor, API keys) are browser-only on the platform, so no tool changes them.

Deploy

cd mcp

gcloud run deploy craaft-mcp \ --source . \ --region us-central1 \ --allow-unauthenticated \ --set-env-vars CRAAFT_BASE_URL=https://craaft.io,MCP_PUBLIC_URL=https://ai.craaft.io/mcp

The PORT env var is set automatically by Cloud Run.

Connect from Claude (OAuth)

With MCP_PUBLIC_URL set, the server is an OAuth 2.1 protected resource: no token needs to be copied by hand.

craaft is in the Claude directory: connect it from there and skip to step 3. Or add it as a custom connector:

  1. In Claude Desktop or claude.ai, go to Settings > Connectors > Add custom connector.
  2. Paste https://ai.craaft.io/mcp.
  3. Sign in to craaft, choose Read and write or Read only, and approve the connection.

With read-only access, tools that only read (list_projects, get_board, search_cards and the like) work, and every tool that changes something fails with this token is read-only; this request needs a token with read and write access. The same goes for a cra_ key created as read only.

You can also connect it to Chosen boards only. Tools then see just those boards: other boards are not found, and list_projects and search_cards leave them out. create_project, import_board, list_members, list_invitations and the other member tools fail with this token is limited to some boards; this request needs a token for all boards. To change an app's access or boards, connect it again and choose again.

To revoke access later, go to Craaft Settings > Connected apps.

Configure (Claude Desktop, cra_ token)

  1. Sign in to Craaft → Settings → API keys → create a token
  2. Add to ~/.config/claude/claude_desktop_config.json:
{

"mcpServers": { "craaft": { "url": "https://craaft-mcp-xxxxx.a.run.app/mcp", "headers": { "Authorization": "Bearer cra_your_token_here" } } } }

MCP registry

craaft is listed in the official MCP registry as io.craaft/mcp, described by server.json. craaft.io proves it owns the io.craaft namespace by serving a public key at https://craaft.io/.well-known/mcp-registry-auth (platform repo, internal/server/mcpregistry.go). The matching private key is not in this repo.

To publish a change, raise version in server.json (a published version can't be changed or republished), then:

PRIVATE_KEY="$(openssl pkey -in ~/.config/craaft/mcp-registry-key.pem -noout -text | grep -A3 'priv:' | tail -n +2 | tr -d ' :\n')"

mcp-publisher login http --domain craaft.io --private-key "$PRIVATE_KEY" mcp-publisher publish

Install mcp-publisher from the registry's releases.

Tools

ToolDescription
list_projectsList all accessible Kanban projects
get_boardGet a board's brief, columns and cards (descriptions omitted)
get_cardGet a single card by ID, including description
get_card_detailCard plus comments, events, checklist and attachments in one call
get_card_promptCard as a Markdown brief for an AI tool, the same text as Copy as prompt
search_cardsCross-project card search (description is a ≤180-char snippet)
create_cardCreate a card at the bottom of a column, with optional metadata (assigned to you unless you name someone)
update_cardUpdate a card's title, description, column, position, priority, assignee, tags, etc.
move_cardMove a card to another column or board
delete_cardPermanently delete a card
add_commentAdd a comment to a card (supports @mentions)
get_commentsList comments on a card
get_focusGet focus overview: due cards, attention cards, hygiene counters
list_notificationsYour notification inbox, newest first, plus the unseen count. Pass kind: mention to list where you were mentioned, with project, card and comment ids
mark_notifications_readMark notifications read by id, by card, or all of them
get_meGet the authenticated user's profile
bulk_create_cardsCreate up to 100 cards in one transaction
bulk_update_cardsApply up to 100 partial card updates in one transaction
bulk_move_cardsSweep up to 100 cards into a column, optionally on another board
rebalance_cardsReorder a whole column in one transaction (positions 1, 2, 3, ...)
get_checklistList a card's checklist items
add_checklist_itemAppend an item to a card's checklist
update_checklist_itemTick, untick or retitle a checklist item
delete_checklist_itemDelete a checklist item
get_card_activityA card's activity log: column and board moves, priority and assignee changes
get_board_activityA board's activity feed, newest first: cards added, moved, archived, deleted, comments, column changes
get_hygieneThe cards behind a get_focus hygiene counter (ghosts, stuck, mine_no_date)
list_attachmentsList the files attached to a card
list_board_filesSearch every file on a board's cards, with the card each is on
download_attachmentFetch an attachment's bytes (text inline, binary base64)
upload_attachmentAttach a file to a card from inline content
delete_attachmentDelete an attachment and its stored bytes
get_projectOne project with columns, counts, brief and your role
create_projectCreate a board, optionally from a template (starts with To Do / In Progress / Done otherwise)
update_projectRename, edit the brief, favourite, change visibility, colour scheme, background, text colour or top-bar buttons
delete_projectDelete a board and everything in it
export_projectExport a board as JSON or CSV
preview_importDry run of an import: what board a Trello, Jira, Asana, CSV or craaft export would create
import_boardCreate a new board from a Trello, Jira, Asana, CSV or craaft export
list_board_templatesThe fixed catalogue of board templates (kanban, sprint, bug tracker, ...)
add_columnAdd a column to a board
update_columnRename, recolour, reorder, or set a WIP limit
delete_columnDelete an empty column
archive_columnArchive every card in a done column, returns the archived ids
archive_cardArchive one card without deleting it
restore_cardRestore an archived card to its original column and position
list_archived_cardsA board's archived cards, newest first
list_webhooksA board's outbound webhook subscriptions plus the event catalogue
create_webhookRegister an outbound webhook (craaft signed / Slack / Discord)
update_webhookPause/resume a webhook, or change its URL, format or event filter
delete_webhookDelete a webhook subscription
get_inbound_emailA board's email-to-card intake address, if configured, its allowed senders, senders turned away in the last 7 days and the month's AI card usage
enable_inbound_emailTurn on email-to-card and mint the intake address
update_inbound_emailChange active state, target column, AI settings and instructions, or rotate the token
disable_inbound_emailTurn off email-to-card for a board
add_inbound_senderLet an address, or a whole @domain, email cards to a board
remove_inbound_senderRemove an allowed sender
list_membersWorkspace members, roles and board access
update_member_roleChange a member's workspace role
remove_memberRemove someone from the workspace

The three bulk_* tools are all-or-nothing: one bad item rolls the whole batch back and the error names the offending index, so a failed call never leaves a partially applied board. They send no notification emails (activity events and realtime updates still fire), and each call spends one rate-limit token against a 60-burst budget - which is why they should be preferred over looping the single-card tools.

Endpoints

PathPurpose
POST /mcpMCP Streamable HTTP endpoint
GET /healthHealth check (returns {"status":"ok"}). /healthz answers the same locally, but Cloud Run keeps that path for itself
GET /.well-known/oauth-protected-resource, GET /.well-known/oauth-protected-resource/mcpRFC 9728 protected-resource metadata (only served when MCP_PUBLIC_URL is set)

Env vars

VarDefaultDescription
PORT8080Listen port (Cloud Run sets this automatically)
CRAAFT_BASE_URLhttps://craaft.ioUpstream Craaft API URL
MCP_PUBLIC_URLunset (OAuth metadata off)This server's own public /mcp URL, e.g. https://ai.craaft.io/mcp. When set, serves RFC 9728 protected-resource metadata and 401-challenges missing/invalid tokens to start the OAuth flow. Accepts both cra_ personal access tokens and cro_ OAuth access tokens either way. Must equal the platform's MCP_RESOURCE_URL (both sides lowercase the scheme and host and trim a trailing slash before comparing).
Attachments

This server runs remotely, so it cannot read the caller's filesystem: upload_attachment takes the contents inline (content_text for text, content_base64 for binary), not a path.

download_attachment returns text-ish content types as readable text and everything else base64-encoded. Attachments can be up to 25 MiB, which no conversation wants inline, so it refuses anything over max_bytes (default 256 KiB) and reports the real size instead. Text is truncated rather than refused, since truncated text is still readable; truncated base64 is not, so binary over the limit is skipped entirely.

Attachments are a paid feature. On a Free workspace the upload returns 402 and the error names the current plan. Check canUploadAttachments on the project first - it reflects the board's workspace plan, not the caller's.

Import

preview_import and import_board take the same arguments: filename, the file inline (content_text or content_base64), and optionally source (trello, jira, asana, csv or craaft; detected when l

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx