{"id":23944,"date":"2025-07-10T20:40:08","date_gmt":"2025-07-10T13:40:08","guid":{"rendered":"https:\/\/huongdanjava.com\/?p=23944"},"modified":"2026-01-03T16:38:53","modified_gmt":"2026-01-03T09:38:53","slug":"gioi-thieu-ve-model-context-protocol","status":"publish","type":"post","link":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html","title":{"rendered":"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol"},"content":{"rendered":"<p>C\u00e1c LLMs (Large Language Model) hay AI models nh\u01b0 ChatGPT, Gemini,&#8230; ch\u1ec9 \u0111\u01b0\u1ee3c train d\u1eef li\u1ec7u ch\u1ec9 t\u1edbi m\u1ed9t th\u1eddi \u0111i\u1ec3m n\u00e0o \u0111\u00f3, ng\u01b0\u1eddi ta g\u1ecdi l\u00e0 th\u1eddi \u0111i\u1ec3m cutoff. V\u00ed d\u1ee5 nh\u01b0, cho ChatGPT \u1edf th\u1eddi \u0111i\u1ec3m m\u00ecnh vi\u1ebft b\u00e0i vi\u1ebft n\u00e0y th\u00ec hi\u1ec3u bi\u1ebft c\u1ee7a n\u00f3 ch\u1ec9 t\u1edbi th\u00e1ng 4 n\u0103m 2024:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-23947 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/05\/gioi-thieu-ve-model-context-protocol-1.png\" alt=\"\" width=\"700\" height=\"221\" \/><\/p>\n<p>Hay Gemini th\u00ec c\u0169ng ch\u1ec9 t\u1edbi th\u00e1ng 6 n\u0103m 2024:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-23948 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/05\/gioi-thieu-ve-model-context-protocol-2.png\" alt=\"\" width=\"700\" height=\"224\" \/><\/p>\n<p>\u0110i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a nh\u1eefng th\u00f4ng tin m\u1edbi sau th\u1eddi \u0111i\u1ec3m cutoff tr\u00ean, ChatGPT hay Gemini \u0111\u1ec1u kh\u00f4ng c\u00f3 th\u00f4ng tin \u0111\u1ec3 tr\u1ea3 l\u1eddi cho ch\u00fang ta \u0111\u01b0\u1ee3c.<\/p>\n<p>M\u1ed9t v\u1ea5n \u0111\u1ec1 kh\u00e1c n\u1eefa m\u00e0 c\u00e1c LLMs kh\u00f4ng th\u1ec3 l\u00e0m \u0111\u01b0\u1ee3c l\u00e0 tr\u1ea3 l\u1eddi c\u00e1c th\u00f4ng tin li\u00ean quan \u0111\u1ebfn c\u00e1 nh\u00e2n c\u1ee7a ch\u00fang ta, d\u1eef li\u1ec7u tr\u00ean m\u00e1y c\u1ee7a ch\u00fang ta ho\u1eb7c m\u1ed9t n\u1ed9i dung private n\u00e0o \u0111\u00f3.<\/p>\n<p>\u0110\u1ec3 c\u00e1c LLMs c\u00f3 th\u1ec3 bi\u1ebft \u0111\u01b0\u1ee3c c\u00e1c th\u00f4ng tin private ho\u1eb7c sau th\u1eddi \u0111i\u1ec3m cutoff, c\u00e1c duy nh\u1ea5t l\u00e0 ch\u00fang ta ph\u1ea3i provide th\u00f4ng tin cho n\u00f3.<\/p>\n<p>Ch\u00fang ta c\u00f3 th\u1ec3 provide th\u00f4ng tin cho c\u00e1c LLMs nh\u01b0ng v\u1ea5n \u0111\u1ec1 l\u00e0 m\u1ed7i LLMs s\u1ebd c\u00f3 c\u00e1ch \u0111\u1ecdc th\u00f4ng tin kh\u00e1c nhau, l\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 chu\u1ea9n ho\u00e1 ch\u00fang? \u0110\u00f3 l\u00e0 l\u00fd do kh\u00e1i ni\u1ec7m <a href=\"https:\/\/modelcontextprotocol.io\/\" target=\"_blank\" rel=\"noopener\">Model Context Protocol<\/a> (MCP) ra \u0111\u1eddi \u0111\u00f3 c\u00e1c b\u1ea1n! MCP \u0111\u01b0\u1ee3c gi\u1edbi thi\u1ec7u b\u1edfi Anthropic, cha \u0111\u1ebb c\u1ee7a AI model <a href=\"https:\/\/claude.ai\" target=\"_blank\" rel=\"noopener\">Claude<\/a>, \u0111\u1ecbnh ngh\u0129a standard \u0111\u1ec3 c\u00e1c AI models c\u00f3 th\u1ec3 truy c\u1eadp \u0111\u1ebfn c\u00e1c datasources kh\u00e1c nhau, nh\u1edd \u0111\u00f3 n\u00f3 c\u00f3 th\u1ec3 tr\u1ea3 l\u1eddi c\u00e1c th\u00f4ng tin m\u00e0 ch\u00fang ta mu\u1ed1n.<\/p>\n<h3>MCP General Architecture<\/h3>\n<p>\u0110\u1ec3 hi\u1ec3u v\u1ec1 MCP, c\u00e1c b\u1ea1n c\u1ea7n n\u1eafm c\u00e1c kh\u00e1i ni\u1ec7m sau:<\/p>\n<ul>\n<li>MCP Hosts: l\u00e0 c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh client c\u1ee7a c\u00e1c AI models, \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 access c\u00e1c d\u1eef li\u1ec7u c\u00e1 nh\u00e2n ho\u1eb7c c\u00e1c d\u1eef li\u1ec7u sau th\u1eddi \u0111i\u1ec3m cutoff.<\/li>\n<li>MCP Clients: b\u00ean trong MCP Host, k\u1ebft n\u1ed1i v\u1edbi MCP Server \u0111\u1ec3 l\u1ea5y th\u00f4ng tin.<\/li>\n<li>MCP Servers: l\u00e0 c\u00e1c \u1ee9ng d\u1ee5ng expose d\u1eef li\u1ec7u t\u1eeb c\u00e1c datasource cho c\u00e1c AI models s\u1eed d\u1ee5ng Model Context Protocol.<\/li>\n<\/ul>\n<p>General Architecture c\u1ee7a MCP, m\u00ecnh c\u00f3 th\u1ec3 v\u1ebd l\u1ea1i nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-24239 size-full aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/07\/gioi-thieu-ve-model-context-protocol-3.png\" alt=\"\" width=\"671\" height=\"511\" \/><\/p>\n<p>Nh\u01b0 c\u00e1c b\u1ea1n th\u1ea5y, cho t\u1eebng datasource, ch\u00fang ta s\u1ebd c\u00f3 MCP Server t\u01b0\u01a1ng \u1ee9ng cho datasource \u0111\u00f3. MCP Server 1 v\u00e0 2 expose data cho c\u00e1c datasource tr\u00ean local machine, c\u00f2n MCP Server 3 s\u1ebd connect t\u1edbi 1 Remote Service \u0111\u1ec3 l\u1ea5y th\u00f4ng tin v\u00e0 expose data cho AI models theo chu\u1ea9n MCP.<\/p>\n<p>C\u00f3 r\u1ea5t nhi\u1ec1u MCP Server \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng s\u1eb5n \u1edf \u0111\u00e2y <a href=\"https:\/\/github.com\/modelcontextprotocol\/servers?tab=readme-ov-file#-reference-servers\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/modelcontextprotocol\/servers?tab=readme-ov-file#-reference-servers.<\/a><\/p>\n<p>B\u00e2y gi\u1edd, m\u00ecnh s\u1ebd h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n c\u00e1ch s\u1eed d\u1ee5ng m\u1ed9t MCP server \u0111\u01a1n gi\u1ea3n \u0111\u1ec3 hi\u1ec3u c\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a MCP Server nh\u01b0 th\u1ebf n\u00e0o c\u00e1c b\u1ea1n nh\u00e9!<\/p>\n<h3>C\u1ea5u h\u00ecnh MCP Server v\u1edbi MCP Host<\/h3>\n<p>MCP Server m\u00e0 m\u00ecnh s\u1ebd s\u1eed d\u1ee5ng \u0111\u1ec3 l\u00e0m v\u00ed d\u1ee5 l\u00e0 Filesystem t\u1ea1i\u00a0<a href=\"https:\/\/github.com\/modelcontextprotocol\/servers\/tree\/main\/src\/filesystem\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/modelcontextprotocol\/servers\/tree\/main\/src\/filesystem.<\/a>\u00a0MCP Server n\u00e0y \u0111\u01b0\u1ee3c vi\u1ebft b\u1eb1ng Node.JS \u0111\u00f3 c\u00e1c b\u1ea1n!<\/p>\n<p>Filesystem MCP Server cho ph\u00e9p c\u00e1c b\u1ea1n c\u00f3 th\u1ec3 l\u00e0m nhi\u1ec1u t\u00e1c v\u1ee5 kh\u00e1c nhau s\u1eed d\u1ee5ng c\u00e1c tool \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea t\u1ea1i <a href=\"https:\/\/github.com\/modelcontextprotocol\/servers\/tree\/main\/src\/filesystem#tools\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/modelcontextprotocol\/servers\/tree\/main\/src\/filesystem#tools<\/a>. C\u00e1c b\u1ea1n c\u00f3 th\u1ec3 hi\u1ec3u n\u00f4m na tool l\u00e0 feature m\u00e0 ch\u00fang ta c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng v\u1edbi MCP Server.<\/p>\n<p>MCP Host m\u00e0 m\u00ecnh s\u1ebd s\u1eed d\u1ee5ng l\u00e0 <a href=\"https:\/\/claude.ai\/download\" target=\"_blank\" rel=\"noopener\">\u1ee9ng d\u1ee5ng Desktop<\/a> c\u1ee7a Claude AI.<\/p>\n<p>\u0110\u1ec3 c\u1ea5u h\u00ecnh MCP Server Filesystem v\u1edbi MCP Host l\u00e0 \u1ee9ng d\u1ee5ng Claude Desktop, c\u00e1c b\u1ea1n h\u00e3y m\u1edf \u1ee9ng d\u1ee5ng Claude Desktop l\u00ean, sau \u0111\u00f3 th\u00ec v\u00e0o menu Settings. Trong c\u1eeda s\u1ed5 Settings, c\u00e1c b\u1ea1n h\u00e3y ch\u1ecdn tab Developer:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-24230 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/07\/gioi-thieu-ve-model-context-protocol-5.png\" alt=\"\" width=\"700\" height=\"526\" \/><\/p>\n<p>r\u1ed3i click v\u00e0o n\u00fat Edit Config. M\u1ed9t t\u1eadp tin claude_desktop_config.json s\u1ebd \u0111\u01b0\u1ee3c m\u1edf ra.<\/p>\n<p>T\u1eadp tin claude_desktop_config.json n\u00e0y ch\u1ee9a \u0111\u1ecbnh ngh\u0129a c\u1ee7a t\u1ea5t c\u1ea3 c\u00e1c MCP Server cho Claude Desktop \u0111\u00f3 c\u00e1c b\u1ea1n! C\u00e1c MCP Server n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c ch\u1ea1y m\u1ed7i khi ch\u00fang ta ch\u1ea1y Claude Desktop.<\/p>\n<p>C\u00e1c b\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh Filesytem MCP Server trong t\u1eadp tin claude_desktop_config.json v\u1edbi n\u1ed9i dung nh\u01b0 sau:<\/p>\n<pre class=\"lang:java decode:true \">{\r\n  \"mcpServers\": {\r\n    \"filesystem\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\r\n        \"-y\",\r\n        \"@modelcontextprotocol\/server-filesystem\",\r\n        \"\/Users\/khanhnguyenj\/Documents\/code\/huongdanjava.com\"\r\n      ]\r\n    }\r\n  }\r\n}<\/pre>\n<p>V\u1edbi c\u1ea5u h\u00ecnh n\u00e0y, Claude Desktop s\u1ebd c\u00e0i \u0111\u1eb7t Filesystem MCP Server b\u1eb1ng c\u00e1ch ch\u1ea1y command Node Package eXecute (NPX) c\u1ee7a Node.js \u0111\u1ec3 download package @modelcontextprotocol\/server-filesystem t\u1eeb \u0111\u1ecba ch\u1ec9 <a href=\"https:\/\/www.npmjs.com\/package\/@modelcontextprotocol\/server-filesystem\" target=\"_blank\" rel=\"noopener\">https:\/\/www.npmjs.com\/package\/@modelcontextprotocol\/server-filesystem.<\/a>. Th\u01b0 m\u1ee5c &#8220;\/Users\/khanhnguyenj\/Documents\/code\/huongdanjava.com&#8221; l\u00e0 th\u01b0 m\u1ee5c tr\u00ean m\u00e1y c\u1ee7a m\u00ecnh, s\u1ebd \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng b\u1edfi Filesystem MCP server \u0111\u1ec3 truy v\u1ea5n th\u00f4ng tin. C\u00e1c b\u1ea1n c\u00f3 th\u1ec3 th\u00eam nhi\u1ec1u th\u01b0 m\u1ee5c n\u1ebfu c\u00e1c b\u1ea1n mu\u1ed1n.<\/p>\n<p>Sau khi \u0111\u00e3 c\u1ea5u h\u00ecnh xong Filesystem MCP Server, c\u00e1c b\u1ea1n h\u00e3y restart l\u1ea1i Claude Desktop.<\/p>\n<p>Sau khi kh\u1edfi \u0111\u1ed9ng l\u1ea1i, c\u00e1c b\u1ea1n s\u1ebd th\u1ea5y Filesystem MCP Server \u0111\u01b0\u1ee3c include trong Claude Desktop nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-24232 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/07\/gioi-thieu-ve-model-context-protocol-6.png\" alt=\"\" width=\"700\" height=\"526\" \/><\/p>\n<p>B\u00e2y gi\u1edd, m\u00ecnh ch\u1ec9 c\u1ea7n nh\u1eadp Prompt &#8220;List out all folders&#8221;, cho v\u00ed d\u1ee5 c\u1ee7a m\u00ecnh Claude Desktop hi\u1ec3n th\u1ecb k\u1ebft qu\u1ea3 nh\u01b0 sau:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-24233 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/07\/gioi-thieu-ve-model-context-protocol-7.png\" alt=\"\" width=\"700\" height=\"526\" \/><\/p>\n<p>Nh\u01b0 c\u00e1c b\u1ea1n th\u1ea5y, Claude Desktop s\u1eed d\u1ee5ng c\u00e1c tool <strong>list_allowed_directories<\/strong>, <strong>directory_tree<\/strong> v\u00e0 <strong>list_directory<\/strong> \u0111\u1ec3 li\u1ec7t k\u00ea h\u1ebft c\u00e1c th\u01b0 m\u1ee5c trong th\u01b0 m\u1ee5c m\u00e0 m\u00ecnh \u0111\u00e3 c\u1ea5u h\u00ecnh. M\u1ed9t \u0111i\u1ec3m hay l\u00e0 n\u00f3 c\u00f3 th\u1ec3 ph\u00e2n lo\u1ea1i th\u01b0 m\u1ee5c ch\u1ee9a c\u00e1c th\u00f4ng tin v\u1ec1 v\u1ea5n \u0111\u1ec1 g\u00ec v\u00e0 \u0111\u01b0a ra k\u1ebft lu\u1eadn chung v\u1ec1 th\u01b0 m\u1ee5c n\u00e0y lu\u00f4n c\u00e1c b\u1ea1n:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-24234 aligncenter\" src=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/07\/gioi-thieu-ve-model-context-protocol-8.png\" alt=\"\" width=\"700\" height=\"526\" \/><\/p>\n<p>Nh\u01b0 v\u1eady l\u00e0 Filesystem MCP Server \u0111\u00e3 gi\u00fap ch\u00fang ta c\u00f3 th\u1ec3 truy v\u1ea5n \u0111\u01b0\u1ee3c c\u00e1c th\u00f4ng tin tr\u00ean m\u00e1y c\u1ee7a m\u00ecnh, c\u00e1i m\u00e0 m\u1eb7c \u0111\u1ecbnh Claude Desktop kh\u00f4ng th\u1ec3 l\u00e0m \u0111\u01b0\u1ee3c.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-right kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;right&quot;,&quot;id&quot;:&quot;23944&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;4&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 4px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\"><\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>C\u00e1c LLMs (Large Language Model) hay AI models nh\u01b0 ChatGPT, Gemini,&#8230; ch\u1ec9 \u0111\u01b0\u1ee3c train d\u1eef li\u1ec7u ch\u1ec9 t\u1edbi m\u1ed9t th\u1eddi \u0111i\u1ec3m n\u00e0o \u0111\u00f3, ng\u01b0\u1eddi ta g\u1ecdi l\u00e0 th\u1eddi \u0111i\u1ec3m cutoff. V\u00ed d\u1ee5 nh\u01b0, cho ChatGPT \u1edf th\u1eddi \u0111i\u1ec3m m\u00ecnh vi\u1ebft b\u00e0i vi\u1ebft n\u00e0y th\u00ec hi\u1ec3u&hellip; <a href=\"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":23945,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2390],"tags":[],"class_list":["post-23944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-spring-ai","clearfix"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol - Huong Dan Java<\/title>\n<meta name=\"description\" content=\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Model Context Protocol.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol - Huong Dan Java\" \/>\n<meta property=\"og:description\" content=\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Model Context Protocol.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html\" \/>\n<meta property=\"og:site_name\" content=\"Huong Dan Java\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/nhkhanh2406\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-10T13:40:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-03T09:38:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/05\/spring-ai.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Khanh Nguyen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/KhanhNguyenJ\" \/>\n<meta name=\"twitter:site\" content=\"@KhanhNguyenJ\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Khanh Nguyen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html\"},\"author\":{\"name\":\"Khanh Nguyen\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"headline\":\"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol\",\"datePublished\":\"2025-07-10T13:40:08+00:00\",\"dateModified\":\"2026-01-03T09:38:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html\"},\"wordCount\":1210,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/spring-ai.png\",\"articleSection\":[\"Spring AI\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html\",\"name\":\"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol - Huong Dan Java\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/spring-ai.png\",\"datePublished\":\"2025-07-10T13:40:08+00:00\",\"dateModified\":\"2026-01-03T09:38:53+00:00\",\"description\":\"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Model Context Protocol.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html#primaryimage\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/spring-ai.png\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/spring-ai.png\",\"width\":300,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/vi\\\/gioi-thieu-ve-model-context-protocol.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/huongdanjava.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#website\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/\",\"name\":\"Huong Dan Java\",\"description\":\"Java development tutorials\",\"publisher\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/huongdanjava.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/#\\\/schema\\\/person\\\/dc859d7f8cbea3b593e6738de9cbb82d\",\"name\":\"Khanh Nguyen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"url\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"contentUrl\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\",\"width\":1267,\"height\":1517,\"caption\":\"Khanh Nguyen\"},\"logo\":{\"@id\":\"https:\\\/\\\/huongdanjava.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg\"},\"description\":\"I love Java and everything related to Java.\",\"sameAs\":[\"https:\\\/\\\/huongdanjava.com\",\"https:\\\/\\\/www.facebook.com\\\/nhkhanh2406\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/KhanhNguyenJ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol - Huong Dan Java","description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Model Context Protocol.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html","og_locale":"en_US","og_type":"article","og_title":"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol - Huong Dan Java","og_description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Model Context Protocol.","og_url":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html","og_site_name":"Huong Dan Java","article_publisher":"https:\/\/www.facebook.com\/nhkhanh2406","article_author":"https:\/\/www.facebook.com\/nhkhanh2406","article_published_time":"2025-07-10T13:40:08+00:00","article_modified_time":"2026-01-03T09:38:53+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/05\/spring-ai.png","type":"image\/png"}],"author":"Khanh Nguyen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/KhanhNguyenJ","twitter_site":"@KhanhNguyenJ","twitter_misc":{"Written by":"Khanh Nguyen","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html#article","isPartOf":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html"},"author":{"name":"Khanh Nguyen","@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"headline":"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol","datePublished":"2025-07-10T13:40:08+00:00","dateModified":"2026-01-03T09:38:53+00:00","mainEntityOfPage":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html"},"wordCount":1210,"commentCount":0,"publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"image":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/05\/spring-ai.png","articleSection":["Spring AI"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html","url":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html","name":"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol - Huong Dan Java","isPartOf":{"@id":"https:\/\/huongdanjava.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html#primaryimage"},"image":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html#primaryimage"},"thumbnailUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/05\/spring-ai.png","datePublished":"2025-07-10T13:40:08+00:00","dateModified":"2026-01-03T09:38:53+00:00","description":"Trong b\u00e0i vi\u1ebft n\u00e0y, m\u00ecnh gi\u1edbi thi\u1ec7u v\u1edbi c\u00e1c b\u1ea1n v\u1ec1 Model Context Protocol.","breadcrumb":{"@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html#primaryimage","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/05\/spring-ai.png","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2025\/05\/spring-ai.png","width":300,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/huongdanjava.com\/vi\/gioi-thieu-ve-model-context-protocol.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/huongdanjava.com\/"},{"@type":"ListItem","position":2,"name":"Gi\u1edbi thi\u1ec7u v\u1ec1 Model Context Protocol"}]},{"@type":"WebSite","@id":"https:\/\/huongdanjava.com\/#website","url":"https:\/\/huongdanjava.com\/","name":"Huong Dan Java","description":"Java development tutorials","publisher":{"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/huongdanjava.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/huongdanjava.com\/#\/schema\/person\/dc859d7f8cbea3b593e6738de9cbb82d","name":"Khanh Nguyen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","url":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","contentUrl":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg","width":1267,"height":1517,"caption":"Khanh Nguyen"},"logo":{"@id":"https:\/\/huongdanjava.com\/wp-content\/uploads\/2021\/07\/CC6FAC58-D227-4DD8-93D1-6D6A795577E3_1_201_a.jpeg"},"description":"I love Java and everything related to Java.","sameAs":["https:\/\/huongdanjava.com","https:\/\/www.facebook.com\/nhkhanh2406","https:\/\/x.com\/https:\/\/twitter.com\/KhanhNguyenJ"]}]}},"_links":{"self":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/23944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/comments?post=23944"}],"version-history":[{"count":15,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/23944\/revisions"}],"predecessor-version":[{"id":24988,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/posts\/23944\/revisions\/24988"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media\/23945"}],"wp:attachment":[{"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/media?parent=23944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/categories?post=23944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/huongdanjava.com\/wp-json\/wp\/v2\/tags?post=23944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}