ЁЯФМ рдзрдбрд╛ 13 (рдмреЛрдирд╕) тАФ MCP: AI tools рд╕рд╛рдареА universal plug
ЁЯУН рддреБрдореНрд╣реА рдЗрдереЗ рдЖрд╣рд╛рдд: рдмреЛрдирд╕ рдзрдбрд╛ 13 ┬╖ рдорд╛рдЧреЗ: lesson-12-diffusion
ЁЯУж рдпрд╛ рдмреНрд░рдБрдЪрдордзреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗ
рд╕рдЧрд│реЗ 12 рдореБрдЦреНрдп рдзрдбреЗ, рдЖрдгрд┐ agents рдмрд╛рдВрдзрдгрд╛рд▒реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рдЖрдард╡рдбрд╛рднрд░рд╛рдд рднреЗрдЯрдгрд╛рд░рд╛ рдмреЛрдирд╕: MCP тАФ Model Context Protocol тАФ рдзрдбрд╛ 11 рдЪреА tools plug-and-play рднрд╛рдЧ рдмрдирд╡рдгрд╛рд░реЗ standard.
ЁЯзТ 5 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рдореБрд▓рд╛рд▓рд╛ рд╕рдордЬрд╛рд╡рд▓реНрдпрд╛рд╕рд╛рд░рдЦреЗ
рд╢рд╛рд│реЗрдЪреНрдпрд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдкреНрд░рдпреЛрдЧрд╢рд╛рд│реЗрд▓рд╛ рдПрдХ рдЕрдбрдЪрдг рдЖрд╣реЗ. ЁЯФм рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдХрд░рдг тАФ рд╕реВрдХреНрд╖реНрдорджрд░реНрд╢рдХ, рддрд░рд╛рдЬреВ, рдерд░реНрдорд╛рдореАрдЯрд░ тАФ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рд╡рд┐рдЪрд┐рддреНрд░ cable рд╕рд╣ рдпреЗрддреЗ, рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧрд╛рдд рд╡реЗрдЧрд╡реЗрдЧрд│реЗ sockets рдЖрд╣реЗрдд. Room 3 рдордзреНрдпреЗ рд╕реВрдХреНрд╖реНрдорджрд░реНрд╢рдХ рд╣рд╡рд╛ рдЖрд╣реЗ? рдХреЛрдгреАрддрд░реА рд╣рд╛рддрд╛рдиреЗ Room-3-рд╕реВрдХреНрд╖реНрдорджрд░реНрд╢рдХ adapter рдмрдирд╡рддреЛ. рдирд╡рд╛ рддрд░рд╛рдЬреВ? рдкрд╛рдЪ рдЦреЛрд▓реНрдпрд╛ = рдкрд╛рдЪ рдирд╡реЗ adapters. N рдЦреЛрд▓реНрдпрд╛ рдЖрдгрд┐ M рдЙрдкрдХрд░рдгреЗ рдЕрд╕рддреАрд▓ рддрд░ N├ЧM adapters рд▓рд╛рдЧрддрд╛рдд тАФ рд╢рд┐рдкрд╛рдпрд╛рдЪрд╛ рдбреНрд░реЙрд╡рд░ рдПрдХреЗрдХ-рд╡реЗрд│рдЪреНрдпрд╛ cables рдЪреЗ рджреБрдГрд╕реНрд╡рдкреНрди рдмрдирддреЛ. ЁЯНЭ
рдордЧ рд╢рд╛рд│рд╛ рдПрдХрдЪ standard рднрд┐рдВрддреАрддрд▓рд╛ socket ЁЯФМ рд╕реНрд╡реАрдХрд╛рд░рддреЗ. рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдХрд░рдг standard plug рд╕рд╣ рдпреЗрддреЗ; рдкреНрд░рддреНрдпреЗрдХ рдЦреЛрд▓реАрдд standard socket рдЕрд╕рддреЛ. рдХреЛрдгрддреЗрд╣реА рдЙрдкрдХрд░рдг, рдХреЛрдгрддреАрд╣реА рдЦреЛрд▓реА, рд╢реВрдиреНрдп рдЦрд╛рд╕ adapters: N├ЧM рдРрд╡рдЬреА N+M.
рд╣реЗрдЪ MCP, AI рд╕рд╛рдареА:
- рдЙрдкрдХрд░рдгреЗ рдореНрд╣рдгрдЬреЗ MCP servers тАФ рдЫреЛрдЯреЗ programs рдЬреЗ рдПрдЦрд╛рджреА рдХреНрд╖рдорддрд╛ (рддреБрдордЪреНрдпрд╛ files, GitHub, database, SlackтАж) standard plug рдорд╛рдЧреЗ рдЧреБрдВрдбрд╛рд│рддрд╛рдд.
- рдЦреЛрд▓реНрдпрд╛ рдореНрд╣рдгрдЬреЗ AI apps (hosts: Claude Desktop, IDEs, рддреБрдордЪрд╛ рд╕реНрд╡рддрдГрдЪрд╛ agent) тАФ рдкреНрд░рддреНрдпреЗрдХрд╛рдд standard sockets рдЕрд╕рддрд╛рдд (MCP clients).
- рдХреЛрдгрддрд╛рд╣реА server рдХреЛрдгрддреНрдпрд╛рд╣реА host рдордзреНрдпреЗ plug рдХрд░рд╛. рдХреЛрдгреАрддрд░реА рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ GitHub server MCP рдмреЛрд▓рдгрд╛рд▒реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ app рдордзреНрдпреЗ рдЪрд╛рд▓рддреЛ, рдЖрдЬ, рди рдмрджрд▓рддрд╛.
рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдХрд░рдг plug рдХреЗрд▓реНрдпрд╛рд╡рд░ рддреЗ рдХрд╛рдп рджреЗрддреЗ рддреЗ рдЬрд╛рд╣реАрд░ рдХрд░рддреЗ тАФ manual рдирдХреЛ: "рдирдорд╕реНрдХрд╛рд░! рдореА рд╣реА tools (рддреБрдореНрд╣реА рдХрд░реВ рд╢рдХрддрд╛ рдЕрд╢рд╛ рдЧреЛрд╖реНрдЯреА), рд╣реЗ resources (рддреБрдореНрд╣реА рд╡рд╛рдЪреВ рд╢рдХрддрд╛ рдЕрд╢рд╛ рдЧреЛрд╖реНрдЯреА), рд╣реЗ prompts (рдореА рд╕реБрдЪрд╡рд▓реЗрд▓реНрдпрд╛ рдХреГрддреА) рджреЗрддреЛ." model рдЖрдзреА рд╢реЛрдзрддреЛ, рдордЧ рд╡рд╛рдкрд░рддреЛ тАФ рдзрдбрд╛ 11 рдЪрд╛ loop, standard plugs рд╕рд╣.
ЁЯЧ║я╕П рдЖрдХреГрддреА
flowchart LR
subgraph before["ЁЯНЭ before: N├ЧM custom adapters"]
x1["every app ├Ч every tool<br/>= a hand-built integration"]
end
subgraph hosts["ЁЯПл hosts - the rooms"]
h1["Claude Desktop ЁЯФМ"]
h2["your IDE ЁЯФМ"]
h3["your agent app ЁЯФМ"]
end
subgraph servers["ЁЯФм MCP servers - the instruments"]
s1["ЁЯУБ filesystem<br/>tools ┬╖ resources ┬╖ prompts"]
s2["ЁЯРЩ GitHub"]
s3["ЁЯЧДя╕П your database"]
end
before -.->|"MCP standardizes<br/>the socket"| hosts
h1 ---|"one protocol"| s1
h2 --- s2
h3 --- s3
h1 --- s3
тЭУ рдХрд╛рдп (рддрдкрд╢реАрд▓)
- рднреВрдорд┐рдХрд╛: рдПрдХ host (AI app) clients рдЪрд╛рд▓рд╡рддреЛ (рдкреНрд░рддреНрдпреЗрдХ
connection рд╕рд╛рдареА рдПрдХ); рдкреНрд░рддреНрдпреЗрдХ client рдПрдХрд╛ server рд╢реА рдмреЛрд▓рддреЛ. Servers
рддреАрди primitives рдЙрдШрдб рдХрд░рддрд╛рдд:
- tools тАФ model рдмреЛрд▓рд╛рд╡реВ рд╢рдХрддреЛ рдЕрд╢реА functions (рдзрдбрд╛ 11 рдЪрд╛ calculator, standard рдХреЗрд▓реЗрд▓рд╛),
- resources тАФ рд╡рд╛рдЪрддрд╛ рдпреЗрдгрд╛рд░рд╛ context (files, records) рдЬреЛ host desk рд▓рд╛ рдЬреЛрдбреВ рд╢рдХрддреЛ (рдзрдбрд╛ 08!),
- prompts тАФ server рд╕реБрдЪрд╡рддреЛ рдЕрд╕реЗ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рддрд╛ рдпреЗрдгрд╛рд░реЗ prompt templates.
- рддрд╛рд░реЗрд╡рд░рдЪреЗ рд╕рдВрджреЗрд╢ (рддреЗ рд╕реБрдЦрдж рдХрдВрдЯрд╛рд│рд╡рд╛рдгреЗ рдЖрд╣реЗрдд): JSON-RPC. рддреАрди рдЪрд╛рд▓реАрдВрдордзреНрдпреЗ рдПрдХ session:
тЖТ {"method":"initialize", "params":{"clientInfo":{"name":"my-agent"}}}
тЖТ {"method":"tools/list"}
тЖР {"result":{"tools":[{"name":"query_db",
"description":"Run a read-only SQL query",
"inputSchema":{"type":"object","properties":{"sql":{"type":"string"}}}}]}}
тЖТ {"method":"tools/call","params":{"name":"query_db","arguments":{"sql":"SELECT тАж"}}}
тЖР {"result":{"content":[{"type":"text","text":"23 rows: тАж"}]}}
рдЖрдзреА рд╢реЛрдзрд╛, рдордЧ рдмреЛрд▓рд╡рд╛ тАФ result desk рд╡рд░ рдпреЗрддреЛ рдЖрдгрд┐ рдзрдбрд╛ 11 рдЪрд╛ loop рдкреБрдвреЗ рдЪрд╛рд▓реВ рд░рд╛рд╣рддреЛ. рдПрд╡рдврд╛рдЪ рд╕рдЧрд│рд╛ рд╕реЛрд╣рд│рд╛.
- Transports: stdio (host server рд▓рд╛ local child process рдореНрд╣рдгреВрди рд╕реБрд░реВ рдХрд░рддреЛ тАФ files/dev tools рд╕рд╛рдареА рдЙрддреНрддрдо) рдХрд┐рдВрд╡рд╛ HTTP (remote/shared servers). рджреЛрдиреНрд╣реАрдХрдбреЗ рддреЗрдЪ messages.
- рдЙрдЧрдо рдЖрдгрд┐ рд╕реНрд╡реАрдХрд╛рд░: Anthropic рдиреЗ (2024 рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА) рдЦреБрд▓реЗ standard рдореНрд╣рдгреВрди рдЖрдгрд▓реЗ, рддреНрдпрд╛рдирдВрддрд░ рд╕рдВрдкреВрд░реНрдг ecosystem рдордзреНрдпреЗ рд╕реНрд╡реАрдХрд╛рд░рд▓реЗ рдЧреЗрд▓реЗ тАФ рдЬреНрдпрд╛рд╡рд░ рд╕рдЧрд│реЗ рд╕рд╣рдордд рдЭрд╛рд▓реЗ рдЕрд╕рд╛ рджреБрд░реНрдореАрд│ plug.
- Security, рдЧрд╛рдВрднреАрд░реНрдпрд╛рдиреЗ ЁЯЪз: MCP server рддреБрдордЪреНрдпрд╛ permissions рдиреЗ рдЪрд╛рд▓рддреЛ тАФ рдПрдЦрд╛рджрд╛ plug рдХрд░рдгреЗ рдореНрд╣рдгрдЬреЗ software install рдХрд░рдгреЗ. рдЖрдгрд┐ tool рдЪреЗ RESULTS desk рд╡рд░ рдпреЗрддрд╛рдд, рдореНрд╣рдгреВрди server рдиреЗ рдЖрдгрд▓реЗрд▓реЗ рдПрдЦрд╛рджреЗ рджреБрд╖реНрдЯ webpage/doc model рдХрдбреЗ рд╕реВрдЪрдирд╛ рдЪреЛрд░реВрди рдкреЛрд╣реЛрдЪрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рд╢рдХрддреЗ (prompt injection). рдзрдбрд╛ 11 рдЪреЗ guardrails рджреБрдкреНрдкрдЯ рд▓рд╛рдЧреВ рд╣реЛрддрд╛рдд: рдлрдХреНрдд рд╡рд┐рд╢реНрд╡рд╛рд╕реВ servers, рд╢рдХреНрдп рддрд┐рдереЗ read-only, рдкрд░рд┐рдгрд╛рдордХрд╛рд░рдХ рдХреГрддреАрдВрд╕рд╛рдареА human gates, logs рдиреЗрд╣рдореА.
ЁЯдФ рдХрд╛
рдзрдбрд╛ 11 рдирдВрддрд░ рдкреНрд░рддреНрдпреЗрдХ team рддреАрдЪ tools рдкреНрд░рддреНрдпреЗрдХ app рдордзреНрдпреЗ рд╣рд╛рддрд╛рдиреЗ рдЬреЛрдбрдд рд╣реЛрддреА тАФ N├ЧM adapters рдЪрд╛ рдбреНрд░реЙрд╡рд░. MCP рддреЛ рдПрдХрддреНрд░ рдХрд░рддреЛ: рддреБрдордЪрд╛ database server рдПрдХрджрд╛рдЪ рд▓рд┐рд╣рд╛, рдЖрдЬ Claude Desktop рдордзреВрди, рдЙрджреНрдпрд╛ рддреБрдордЪреНрдпрд╛ IDE рдордзреВрди, рдкреБрдврдЪреНрдпрд╛ рдЖрдард╡рдбреНрдпрд╛рдд рддреБрдордЪреНрдпрд╛ custom agent рдордзреВрди рд╡рд╛рдкрд░рд╛. рдореНрд╣рдгреВрдирдЪ "agent ecosystems" рдЕрдЪрд╛рдирдХ рдЪрд╛рд▓реВ рд▓рд╛рдЧрддрд╛рдд: рдХреНрд╖рдорддрд╛ рдЦрд╛рд╕рдЧреА рдЬреЛрдбрдгреАрдРрд╡рдЬреА рд╡рд╛рдЯреВрди рдШреЗрддрд╛ рдпреЗрдгрд╛рд░реЗ рднрд╛рдЧ рдмрдирд▓реНрдпрд╛. (рдЖрдгрд┐ рд╣рд╛ рд╕рд┐рдиреЗрдорд╛ рддреБрдореНрд╣реА рдкрд╛рд╣рд┐рд▓рд╛ рдЖрд╣реЗ: Kubernetes рдиреЗ containers рд╕рд╛рдареА рдЖрдгрд┐ Terraform рдиреЗ infrastructure рд╕рд╛рдареА рд╣реЗрдЪ standard plugs рдХреЗрд▓реЗ тАФ рдХрдВрдЯрд╛рд│рд╡рд╛рдгреЗ interfaces рд╣реЗрдЪ ecosystems рдШрдбрдгреНрдпрд╛рдЪреЗ рдХрд╛рд░рдг рдЕрд╕рддрд╛рдд. ЁЯФМ)
ЁЯзк рдХрд░реВрди рдкрд╛рд╣рд╛
рдХрд╛рдЧрджрд╛рд╡рд░рдЪрд╛ lab (5 рдорд┐рдирд┐рдЯреЗ): host рддреБрдореНрд╣реА рд╡реНрд╣рд╛. рд╡рд░рдЪреЗ JSON session рдШреНрдпрд╛ рдЖрдгрд┐
рддреБрдордЪреЗ calendar рдЧреБрдВрдбрд╛рд│рдгрд╛рд▒реНрдпрд╛ рдЙрдкрдХрд░рдгрд╛рд╕рд╛рдареА tools/list response рд▓рд┐рд╣рд╛:
рдХреЛрдгрддреА tools (рдирд╛рд╡реЗ + arguments)? рдХреЛрдгрддреЗ resources? рддреБрдореНрд╣реА рдХрд╢рд╛рд▓рд╛ read-only
рдЖрдгрд┐ рдХрд╢рд╛рд▓рд╛ рдорд╛рдгрд╕рд╛рдЪреНрдпрд╛ рдордВрдЬреБрд░реАрдорд╛рдЧреЗ рдареЗрд╡рд╛рд▓? рдЕрднрд┐рдирдВрджрди тАФ рддреБрдореНрд╣реА рдЖрддреНрддрд╛рдЪ рдПрдХ
MCP server design рдХреЗрд▓рд╛; SDK рдЖрд╡реГрддреНрддреА рдореНрд╣рдгрдЬреЗ рдмрд╣реБрддреЗрдХ рдлрдХреНрдд typing.
рдЦрд░рд╛ lab (15 рдорд┐рдирд┐рдЯреЗ, рдПрдХ config рдмрджрд▓): reference filesystem
server рдХреЛрдгрддреНрдпрд╛рд╣реА MCP рдмреЛрд▓рдгрд╛рд▒реНрдпрд╛ app рдордзреНрдпреЗ рдЬреЛрдбрд╛ (рдЙрджрд╛. Claude Desktop тЖТ
claude_desktop_config.json, рдХрд┐рдВрд╡рд╛ рддреБрдордЪреНрдпрд╛ IDE рдЪреА MCP settings),
modelcontextprotocol.io рд╡рд░рдЪреНрдпрд╛ quickstart рдкреНрд░рдорд╛рдгреЗ тАФ рдордЧ assistant рд▓рд╛ рдПрдХрд╛ folder рдЪреА
рдпрд╛рджреА рдХрд░рд╛рдпрд▓рд╛ рдЖрдгрд┐ рдПрдХрд╛ file рдЪрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджреНрдпрд╛рдпрд▓рд╛ рд╕рд╛рдВрдЧрд╛. рддреЗ рдХреЛрдгрддреА TOOLS рдмреЛрд▓рд╛рд╡рддреЗ рддреЗ рдкрд╛рд╣рд╛. рддреБрдореНрд╣реА
рдЖрддреНрддрд╛ рд╡рд╛рдЪрд▓реЗрд▓рд╛ protocol рдкреНрд░рддреНрдпреЗрдХ step рдЦрд╛рд▓реА рдЪрд╛рд▓реВ рдЖрд╣реЗ.
ЁЯОУ рдЖрддрд╛ toolbox рдЦрд░реЛрдЦрд░ рдкреВрд░реНрдг рдЭрд╛рд▓рд╛
AI рдХрд╕реЗ рдЪрд╛рд▓рддреЗ рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдпрд╛рдЪреЗ рдмрд╛рд░рд╛ рдзрдбреЗ тАФ рдЖрдгрд┐ рддреЗ рдмрд╛рдХреА рд╕рдЧрд│реНрдпрд╛рд╢реА рдЬреЛрдбрдгрд╛рд░рд╛ plug. рдЬрд╛рджреВ рд╢реВрдиреНрдп, sockets рд╕рд╣. ЁЯФМЁЯОУ
git checkout main