[{"data":1,"prerenderedAt":589},["ShallowReactive",2],{"article-\u002Fclaude-code\u002Fmcp-json":3},{"id":4,"title":5,"body":6,"category":570,"description":571,"draft":572,"extension":573,"level":574,"meta":575,"minutes":70,"navigation":576,"outcomes":577,"path":578,"pinned":572,"premium":572,"prereq":579,"quiz":580,"repo":570,"seo":581,"stem":582,"tags":583,"updatedAt":587,"video":570,"__hash__":588},"articles\u002Fclaude-code\u002Fmcp-json.md","File .mcp.json",{"type":7,"value":8,"toc":564},"minimark",[9,27,32,206,264,268,312,334,338,349,371,375,541,548,560],[10,11,12,16,17,21,22],"p",{},[13,14,15],"code",{},".mcp.json"," ở gốc dự án khai báo các MCP server ",[18,19,20],"strong",{},"phạm vi project"," — commit vào git để cả nhóm có cùng công cụ. Nhắc lại các phạm vi ở bài ",[23,24,26],"a",{"href":25},"\u002Fkhoa-hoc\u002Fket-noi-cong-cu\u002Fcai-mcp-dau-tien","Cài MCP đầu tiên",[28,29,31],"h2",{"id":30},"định-dạng","Định dạng",[33,34,39],"pre",{"className":35,"code":36,"language":37,"meta":38,"style":38},"language-json shiki shiki-themes github-dark-dimmed","{\n  \"mcpServers\": {\n    \"so-viec-nha\": {\n      \"command\": \"node\",\n      \"args\": [\"${CLAUDE_PROJECT_DIR}\u002Fmcp\u002Fserver.js\"],\n      \"env\": {\n        \"DB_URL\": \"${DB_URL:-mongodb:\u002F\u002Flocalhost\u002Fso-viec-nha}\"\n      }\n    },\n    \"tai-lieu\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.example.com\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer ${TAI_LIEU_API_KEY}\"\n      }\n    }\n  }\n}\n","json","",[13,40,41,50,60,68,84,99,107,118,124,130,138,151,164,172,183,188,194,200],{"__ignoreMap":38},[42,43,46],"span",{"class":44,"line":45},"line",1,[42,47,49],{"class":48},"s1ain","{\n",[42,51,53,57],{"class":44,"line":52},2,[42,54,56],{"class":55},"sT8CT","  \"mcpServers\"",[42,58,59],{"class":48},": {\n",[42,61,63,66],{"class":44,"line":62},3,[42,64,65],{"class":55},"    \"so-viec-nha\"",[42,67,59],{"class":48},[42,69,71,74,77,81],{"class":44,"line":70},4,[42,72,73],{"class":55},"      \"command\"",[42,75,76],{"class":48},": ",[42,78,80],{"class":79},"sP_-H","\"node\"",[42,82,83],{"class":48},",\n",[42,85,87,90,93,96],{"class":44,"line":86},5,[42,88,89],{"class":55},"      \"args\"",[42,91,92],{"class":48},": [",[42,94,95],{"class":79},"\"${CLAUDE_PROJECT_DIR}\u002Fmcp\u002Fserver.js\"",[42,97,98],{"class":48},"],\n",[42,100,102,105],{"class":44,"line":101},6,[42,103,104],{"class":55},"      \"env\"",[42,106,59],{"class":48},[42,108,110,113,115],{"class":44,"line":109},7,[42,111,112],{"class":55},"        \"DB_URL\"",[42,114,76],{"class":48},[42,116,117],{"class":79},"\"${DB_URL:-mongodb:\u002F\u002Flocalhost\u002Fso-viec-nha}\"\n",[42,119,121],{"class":44,"line":120},8,[42,122,123],{"class":48},"      }\n",[42,125,127],{"class":44,"line":126},9,[42,128,129],{"class":48},"    },\n",[42,131,133,136],{"class":44,"line":132},10,[42,134,135],{"class":55},"    \"tai-lieu\"",[42,137,59],{"class":48},[42,139,141,144,146,149],{"class":44,"line":140},11,[42,142,143],{"class":55},"      \"type\"",[42,145,76],{"class":48},[42,147,148],{"class":79},"\"http\"",[42,150,83],{"class":48},[42,152,154,157,159,162],{"class":44,"line":153},12,[42,155,156],{"class":55},"      \"url\"",[42,158,76],{"class":48},[42,160,161],{"class":79},"\"https:\u002F\u002Fmcp.example.com\u002Fmcp\"",[42,163,83],{"class":48},[42,165,167,170],{"class":44,"line":166},13,[42,168,169],{"class":55},"      \"headers\"",[42,171,59],{"class":48},[42,173,175,178,180],{"class":44,"line":174},14,[42,176,177],{"class":55},"        \"Authorization\"",[42,179,76],{"class":48},[42,181,182],{"class":79},"\"Bearer ${TAI_LIEU_API_KEY}\"\n",[42,184,186],{"class":44,"line":185},15,[42,187,123],{"class":48},[42,189,191],{"class":44,"line":190},16,[42,192,193],{"class":48},"    }\n",[42,195,197],{"class":44,"line":196},17,[42,198,199],{"class":48},"  }\n",[42,201,203],{"class":44,"line":202},18,[42,204,205],{"class":48},"}\n",[207,208,209,222],"table",{},[210,211,212],"thead",{},[213,214,215,219],"tr",{},[216,217,218],"th",{},"Loại",[216,220,221],{},"Trường",[223,224,225,243],"tbody",{},[213,226,227,231],{},[228,229,230],"td",{},"Chạy trên máy (stdio)",[228,232,233,236,237,236,240],{},[13,234,235],{},"command",", ",[13,238,239],{},"args",[13,241,242],{},"env",[213,244,245,248],{},[228,246,247],{},"Từ xa",[228,249,250,253,254,257,258,236,261],{},[13,251,252],{},"type"," (",[13,255,256],{},"http","…), ",[13,259,260],{},"url",[13,262,263],{},"headers",[28,265,267],{"id":266},"biến-môi-trường-không-bao-giờ-ghi-khoá-thật","Biến môi trường — không bao giờ ghi khoá thật",[207,269,270,280],{},[210,271,272],{},[213,273,274,277],{},[216,275,276],{},"Cú pháp",[216,278,279],{},"Nghĩa",[223,281,282,292,302],{},[213,283,284,289],{},[228,285,286],{},[13,287,288],{},"${TEN_BIEN}",[228,290,291],{},"Lấy từ biến môi trường",[213,293,294,299],{},[228,295,296],{},[13,297,298],{},"${TEN_BIEN:-mac-dinh}",[228,300,301],{},"Lấy từ biến môi trường, không có thì dùng giá trị mặc định",[213,303,304,309],{},[228,305,306],{},[13,307,308],{},"${CLAUDE_PROJECT_DIR}",[228,310,311],{},"Thư mục gốc dự án",[10,313,314,315,236,317,236,319,236,321,236,323,325,326,329,330],{},"Dùng được trong ",[13,316,235],{},[13,318,239],{},[13,320,242],{},[13,322,260],{},[13,324,263],{},". Mỗi người tự đặt biến trên máy mình; file commit chỉ chứa ",[18,327,328],{},"tên biến",". Xem ",[23,331,333],{"href":332},"\u002Fkhoa-hoc\u002Fan-toan\u002Fgiu-bi-mat","Giữ bí mật",[28,335,337],{"id":336},"duyệt-server-của-dự-án","Duyệt server của dự án",[10,339,340,341,343,344,348],{},"Khi mở dự án có ",[13,342,15],{}," lần đầu, Claude Code hỏi bạn có tin thư mục này và có dùng các server trong đó không. Đây là lớp bảo vệ: một repo lạ không tự bật được công cụ trên máy bạn. Đọc file trước khi đồng ý (",[23,345,347],{"href":346},"\u002Fkhoa-hoc\u002Fket-noi-cong-cu\u002Fdung-cong-cu-ben-thu-ba-an-toan","Dùng công cụ bên thứ ba an toàn",")",[350,351,352],"canh-bao",{},[10,353,354,355,358,359,361,362,365,366,368,369],{},"Khi chạy không tương tác (",[13,356,357],{},"claude -p","), server trong ",[13,360,15],{}," được nạp ",[18,363,364],{},"mà không hỏi",". Đừng chạy ",[13,367,357],{}," trong repo bạn chưa đọc ",[13,370,15],{},[28,372,374],{"id":373},"lệnh","Lệnh",[33,376,380],{"className":377,"code":378,"language":379,"meta":38,"style":38},"language-bash shiki shiki-themes github-dark-dimmed","claude mcp add --scope project --transport http \u003Cten> \u003Curl>\nclaude mcp add --scope project \u003Cten> -- \u003Clenh> \u003Ctham-so...>\nclaude mcp list                  # trạng thái các server\nclaude mcp get \u003Cten>             # chi tiết một server\nclaude mcp remove \u003Cten> --scope project\nclaude mcp reset-project-choices # hỏi lại việc duyệt server của dự án\n","bash",[13,381,382,431,474,487,507,529],{"__ignoreMap":38},[42,383,384,388,391,394,398,401,404,407,411,414,417,420,422,425,428],{"class":44,"line":45},[42,385,387],{"class":386},"s7B5-","claude",[42,389,390],{"class":79}," mcp",[42,392,393],{"class":79}," add",[42,395,397],{"class":396},"sDGpf"," --scope",[42,399,400],{"class":79}," project",[42,402,403],{"class":396}," --transport",[42,405,406],{"class":79}," http",[42,408,410],{"class":409},"scLw-"," \u003C",[42,412,413],{"class":79},"te",[42,415,416],{"class":48},"n",[42,418,419],{"class":409},">",[42,421,410],{"class":409},[42,423,424],{"class":79},"ur",[42,426,427],{"class":48},"l",[42,429,430],{"class":409},">\n",[42,432,433,435,437,439,441,443,445,447,449,451,454,456,459,462,464,466,469,472],{"class":44,"line":52},[42,434,387],{"class":386},[42,436,390],{"class":79},[42,438,393],{"class":79},[42,440,397],{"class":396},[42,442,400],{"class":79},[42,444,410],{"class":409},[42,446,413],{"class":79},[42,448,416],{"class":48},[42,450,419],{"class":409},[42,452,453],{"class":396}," --",[42,455,410],{"class":409},[42,457,458],{"class":79},"len",[42,460,461],{"class":48},"h",[42,463,419],{"class":409},[42,465,410],{"class":409},[42,467,468],{"class":79},"tham-so..",[42,470,471],{"class":48},".",[42,473,430],{"class":409},[42,475,476,478,480,483],{"class":44,"line":62},[42,477,387],{"class":386},[42,479,390],{"class":79},[42,481,482],{"class":79}," list",[42,484,486],{"class":485},"sVrTk","                  # trạng thái các server\n",[42,488,489,491,493,496,498,500,502,504],{"class":44,"line":70},[42,490,387],{"class":386},[42,492,390],{"class":79},[42,494,495],{"class":79}," get",[42,497,410],{"class":409},[42,499,413],{"class":79},[42,501,416],{"class":48},[42,503,419],{"class":409},[42,505,506],{"class":485},"             # chi tiết một server\n",[42,508,509,511,513,516,518,520,522,524,526],{"class":44,"line":86},[42,510,387],{"class":386},[42,512,390],{"class":79},[42,514,515],{"class":79}," remove",[42,517,410],{"class":409},[42,519,413],{"class":79},[42,521,416],{"class":48},[42,523,419],{"class":409},[42,525,397],{"class":396},[42,527,528],{"class":79}," project\n",[42,530,531,533,535,538],{"class":44,"line":101},[42,532,387],{"class":386},[42,534,390],{"class":79},[42,536,537],{"class":79}," reset-project-choices",[42,539,540],{"class":485}," # hỏi lại việc duyệt server của dự án\n",[10,542,543,544,547],{},"Trong phiên: ",[13,545,546],{},"\u002Fmcp"," để xem, bật\u002Ftắt, đăng nhập",[350,549,550],{},[10,551,552,553,559],{},"Đối chiếu ",[23,554,558],{"href":555,"rel":556},"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fmcp",[557],"nofollow","tài liệu chính thức"," ngày 30\u002F09\u002F2026; định dạng và lệnh có thể đổi",[561,562,563],"style",{},"html pre.shiki code .s1ain, html code.shiki .s1ain{--shiki-default:#ADBAC7}html pre.shiki code .sT8CT, html code.shiki .sT8CT{--shiki-default:#8DDB8C}html pre.shiki code .sP_-H, html code.shiki .sP_-H{--shiki-default:#96D0FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .s7B5-, html code.shiki .s7B5-{--shiki-default:#F69D50}html pre.shiki code .sDGpf, html code.shiki .sDGpf{--shiki-default:#6CB6FF}html pre.shiki code .scLw-, html code.shiki .scLw-{--shiki-default:#F47067}html pre.shiki code .sVrTk, html code.shiki .sVrTk{--shiki-default:#768390}",{"title":38,"searchDepth":62,"depth":62,"links":565},[566,567,568,569],{"id":30,"depth":52,"text":31},{"id":266,"depth":52,"text":267},{"id":336,"depth":52,"text":337},{"id":373,"depth":52,"text":374},null,"Định dạng file cấu hình MCP dùng chung cho cả nhóm, cách dùng biến môi trường để không lộ khoá, và các lệnh claude mcp",false,"md","dev",{},true,[],"\u002Fclaude-code\u002Fmcp-json",[],[],{"title":5,"description":571},"claude-code\u002Fmcp-json",[584,585,586],"tra cứu","mcp","cấu hình","2026-09-30","HKa4wt6og7Yra0wzoSxNKiVy74ZP2d3Yhr4J8R0nZDE",1791566226518]