
Linear MCP và Notion MCP tutorial: dùng Claude làm trợ lý quản lý task và tài liệu cho team
Học cách cài và dùng Linear MCP server cùng Notion MCP server với Claude để tự động tạo issue, cập nhật task, tra cứu và viết tài liệu, biến Claude th
Team họp sprint xong, action item nằm im trong Notion 3 ngày rồi mới ai đó copy sang Linear. Doc spec viết ở Notion nhưng issue tracking ở Linear, dev phải nhảy qua nhảy lại 5-7 lần mỗi ngày. MCP (Model Context Protocol) là cách Anthropic giải quyết gap này: Claude gọi trực tiếp API của Linear và Notion, không cần copy-paste. Bài này hướng dẫn cài 2 MCP server đó, demo workflow tạo issue Linear từ note Notion, và 3 lưu ý khi đưa vào production.
MCP giải quyết gap nào giữa Claude và team workflow
Trong quy trình làm việc hàng ngày, dev thường gặp phải một vấn đề lớn: AI của chúng ta nằm ở một nơi, còn các tác vụ (task) thì ở Linear và tài liệu (doc) thì ở Notion. Điều này buộc mình phải copy-paste thông tin thủ công giữa các hệ thống, tạo ra một "context gap" đáng kể.
Model Context Protocol (MCP) ra đời để lấp đầy khoảng trống này, kết nối các công cụ AI với những hệ thống chứa dữ liệu thực tế như DMS hay quản lý giao dịch [F1]. Thay vì phải tự làm cầu nối, MCP cho phép AI có cái nhìn đầy đủ về ngữ cảnh.
MCP là một chuẩn mở được Linux Foundation quản lý, với lộ trình phát triển rõ ràng. Chuẩn này đã open-source vào tháng 11/2024, hỗ trợ remote server từ tháng 3/2025, và sẽ có cơ chế authorization vào tháng 6/2025 [F2]. Điều này tạo nền tảng vững chắc để các MCP server như Linear MCP và Notion MCP hoạt động an toàn qua mạng.
Theo David Soria Parra của Anthropic, năm 2026 là thời điểm các agent đi vào sản xuất, có khả năng kết nối với nhiều dịch vụ như Linear và Notion, thực hiện các tác vụ dài và tự động khám phá các công cụ cần thiết [F3]. Đặc biệt, Claude Opus 4.8 (phát hành 28/5/2026) đã bổ sung Dynamic Workflows, cho phép Claude điều phối hàng chục đến hàng trăm subagent song song, rất phù hợp để quản lý task trên Linear và tài liệu trên Notion cùng lúc [F4].
Sự kết hợp giữa Linear MCP và Notion MCP là một combo đáng cài đặt đầu tiên cho team dev, vì nó có thể bao phủ đến 80% quy trình làm việc hàng ngày liên quan đến task và tài liệu. Khác biệt lớn so với việc gọi REST API thuần túy là Claude có thể tự động khám phá các công cụ (tool discovery), thay vì bạn phải hardcode từng endpoint cụ thể.

Cài Linear MCP server với Claude Desktop
Trước khi cài, bạn cần 2 thứ: Linear workspace có quyền admin và Personal API key. Vào Settings → API → Personal API keys trên Linear, tạo key mới và copy ngay vì key chỉ show 1 lần. MCP bản thân giải quyết bài toán Claude không đọc được trực tiếp dữ liệu trong tool của bạn, thay vì để bạn copy-paste output qua chat [F1]. Từ tháng 6/2025, MCP đã chuẩn hóa cơ chế authorization, nên việc gắn token cho Claude Desktop chạy local an toàn hơn giai đoạn đầu [F2].
Tiếp theo, mở file config Claude Desktop. Trên macOS file nằm ở `~/Library/Application Support/Claude/claude_desktop_config.json`, trên Windows tại `%APPDATA%\Claude\claude_desktop_config.json`. Nếu file chưa tồn tại, tự tạo mới. Thêm Linear server vào mục `mcpServers`:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.linear.app/sse"
]
}
}
}Linear cung cấp remote MCP server qua SSE, nên cách phổ biến là dùng `mcp-remote` làm bridge giữa Claude Desktop (chỉ hiểu stdio) và endpoint Linear. Lần đầu chạy, Claude sẽ mở browser cho OAuth flow để bạn grant quyền cho workspace. Nếu muốn pin token cố định, bạn có thể dùng biến môi trường `LINEAR_API_KEY` thay cho OAuth, nhưng OAuth được khuyến nghị vì revoke dễ hơn khi token rò rỉ.
Save file rồi quit hẳn Claude Desktop (Cmd+Q trên macOS, right-click tray icon → Quit trên Windows) và mở lại. Bấm nút X đóng cửa sổ không đủ vì process vẫn chạy nền. Khi mở app lại, kiểm tra icon tool ở thanh input chat — click vào sẽ thấy list tool Linear available, gồm các action quen thuộc như tạo issue, update status, search issue, list project, get team. Test nhanh bằng prompt 'list 5 issue P0 chưa assign trong team Backend' để xác nhận end-to-end work.
2 hạn chế cần biết. Một, Linear API có rate limit theo workspace plan, dùng intensive (ví dụ agent loop list hàng trăm issue/phút) sẽ chạm trần — nên giới hạn ở phía prompt thay vì gọi liên tục. Hai, MCP hiện chạy theo mô hình request-response, chưa stream realtime webhook từ Linear. Nếu workflow cần phản ứng tức thì khi issue đổi status, bạn phải tự code wrapper qua Linear webhook + middleware. Đây nhiều khả năng là giới hạn tạm thời, vì primitive elicitation thêm vào MCP từ 9/2025 đã mở đường cho tương tác hai chiều phức tạp hơn [F2].
Cài Notion MCP server và xử lý phân quyền
Để Claude có thể tương tác với Notion, bạn cần cài đặt Notion MCP server. Bước đầu tiên là tạo một integration mới tại trang my-integrations của Notion. Tại đây, bạn sẽ nhận được một internal integration token cần thiết cho việc cấu hình server.
Một điểm quan trọng cần nhớ là Notion có cơ chế phân quyền chặt chẽ. Integration này không tự động có quyền truy cập toàn bộ workspace của bạn. Thay vào đó, bạn phải chia sẻ từng page hoặc database cụ thể với integration đó. Đây là một tính năng bảo mật, không phải lỗi.
Sau khi có token, bạn sẽ cấu hình Notion MCP server bằng cách cung cấp NOTION_API_KEY. Server này cung cấp nhiều công cụ hữu ích cho Claude, bao gồm `search` để tìm kiếm nội dung, `retrieve_page` để đọc thông tin từ một trang, `create_page` để tạo trang mới, `update_page` để chỉnh sửa và `query_database` để truy vấn cơ sở dữ liệu Notion.
{
"NOTION_API_KEY": "secret_your_notion_token_here"
}Về vấn đề phân quyền, điều cần lưu ý là integration chỉ có thể nhìn thấy những trang đã được chia sẻ trực tiếp với nó. Điều này đảm bảo rằng Claude chỉ có quyền truy cập vào những thông tin bạn cho phép. Theo lộ trình phát triển, cơ chế authorization cho MCP sẽ hỗ trợ OAuth flow chuẩn cho các remote server vào tháng 6 năm 2025 [F2].
Việc này giúp các MCP server như Notion MCP có thể hoạt động an toàn hơn qua mạng, đảm bảo rằng dữ liệu của bạn được bảo vệ trong khi vẫn cho phép Claude trở thành một trợ lý quản lý task và tài liệu hiệu quả [F1,F3].
Workflow thực tế: Claude tạo issue Linear từ thảo luận Notion
Kịch bản phổ biến nhất: team họp sprint planning, ghi note trong Notion, rồi action item nằm im đó vài ngày trước khi ai đó nhớ copy sang Linear. MCP sinh ra để xử lý đúng khoảng trống đó — kết nối Claude với cả hai hệ thống mà không phải copy-paste thủ công [F1]. Tới giờ protocol cũng đủ chín cho workflow production: hỗ trợ remote server từ tháng 3/2025 và cơ chế authorization từ tháng 6/2025 [F2]. Khi bật cả Linear MCP lẫn Notion MCP trong Claude Desktop, bạn có thể yêu cầu Claude đọc page Notion, extract task, rồi tạo issue trên Linear chỉ bằng một câu prompt.
Prompt mình hay dùng nhất cho workflow này khá thẳng và mô tả rõ schema mong muốn:
Đọc page "Sprint Planning W24" trong Notion workspace của team.
Với mỗi action item ghi trong page:
- Tạo 1 issue tương ứng trong Linear team Engineering
- Assign theo owner ghi cạnh action item
- Set label theo header section (Backend / Frontend / Infra)
- Trỏ description về anchor link của heading trong Notion
Sau khi xong, list lại danh sách issue đã tạo kèm URL.Đây là chỗ Claude Opus 4.8 phát huy thế mạnh. Model này có Dynamic Workflows cho phép điều phối hàng chục đến hàng trăm subagent song song [F4]. Một subagent đọc page Notion để extract task, một subagent khác gọi Linear API tạo issue, không phải xếp hàng tuần tự từng tool call. Với một meeting note tầm 10-15 action item, mình thấy workflow chạy gọn trong khoảng dưới một phút thay vì lần lượt từng item — phần nhiều nhờ việc tách read và write thành hai luồng riêng.
Workflow ngược cũng đáng cài: mỗi khi một issue Linear chuyển sang status Done, Claude tự append entry vào changelog page Notion kèm link tới PR. Về cost, một lần chạy đầy đủ tốn cỡ 3k input token (đọc page + schema Linear) cộng 1k output token (gọi tool + summary), ra khoảng $0.04 với mức $5 / triệu input và $25 / triệu output của Opus 4.8 [F5]. Một sprint 2 tuần chạy 30 lần automation chưa tới $1.5 — rẻ hơn nhiều so với thời gian PM gõ tay từng issue.
Một điểm quan trọng khi để Claude tự ghi vào hệ thống của team: Opus 4.8 cải thiện độ trung thực gấp 4 lần so với version trước [F5]. Trong thực tế, khi model không chắc owner của task hoặc label phù hợp, nó có xu hướng hỏi lại hoặc để trống thay vì đoán bừa. Bạn vẫn nên review issue được tạo trong vài lần chạy đầu để chỉnh prompt cho khớp convention team, nhưng tỷ lệ phải sửa tay sẽ giảm rõ sau khi prompt đã ổn.

Lưu ý khi production: rate limit, security, độ tin cậy
Khi đưa các MCP server như Linear hay Notion vào môi trường production, mình cần đặc biệt chú ý đến ba yếu tố chính: rate limit, bảo mật và độ tin cậy của AI. Đây là những điểm mấu chốt để đảm bảo hệ thống hoạt động ổn định và an toàn.
Rate Limit
Các API của Linear và Notion đều có giới hạn số lượng request trong một khoảng thời gian nhất định. Ví dụ, Linear giới hạn 1500 request mỗi giờ, trong khi Notion chỉ cho phép 3 request mỗi giây. Khi Claude cần xử lý hàng loạt issue hoặc tài liệu, việc này rất dễ chạm ngưỡng, dẫn đến lỗi hoặc gián đoạn dịch vụ. Mình nên thiết kế cơ chế retry với exponential backoff hoặc batching request hợp lý để tránh bị chặn.
Bảo mật API Key
API key thường có toàn quyền truy cập vào dữ liệu. Để đảm bảo an toàn, mình không nên tái sử dụng API key cá nhân. Thay vào đó, hãy tạo một integration riêng biệt cho mỗi MCP server với quyền hạn tối thiểu cần thiết. Đối với Notion, mình nên giới hạn phạm vi truy cập của integration chỉ vào các folder hoặc database cụ thể, thay vì cấp quyền cho toàn bộ workspace. Điều này giúp giảm thiểu rủi ro nếu API key bị lộ.
Độ tin cậy của AI và xác nhận hành động
Claude Opus 4.8 (phát hành 28/5/2026) đã cải thiện độ trung thực (honesty) gấp 4 lần so với các phiên bản trước [F5]. Điều này rất quan trọng khi mình để Claude tự động cập nhật các trường trong Linear issue hoặc nội dung trên trang Notion, vì khả năng AI bịa đặt thông tin đã giảm đáng kể [F5]. Tuy nhiên, mình vẫn nên bật tính năng xác nhận (confirmation prompt) cho các hành động ghi (create/update) trước khi cho phép Claude hoạt động hoàn toàn tự động (autonomous mode).
Để dễ dàng kiểm tra và khắc phục sự cố, mình nên triển khai hệ thống logging chi tiết. Hệ thống này sẽ ghi lại mọi lời gọi tool (tool call) mà Claude thực hiện, giúp mình dễ dàng audit và tìm ra nguyên nhân khi Claude đưa ra hành động không mong muốn hoặc làm sai.
Kết hợp với MCP server khác và bước tiếp theo
Một điểm mạnh của Model Context Protocol (MCP) là khả năng kết hợp nhiều server khác nhau. Điều này có nghĩa là một agent AI có thể đồng thời sử dụng Linear MCP, Notion MCP và GitHub MCP để quản lý task, tài liệu và mã nguồn một cách liền mạch. Claude Opus 4.8, phát hành ngày 28/5/2026, đã bổ sung tính năng Dynamic Workflows, cho phép Claude điều phối hàng chục đến hàng trăm subagent song song, rất phù hợp với kịch bản này [F4].
Anthropic thiết kế MCP để lấp đầy khoảng cách ngữ cảnh (context gap) giữa AI và các hệ thống dữ liệu thực tế, giúp AI có được cái nhìn toàn diện mà không cần người dùng copy-paste thủ công [F1]. Mình có thể mở rộng ý tưởng này bằng cách thêm một Slack MCP. Khi đó, Claude có thể tự động đăng các cập nhật về tiến độ sprint vào kênh Slack của team sau khi đã cập nhật Linear.
Hệ sinh thái MCP đang phát triển với hàng nghìn server cộng đồng. Bạn có thể tìm kiếm các server này tại modelcontextprotocol.io/servers. Tuy nhiên, hãy cẩn trọng khi chọn server: nên ưu tiên những server có maintainer rõ ràng để tránh rủi ro về bảo mật, vì các server này có quyền truy cập vào dữ liệu nhạy cảm của bạn.
Theo David Soria Parra của Anthropic, 2026 là năm các agent AI sẽ đi vào sản xuất, có khả năng kết hợp nhiều kỹ năng, gọi MCP và CLI, kết nối với nhiều dịch vụ và thực hiện các tác vụ dài [F3]. Bước tiếp theo mình gợi ý là tự viết một MCP server custom cho các API nội bộ của team. Điều này sẽ được hướng dẫn chi tiết trong một bài viết khác.
Tổng kết: Linear MCP và Notion MCP cover gần hết workflow task management hằng ngày của team dev. Sau khi cài xong 2 server này, bạn có thể xem thêm bài về cách viết MCP server custom để expose API nội bộ cho Claude — đó là bước tiếp theo logic nếu team có tool riêng.