ืžื“ืจื™ืš ื”ืขืฉืจื” ยท Part VI ื–ืžืŸ ืงืจื™ืื” ยท 28 ื“ืงื•ืช ืจืžื” ยท ื‘ื™ื ื•ื ื™-ืžืชืงื“ื ืขื•ื“ื›ืŸ ยท 29.04.2026
ยท ื—ืœืง ื•ืณ ื‘ืกื“ืจื” ยท

USB-C ืœ- AI (plus SDK).

MCP ืคื•ืชืจ ื‘ืขื™ื” ืื—ืช: ืื™ืš ืžื•ื“ืœื™ ืฉืคื” ืžืชื—ื‘ืจื™ื ืœื›ืœื™ื ื‘ืœื™ adapter ื™ื™ืขื•ื“ื™ ืœื›ืœ ืฉื™ืจื•ืช.
Agent SDK ืคื•ืชืจ ื‘ืขื™ื” ืžืฉืœื™ืžื”: ืื™ืš ืœื‘ื ื•ืช ืกื•ื›ืŸ ืฉืจืฅ ื‘ืœื™ GUI โ€” ื‘ืื•ื˜ื•ืžืฆื™ื”, ื‘-cron, ื‘-Lambda.
ื”ืžื“ืจื™ืš ื”ื–ื” ืžืจืื” ืื™ืš ื”ื ืžืฉืœื™ืžื™ื ื–ื” ืืช ื–ื”, ื•ืื™ืš ืœื‘ื ื•ืช ืืช ืฉื ื™ื”ื ื‘ืขื‘ืจื™ืช โ€” ืž-FastAPI ื•ืขื“ deploy.

ื’ืœื•ืœ ืœื”ืžืฉืš
MCP ื–ื” ื”-USB-C ืฉืœ AI. ื›ืœ ืฉื™ืจื•ืช ืฉืœื ืžื“ื‘ืจ MCP โ€” ื”ื•ื Lightning ื‘-2026. ยท The Interoperability Principle ยท 2026 ยท
01

Model Context Protocol โ€” ืœืžื” ื–ื” ื—ืฉื•ื‘

ื‘-2025, ื›ืœ ืื™ื ื˜ื’ืจืฆื™ื” ืฉืœ LLM ืœืฉื™ืจื•ืช ื—ื™ืฆื•ื ื™ ื”ื™ื™ืชื” ื“ื•ืจืฉืช adapter ื™ื™ืขื•ื“ื™. ื›ืœ ืžื™ ืฉืจืฆื” ืœื—ื‘ืจ ChatGPT ืœ-Asana ื›ืชื‘ ืคืœืื’ื™ืŸ ืฉืœ ChatGPT. ื›ืœ ืžื™ ืฉืจืฆื” ืœื—ื‘ืจ ืืช ืื•ืชื• Asana ืœ-Claude ื›ืชื‘ ืืช ื”ืงื•ื“ ืฉื•ื‘. ื›ืœ ืžื™ ืฉืจืฆื” ืœ-Cursor โ€” ืฉื•ื‘. ื”ื›ืื•ืก ื”ื–ื” ื ื’ืžืจ ื‘-2026 ื›ืฉื”ืชืงืŸ MCP ื”ืคืš ืœืกื˜ื ื“ืจื˜ ืชืขืฉื™ื™ืชื™.

MCP โ€” Model Context Protocol โ€” ื”ื•ื ืชืงืŸ ืคืชื•ื— ืฉืœ Anthropic ืœื—ื™ื‘ื•ืจ LLMs ืœืฉื™ืจื•ืชื™ื ื—ื™ืฆื•ื ื™ื™ื. ื‘ืžืงื•ื ืฉื›ืœ ืกืคืง AI ื™ื‘ื ื” ืืช ื”-adapters ืฉืœื•, ื”ืฉื™ืจื•ืช ืขืฆืžื• (Asana, Vercel, GitHub, ืื• ื”ื›ืœื™ ื”ืคื ื™ืžื™ ืฉืœืš) ื—ื•ืฉืฃ MCP server ืื—ื“, ื•ื›ืœ LLM ืฉืžื“ื‘ืจ MCP ื™ื•ื“ืข ืœื”ืฉืชืžืฉ ื‘ื•. USB-C ืœ-AI โ€” ืžื˜ื‘ืข ืœืฉื•ืŸ ืฉืœ Anthropic ืฉืชืคืก.

ืœืžื” ื–ื” ืงืจื™ื˜ื™

ื‘-2026, MCP ื ืชืžืš ื›ื‘ืจ ืข"ื™ Claude (Code ื•-Desktop), ChatGPT, Cursor, Cline, Continue, ื•-Zed. ื›ืฉืž-developer ื‘ื•ื ื” MCP server ืื—ื“ โ€” ื”ื•ื ืžืงื‘ืœ ืื™ื ื˜ื’ืจืฆื™ื” ืœ-ื—ืžื™ืฉื” LLMs ื‘ื•-ื–ืžื ื™ืช. ื–ื” ื”ืคืš ืืช MCP ืž-"ืขื•ื“ ืคืจื•ื˜ื•ืงื•ืœ" ืœ-standard ืืžื™ืชื™.

ื”-spec ืžื ื•ื”ืœ ืข"ื™ ืงื•ื ืกื•ืจืฆื™ื•ื ืคืชื•ื— ื‘-modelcontextprotocol.io. ื”ื•ื ืœื Anthropic-only โ€” ื—ื‘ืจื•ืช ืื—ืจื•ืช ืชื•ืจืžื•ืช ื•ืžืฆื™ืขื•ืช ืฉื™ืคื•ืจื™ื. ื–ื• ื”ื ืงื•ื“ื” ื”ืžืจื›ื–ื™ืช: MCP ืžื ืฆื— ื“ื•ื•ืงื ื‘ื’ืœืœ ืฉื”ื•ื ืœื ื‘ื‘ืขืœื•ืช ืžื™ืฉื”ื• ืื—ื“.

ืฉืœื•ืฉ ืงื•ื ืกืคื˜ื™ื ืžืจื›ื–ื™ื™ื

Tools โ€” ืคื•ื ืงืฆื™ื•ืช ืฉ-Claude ื™ื›ื•ืœ ืœื”ืคืขื™ืœ. ืœื“ื•ื’ืžื”: asana.create_task ืื• vercel.deploy. ื”ืŸ ื‘ืขืœื•ืช side effects. Resources โ€” ื ืชื•ื ื™ื ืฉ-Claude ื™ื›ื•ืœ ืœืงืจื•ื. ืœื“ื•ื’ืžื”: docs://api/v2 ืžื—ื–ื™ืจ ืžืกืžื›ื™ API. ื”ืŸ read-only. Prompts โ€” ืชื‘ื ื™ื•ืช ืคืจื•ืžืคื˜ ืคืจืžื˜ืจื™ื•ืช ืฉื”ืžืฉืชืžืฉ ื™ื›ื•ืœ ืœื”ืคืขื™ืœ. ืœื“ื•ื’ืžื”: prompt ื‘ืฉื summarize-pr ืฉืžืงื‘ืœ PR number ื•ืžื™ื™ืฆืจ prompt ืžืชืื™ื.

ื“ื•ื’ืžื” ยท MCP server ืžื™ื ื™ืžืœื™ ื‘-Python
# server.py โ€” minimal MCP server exposing 1 tool
from mcp.server import Server
from mcp.server.stdio import stdio_server
import asyncio

server = Server("hello-mcp")

@server.list_tools()
async def list_tools():
    return [{
        "name": "greet",
        "description": "Returns a greeting",
        "inputSchema": {
            "type": "object",
            "properties": {"name": {"type": "string"}},
            "required": ["name"]
        }
    }]

@server.call_tool()
async def call_tool(name, arguments):
    if name == "greet":
        return [{"type": "text", "text": f"Hello, {arguments['name']}!"}]

async def main():
    async with stdio_server() as (read, write):
        await server.run(read, write)

asyncio.run(main())
02

Asana, Canva, Vercel, ideabrowser

MCP servers ืžืชืงืฉืจื™ื ื‘-3 transports ืฉื•ื ื™ื, ื•ื›ืœ ืื—ื“ ืžื”ื ืžืชืื™ื ืœืžืฆื‘ ืื—ืจ. ืœื”ื‘ื™ืŸ ืืช ื”ื”ื‘ื“ืœ ื‘ื™ื ื™ื”ื ื–ื” ื”ืฆืขื“ ื”ืจืืฉื•ืŸ ืœืคื ื™ ืฉืžืชืงื™ื ื™ื ืžืฉื”ื•.

3 ื”-transports

stdio โ€” Claude ืžืคืขื™ืœ ืชื”ืœื™ืš ืžืงื•ืžื™, ืžืชืงืฉืจ ืื™ืชื• ื“ืจืš stdin/stdout. ื”ื›ื™ ืงืœ ืœื”ืชืงื™ืŸ, ืจืฅ ืจืง ืขืœ ื”ืžื—ืฉื‘ ืฉืœืš, ืื‘ืœ ืœื ืžืชืื™ื ืœืžืฉืชืžืฉื™ื ืžืจื•ื‘ื™ื. ืจื•ื‘ ื”-MCP servers ื‘ืงื•ื“ ื”ืคืชื•ื— (filesystem, git, github) ืžืฉืชืžืฉื™ื ื‘-stdio. HTTP โ€” ืฉืจืช ืžืจื•ื—ืง ืขื REST endpoint. ืฆืจื™ืš auth, ืื‘ืœ ื™ื›ื•ืœ ืœืฉืจืช ืžืกืคืจ ืžืฉืชืžืฉื™ื. ืฉื™ืžื•ืฉื™ ืœืืจื’ื•ื ื™ื. SSE (Server-Sent Events) โ€” ื—ื™ื‘ื•ืจ ืคืชื•ื— ืจืฆื™ืฃ ืœืฉืจืช. ืžืชืื™ื ืœ-streaming responses ื•ืขื“ื›ื•ื ื™ื ื‘ื–ืžืŸ ืืžืช. ืื ื™ ืžืฉืชืžืฉ ื‘ื–ื” ื‘-edumanage-qa ื›ื“ื™ ืœืขื“ื›ืŸ ืืช Claude ืขืœ ืฉื™ื ื•ื™ื™ื ื‘ืงื•ืจืกื™ื ื‘ื–ืžืŸ ืืžืช.

ืื™ืš ืžืชืงื™ื ื™ื โ€” ื”ื“ืจืš ื”ืžื”ื™ืจื”

ืคืชื•ื— ื˜ืจืžื™ื ืœ ื•ืชืจื™ืฅ claude mcp add โ€” ืชืงื‘ืœ wizard ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ ืฉืžืฆื™ื’ ืจืฉื™ืžื” ืฉืœ servers ื–ืžื™ื ื™ื (Asana, GitHub, Filesystem, ื•ืขื•ื“) ื•ืžื•ืกื™ืฃ ืื•ืชื ืœืงื•ื ืคื™ื’ื•ืจืฆื™ื”. ื–ื” ืžื˜ืคืœ ื’ื ื‘-OAuth ื›ืฉืฆืจื™ืš.

ื”ื“ืจืš ื”ื™ื“ื ื™ืช โ€” ืขืจื•ืš ~/.claude.json

ืœ-power-users ืฉืจื•ืฆื™ื ืฉืœื™ื˜ื” ืžืœืื”: ืขื•ืจื›ื™ื ืืช ~/.claude.json ื™ืฉื™ืจื•ืช (ื–ื” ื”-config ื”ืจืืฉื™ ืฉืœ Claude Code; ื”-MCP servers ื ืžืฆืื™ื ื‘ืชื•ื›ื• ืชื—ืช ื”ืžืคืชื— mcpServers). ื—ืœื•ืคื™ืช โ€” ืœืกืงื•ืค project-only ื™ืฉ .mcp.json ื‘ืฉื•ืจืฉ ื”ืคืจื•ื™ืงื˜. ื”ืคื•ืจืžื˜ ืคืฉื•ื˜: ืœื›ืœ server, ื ื•ืชื ื™ื ืฉื ื•-command (ืื™ืš ืœื”ืคืขื™ืœ ืื•ืชื•).

ื”ื“ืจืš ื”ืžื•ืžืœืฆืช: ื”ืฉืชืžืฉ ื‘-CLI ื‘ืžืงื•ื ืœืขืจื•ืš JSON ื™ื“ื ื™ืช. claude mcp add <name> <command> ืœื”ื•ืกืคื”, claude mcp list ืœืจืฉื™ืžื”, claude mcp remove <name> ืœื”ืกืจื”. ื”-CLI ืžื˜ืคืœ ื‘-JSON validation ืื•ื˜ื•ืžื˜ื™ืช ื•ืœื ืฉื•ื‘ืจ ืืช ื”ืงื•ื‘ืฅ.

ื›ืžื” ื“ื•ื’ืžืื•ืช ื—ืฉื•ื‘ื•ืช: Asana MCP ืž-Anthropic ื”ืจืฉืžื™ ืœื ื™ื”ื•ืœ ืžืฉื™ืžื•ืช, Canva MCP ืœืขื™ืฆื•ื‘, Vercel MCP ืœ-deploy ื•ืœื•ื’ื™ื, GitHub MCP ืœืคืขื•ืœื•ืช PR, ื•-ideabrowser MCP ืœืกื˜ืจื˜ืืค-ื ื™ืง'ื™ื. ื›ืœ ืืœื” ื–ืžื™ื ื™ื ื“ืจืš npm: npx @asana/mcp-server, npx @vercel/mcp-server ื•ื›ื•'.

ืฉืžื•ืช ื”ื›ืœื™ื: ืื—ืจื™ ืฉื”-server ืžื—ื•ื‘ืจ, ื”ื›ืœื™ื ืฉืœื• ื–ืžื™ื ื™ื ืœ-Claude ืขื prefix mcp__<server-name>__<tool>. ืœืžืฉืœ ืื—ืจื™ ื”ื•ืกืคืช Asana, ื™ื•ืคื™ืข mcp__asana__create_task. ื–ื” ืžืืคืฉืจ ืœืš ืœื›ื•ื•ืŸ ืืœื™ื”ื ื“ืจืš permissions: "deny": ["mcp__asana__delete_*"].

ื“ื•ื’ืžื” ยท ~/.claude.json (ืงื˜ืข mcpServers) ืขื 3 servers
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" }
    },
    "edumanage-qa": {
      "command": "node",
      "args": ["/opt/edumanage-qa/dist/index.js"],
      "env": { "BASE44_API_KEY": "xxx" }
    }
  }
}
03

FastAPI + mcp-python ื‘-30 ื“ืงื•ืช

ืœื‘ื ื•ืช MCP server ืžืฉืœืš ื–ื” ื”ืฆืขื“ ืฉืžืคืจื™ื“ ื‘ื™ืŸ ืžืฉืชืžืฉ ืœ-MCP-developer. ื–ื” ืคื—ื•ืช ืžื•ืจื›ื‘ ืžืžื” ืฉื—ื•ืฉื‘ื™ื โ€” 30 ื“ืงื•ืช ืœืงื‘ืœ ืžืฉื”ื• ืคื•ืขืœ. ื”ื ื” ื”-recipe ื”ืžืœื ื‘-Python.

ืฉืœื‘ 1 โ€” ื”ืชืงื ื”

pip install mcp fastapi uvicorn

ืฉืœื‘ 2 โ€” ื”ืงื•ื‘ืฅ ื”ืจืืฉื™

ื”-package ื”ืจืฉืžื™ mcp ื ื•ืชืŸ ืœืš ืืช ื›ืœ ื”-boilerplate. ืืชื” ื›ื•ืชื‘ decorators ืขืœ functions Python, ื•ื–ื” ืžืชื‘ืฆืข ื”ืชืจื’ื•ื ืœ-protocol ืื•ื˜ื•ืžื˜ื™ืช.

# my_mcp_server.py
from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp.types import Tool, TextContent
import asyncio
import os

server = Server("my-tools")

@server.list_tools()
async def list_tools() -> list[Tool]:
    return [
        Tool(
            name="search_files",
            description="Search files in a directory by name pattern",
            inputSchema={
                "type": "object",
                "properties": {
                    "pattern": {"type": "string", "description": "Glob pattern"},
                    "path": {"type": "string", "description": "Root path"}
                },
                "required": ["pattern"]
            }
        )
    ]

@server.call_tool()
async def call_tool(name: str, arguments: dict) -> list[TextContent]:
    if name == "search_files":
        from glob import glob
        path = arguments.get("path", os.getcwd())
        pattern = arguments["pattern"]
        results = glob(f"{path}/**/{pattern}", recursive=True)
        return [TextContent(type="text", text="\n".join(results) or "No files found")]

async def main():
    async with stdio_server() as (read, write):
        await server.run(read, write, server.create_initialization_options())

if __name__ == "__main__":
    asyncio.run(main())

ืฉืœื‘ 3 โ€” ืœื”ื•ืกื™ืฃ ืœ-Claude

# Recommended: claude mcp add my-tools "python /path/to/my_mcp_server.py"
# Manual alternative โ€” edit ~/.claude.json (under "mcpServers" key):
{
  "mcpServers": {
    "my-tools": {
      "command": "python",
      "args": ["/path/to/my_mcp_server.py"]
    }
  }
}

ืคืชื— ืกืฉืŸ ื—ื“ืฉ ืฉืœ Claude Code. ืชืจืื” ืืช mcp__my-tools__search_files ื–ืžื™ืŸ ื›-tool. ื–ื”ื•. ืืชื” ื›ืขืช developer ืฉืœ MCP.

ืชื›ืœื™ืช ยท ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ืŸ tool description ื˜ื•ื‘ ืœืจืข ื”-description ืฉืœ ื”-tool ื”ื•ื ื”-prompt-engineering ื”ื›ื™ ื—ืฉื•ื‘ ื‘ืž-MCP server ืฉืœืš. ื’ืจื•ืข: "search files". ื˜ื•ื‘: "Search files by glob pattern in a directory tree. Returns matching file paths newline-separated. Use when user asks to find files by name or extension. Example queries: '*.py in src/', 'all README files'." ื”-LLM ืงื•ืจื ืืช ื”-description ื•ืžื—ืœื™ื˜ ืื ืœื”ืฉืชืžืฉ. ืื ื”ื•ื ืžืขื•ืจืคืœ โ€” ื”ื›ืœื™ ืœื ื™ื•ืคืขืœ ื‘ื›ืœืœ.
04

edumanage-qa โ€” 20 ื›ืœื™ื ืขืœ VPS

edumanage-qa ื”ื•ื ื”-MCP server ื”ืจืืฉื•ืŸ ืฉืื ื™ ื‘ื ื™ืชื™ ื‘ืขืฆืžื™, ื•ื”ื•ื ืฉื™ื ื” ืืช ื”ื“ืจืš ืฉืื ื™ ื‘ื•ื“ืง ืงื•ืจืกื™ื ื‘ืคืœื˜ืคื•ืจืžืช EduManage ืฉืœื™. ื‘ืžืงื•ื ืœืคืชื•ื— 10 ื“ืฉื‘ื•ืจื“ื™ื ื•ืœืขืฉื•ืช QA ื™ื“ื ื™, ืื ื™ ืฉื•ืืœ ืืช Claude ืฉืืœื” ืื—ืช ื•ื”ื•ื ืžืฉืชืžืฉ ื‘-20 ื›ืœื™ื ืฉื•ื ื™ื ืžื”-server ืฉืœื™ ื›ื“ื™ ืœืขื ื•ืช.

ื”ืืจื›ื™ื˜ืงื˜ื•ืจื”

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Claude Code (local CLI)                                โ”‚
โ”‚  โ†“ MCP over SSE                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ†“ https://llm.bdnhost.net/edumanage-qa
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  edumanage-qa MCP server (FastAPI on VPS:8030)          โ”‚
โ”‚  โ€ข 20 tools: audit_course, list_assignments, โ€ฆ          โ”‚
โ”‚  โ€ข Calls Base44 REST for EduManage data                 โ”‚
โ”‚  โ€ข Calls local Ollama for cheap classification          โ”‚
โ”‚  โ€ข Returns only summarized findings to Claude           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ†“                              โ†“
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚ Base44 REST API  โ”‚         โ”‚  Ollama (local)  โ”‚
    โ”‚  EduManage data  โ”‚         โ”‚  gemma + nomic   โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

20 ื”ื›ืœื™ื

ื—ืœืง ืžื”ืžื‘ื—ืจ: list_courses, audit_course, course_stats, list_assignments, create_session, bulk_create_sessions, student_progress, suggest_improvements, create_announcement, generate_session_outline. ื›ืœ ื›ืœื™ ืžื•ื’ื“ืจ ื‘-FastAPI ืขื input schema ื‘ืจื•ืจ, ื•ืขื logging ืžื•ื‘ื ื” ื›ื“ื™ ืฉืื ื™ ืื“ืข ืžื™ ืงืจื ืœืžื”.

ืœืžื” Ollama ืžืงื•ืžื™ ื‘ืืจื›ื™ื˜ืงื˜ื•ืจื”

ื–ื” ื”ื˜ืจื™ืง ืฉื—ื•ืกืš 80% ืžื”ืขืœื•ืช. ื›ืฉ-Claude ืฉื•ืืœ "ืื™ืœื• ืงื•ืจืกื™ื ืฆืจื™ื›ื™ื ืฉื™ืคื•ืจ?", ื”ืฉืจืช ืœื ืฉื•ืœื— ืืช ื›ืœ 50 ื”ืงื•ืจืกื™ื ืœ-Claude. ื‘ืžืงื•ื ื–ื”, ื”ื•ื ืžืจื™ืฅ ืงืœืกื™ืคื™ืงืฆื™ื” ื–ื•ืœื” ื“ืจืš Ollama (gemma ื’ืจืกื” ืงืœื”, ื—ื™ื ื, ืจืฅ ืขืœ ื”-VPS), ืžืกื ืŸ ืœ-3 ื”ืงื•ืจืกื™ื ืฉื“ื•ืจืฉื™ื ื”ื›ื™ ื”ืจื‘ื” ืชืฉื•ืžืช ืœื‘, ื•ืฉื•ืœื— ืจืง ืื•ืชื ืœ-Claude ืœื ื™ืชื•ื— ืขื•ืžืง. ืชื•ืฆืื”: latency ื ืฉืืจ ื ืžื•ืš, ืขืœื•ืช LLM ื™ื•ืจื“ืช, ืื™ื›ื•ืช ื ืฉืžืจืช.

ROI

ืœืคื ื™ edumanage-qa: ~5 ืฉืขื•ืช ื‘ืฉื‘ื•ืข ืขืœ QA ื™ื“ื ื™ ืฉืœ ืงื•ืจืกื™ื. ืื—ืจื™: ~30 ื“ืงื•ืช ื‘ืฉื‘ื•ืข. ื”ื”ืฉืงืขื”: ื™ื•ืžื™ื™ื ืœื›ืชื•ื‘ ื•ืœืคืจื•ืก. ื”ื—ื–ืจ ื”ื”ืฉืงืขื”: ืฉื‘ื•ืขื™ื™ื. ื•ื–ื” ื”-ROI ื”ื ืžื•ืš โ€” ื”ืฆื•ื•ืช ืฉืœื™ ืขื›ืฉื™ื• ื™ื›ื•ืœ ืœืชื—ื–ืง 10 ืงื•ืจืกื™ื ื‘ืžืงื•ื 5 ื‘ืื•ืชื• ื–ืžืŸ.

ืœืงื— ยท MCP server ืœื ื—ื™ื™ื‘ ืœื”ื™ื•ืช "wrapper ืฉืœ API" ื”ื˜ืขื•ืช ื”ื ืคื•ืฆื” ื‘ื™ื•ืชืจ: ืœื—ืฉื•ื‘ ืขืœ MCP server ื›ืขืœ ืคืจื•ืงืกื™ REST. ื–ื” ืฉื™ืžื•ืฉื™, ืื‘ืœ ืžื—ืžื™ืฅ ืืช ื”ื›ื•ื— ื”ืืžื™ืชื™. MCP server ื˜ื•ื‘ ื”ื•ื orchestrator โ€” ื”ื•ื ืžืฉืœื‘ ื›ืžื” ืžืงื•ืจื•ืช ื ืชื•ื ื™ื, ืžื‘ืฆืข ื˜ืจื ืกืคื•ืจืžืฆื™ื•ืช ื–ื•ืœื•ืช ืžืงื•ืžื™ืช, ื•ืžื—ื–ื™ืจ ืจืง ืืช ื”ื—ืœืง ื”ื—ื›ื ืœ-LLM. ื›ื›ื” ื—ื•ืกื›ื™ื ืขืœื•ืช, latency, ื•ืฉื•ืžืจื™ื ืขืœ ืื™ื›ื•ืช ื’ื‘ื•ื”ื”.
05

claude-agent-sdk ื‘-Python ื•-TypeScript

Claude Code ื”ื•ื ื ื”ื“ืจ โ€” ืื‘ืœ ื”ื•ื ืจืฅ ื‘-CLI, ืžืฆืจื™ืš ืื“ื ืฉืœื•ื—ืฅ Enter, ื•ืœื ืžืชืื™ื ืœื›ืœ ืกืฆื ื”. ืœ-3 ื”ืกืฆื ื•ืช ื”ืืœื” ืืชื” ืฆืจื™ืš ืžืฉื”ื• ืื—ืจ: cron jobs, Lambda functions, ื•ืืคืœื™ืงืฆื™ื•ืช ืฉืžื˜ืžื™ืขื•ืช Claude ื›ืขื•ื–ืจ ืคื ื™ืžื™. ื–ื” ื”ืชืคืงื™ื“ ืฉืœ Agent SDK.

Agent SDK ื”ื•ื ืกืคืจื™ื” ืจืฉืžื™ืช ืฉืœ Anthropic, ื–ืžื™ื ื” ื‘-Python ื•ื‘-TypeScript. ื”ื™ื ื—ื•ืฉืคืช ืืช ื›ืœ ื”ื™ื›ื•ืœื•ืช ืฉืœ Claude Code (tool use, prompt caching, sub-agents, MCP) ื›-API ืฉืืคืฉืจ ืœืงืจื•ื ืžืงื•ื“. ืื™ืŸ CLI. ืื™ืŸ UI. ืจืง import + run.

ืžื” ื”-SDK ืžื˜ืคืœ ื‘ื• ืื•ื˜ื•ืžื˜ื™ืช

Tool use loop โ€” ืืชื” ื ื•ืชืŸ ืจืฉื™ืžืช tools, ื”-SDK ืจืฅ ืืช ืœื•ืœืืช callโ†’response ืขื“ ืฉื™ืฉ ืชืฉื•ื‘ื” ืกื•ืคื™ืช. Streaming โ€” ืชืฉื•ื‘ื•ืช ืžื’ื™ืขื•ืช chunk-by-chunk, ื ื•ื— ืœ-UI realtime. Prompt caching โ€” ืื•ื˜ื•ืžื˜ื™ ืœืงื‘ืฆื™ื ื’ื“ื•ืœื™ื ืฉืืชื” ืžืขื‘ื™ืจ ืฉื•ื‘ ื•ืฉื•ื‘ (ื›ืžื• ืงื•ื‘ืฅ ื”ืงื•ื“ ืฉืœืš). ื—ื•ืกืš 90% ืžื”ืขืœื•ืช. Error handling โ€” retries ืขื backoff, timeout management.

ืกืฆื ืช ืฉื™ืžื•ืฉ ืงืœืืกื™ืช

# agent.py โ€” Claude that searches the web and writes a summary
from claude_agent_sdk import Agent
from claude_agent_sdk.tools import web_search, write_file

agent = Agent(
    model="claude-opus-4-7",
    system="You are a research assistant. Search the web, summarize findings.",
    tools=[web_search, write_file]
)

result = agent.run(
    "Find the top 3 papers from 2025 on agentic memory architectures, "
    "summarize each in 100 words, save to research-notes.md"
)
print(result.summary)
print(f"Cost: ${result.usage.total_cost:.4f}")

ืชืจื™ืฅ ืขื python agent.py. ื”ืื“ื ืฉืœื•ื—ืฅ Enter? ืœื ืฆืจื™ืš. ื”-SDK ืžื˜ืคืœ ื‘ื›ืœ ืœื•ืœืืช ื”-tool calls ืื•ื˜ื•ืžื˜ื™ืช.

ืžื” ืœื’ื‘ื™ OpenAI / Gemini SDK? Agent SDK ืฉืœ Anthropic ืœื ื™ื—ื™ื“ ื‘ืฉื•ืง. ืœ-OpenAI ื™ืฉ ืืช Assistants API, ืœ-Google ื™ืฉ Vertex AI Agent Builder. ื”ื”ื‘ื“ืœื™ื: (1) ื”-Anthropic SDK ื”ื™ื—ื™ื“ ืฉืชื•ืžืš ื‘-MCP native โ€” ื”ืกื˜ื ื“ืจื˜ ืฉืžืชืคืฉื˜. (2) Prompt caching ืฉืœ Anthropic ื–ื•ืœ ื™ื•ืชืจ ืžืฉืžืขื•ืชื™ืช. (3) Sub-agents ืžื•ื‘ื ื™ื. ืฉื•ืจื” ืชื—ืชื•ื ื”: ืื ืืชื” ืžืฉืชืžืฉ ื‘-Claude ื›ื™ ืื”ื‘ืช ืื•ืชื• ื‘-CLI, ื”-SDK ื”ื–ื” ื”ื•ื ื”ื‘ื—ื™ืจื” ื”ื˜ื‘ืขื™ืช.
06

cron + sdk + memory persistence

Headless agent ื”ื•ื Claude ืฉืจืฅ ื‘ืœื™ ื‘ื ื™ ืื“ื โ€” ื”ื•ื ืžื•ืคืขืœ ืข"ื™ cron, webhook, ืื• event ืฉื–ื™ื”ื” ืžืฉื”ื• ืฉื“ื•ืจืฉ ืคืขื•ืœื”, ื•ืžื—ื–ื™ืจ ืชื•ืฆืื” ืœืžืงื•ื ืื•ื˜ื•ืžื˜ื™ (Slack, Telegram, DB). ื–ื” ื”ื”ืคืจืฉ ื‘ื™ืŸ ื›ืœื™ ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ืœื‘ื™ืŸ ืฉื›ื‘ืช infrastructure.

4 ื”ื“ืคื•ืกื™ื ืฉืื ื™ ืžืฉืชืžืฉ ื‘ื”ื

(1) Cron + SDK โ€” ืกืงืจื™ืคื˜ ืคื™ื™ืชื•ืŸ ืฉืจืฅ ื‘-crontab. ืœืžืฉืœ: ื‘ื›ืœ ื‘ื•ืงืจ ื‘-08:00, ืžืกื›ื ืืช ื”-PRs ืฉืœ ืืชืžื•ืœ ื•ืฉื•ืœื— ืœื˜ืœื’ืจื. (2) Webhook + Lambda โ€” function ืฉืžืงื‘ืœืช webhook, ืžืคืขื™ืœื” Claude, ืžื—ื–ื™ืจื” ืชืฉื•ื‘ื”. ืœืžืฉืœ: ืžืขืจื›ืช ืชืžื™ื›ื” ืฉ-ืžืกื•ื•ื’ืช ืชื™ืงื˜ื™ื ืื•ื˜ื•ืžื˜ื™ืช. (3) Memory persistence โ€” ืœืกื•ื›ื ื™ื ืืจื•ื›ื™-ื˜ื•ื•ื—, ืฉื•ืžืจื™ื ืืช ื”-conversation state ื‘-DB ื•ืžืฉื—ื–ืจื™ื ื‘ื”ืคืขืœื” ื”ื‘ืื”. (4) Cost gating โ€” ื‘ื•ื“ืงื™ื lifetime cost ืฉืœ agent ื•ืขื•ืฆืจื™ื ืื ืขื‘ืจ $X.

ื“ื•ื’ืžื” ืžืœืื” โ€” daily git summary

# /opt/git-summary/agent.py
from claude_agent_sdk import Agent
import subprocess, requests, os
from datetime import datetime, timedelta

# Get yesterday's commits
yesterday = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d")
commits = subprocess.check_output([
    "git", "-C", "/repo", "log",
    f"--since={yesterday} 00:00",
    f"--until={yesterday} 23:59",
    "--pretty=format:%h %s (%an)"
]).decode()

agent = Agent(model="claude-haiku-4-5-20251001",
              system="Summarize git commits as a 5-line dev report.")
result = agent.run(f"Summarize these commits:\n{commits}")

# Post to Telegram
requests.post(
    f"https://api.telegram.org/bot{os.environ['TG_TOKEN']}/sendMessage",
    json={"chat_id": os.environ['TG_CHAT'], "text": result.summary}
)

ื”ื•ืกืฃ ืœ-crontab:

0 8 * * * cd /opt/git-summary && /usr/bin/python3 agent.py >> /var/log/git-summary.log 2>&1

Tool gating โ€” ื—ื•ื‘ื” ืœ-headless

ื›ืฉืืชื” ืจืฅ ืœืœื ืื“ื โ€” ืชื›ืชื‘ ืืช tools=[...] ืžืฆื•ืžืฆื. ืืœ ืชื™ืชืŸ ืœ-headless agent ื’ื™ืฉื” ืœ-Bash ืื• Write ืขืœ production. ืชืŸ ืจืง ืืช ืžื” ืฉื”ื•ื ื—ื™ื™ื‘. ื–ื• ืื‘ื˜ื—ื” ื•ืœื ื‘ื™ืจื•ืงืจื˜ื™ื”: agent ืขื access ืœ-Bash + bug ื‘-prompt = ืืกื•ืŸ.

ื”ืžืœืฆื” ยท Haiku ืœ-headless, Opus ืœืื™ื ื˜ืจืืงื˜ื™ื‘ื™ ืœืกื•ื›ื ื™ื headless ืฉืžืกื›ืžื™ื ื ืชื•ื ื™ื ืื• ืžืกื•ื•ื’ื™ื โ€” Haiku 4.5 ื”ื•ื 95% ืžื”ืชื•ืฆืื” ืฉืœ Opus ื‘ืขืœื•ืช 10%. ืฉืžื•ืจ ืืช Opus ืœืขื‘ื•ื“ื” ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ืช ืฉื“ื•ืจืฉืช ื—ืฉื™ื‘ื” ืขืžื•ืงื”. ื”-cost saving ื”ื–ื” ืœื‘ื“ื• ื™ื›ื•ืœ ืœื”ื•ืจื™ื“ ืืช ื—ืฉื‘ื•ืŸ ื”-LLM ื”ื—ื•ื“ืฉื™ ื‘-50%+.
07

ืœื ืจืง tools โ€” ื’ื templates

ืจื•ื‘ ื”ืžืคืชื—ื™ื ืฉื‘ื•ื ื™ื MCP servers ืžืชืขืœืžื™ื ืž-2 ืžืชื•ืš 3 ื”ืงื•ื ืกืคื˜ื™ื ืฉืœ MCP. ื”ื ื‘ื•ื ื™ื ืจืง Tools. ื”ื ืคื•ืขืœื™ื ื‘ืœื™ Resources. ื”ื ืœื ืžื ืฆืœื™ื Prompts. ื•ื–ื” ื—ื‘ืœ โ€” ื›ื™ ืฉื ืžืกืชืชืจืช ื—ื•ื•ื™ื™ืช ืžืฉืชืžืฉ ืฉืœืžื” ืฉืœื ืงื™ื™ืžืช ื‘ืœืขื“ื™ื”ื.

Resources โ€” ื ืชื•ื ื™ื read-only ืฉ-Claude ื™ื›ื•ืœ ืœืงืจื•ื

Tool ื”ื•ื ืคืขื•ืœื”. Resource ื”ื•ื ื ืชื•ืŸ. ื”ื”ื‘ื“ืœ ืงืจื™ื˜ื™: Claude ื™ื›ื•ืœ ืœื”ืฆื™ื’ Resource ืœืžืฉืชืžืฉ, ืœื”ืขื‘ื™ืจ ืืช ื”-URL ืฉืœื• ืœื›ืœื™ื ืื—ืจื™ื, ืื• ืœื˜ืขื•ืŸ ืื•ืชื• ืœ-context. ื“ื•ื’ืžื”: MCP server ืฉื—ื•ืฉืฃ docs://api/v2 โ€” Claude ืงื•ืจื ืืช ื”ืชื™ืขื•ื“ ื•ืžืฉื™ื‘ ืขืœ ืฉืืœื•ืช API ืžื‘ืœื™ ืฉืืชื” ืฆืจื™ืš ืœืคืจืกื ืชื™ืขื•ื“ ื ืคืจื“.

@server.list_resources()
async def list_resources():
    return [{
        "uri": "docs://api/v2",
        "name": "API v2 Documentation",
        "mimeType": "text/markdown"
    }]

@server.read_resource()
async def read_resource(uri: str):
    if uri == "docs://api/v2":
        return [{"type": "text", "text": open("/docs/api-v2.md").read()}]

Prompts โ€” ืชื‘ื ื™ื•ืช ืคืจื•ืžืคื˜ ืฉื”ืžืฉืชืžืฉ ื™ื›ื•ืœ ืœื”ืคืขื™ืœ

Prompts ื”ื shortcuts ืœ-prompt engineering. ื‘ืžืงื•ื ืฉื”ืžืฉืชืžืฉ ื™ื›ืชื•ื‘ prompt ืžื•ืจื›ื‘ ื›ืœ ืคืขื, ื”-MCP server ืžืกืคืง ืชื‘ื ื™ืช ืคืจืžื˜ืจื™ืช. ื‘-Claude Code, ื”ืชื‘ื ื™ื•ืช ื ื—ืฉืคื•ืช ื›-slash commands ื›ืžื• /summarize-pr 123.

@server.list_prompts()
async def list_prompts():
    return [{
        "name": "summarize-pr",
        "description": "Summarize a GitHub PR with risks and review checklist",
        "arguments": [{"name": "pr_number", "required": True}]
    }]

@server.get_prompt()
async def get_prompt(name, arguments):
    if name == "summarize-pr":
        pr = arguments["pr_number"]
        return {
            "messages": [{
                "role": "user",
                "content": f"Fetch PR #{pr} from github, summarize: "
                           f"(1) intent, (2) risks, (3) review checklist."
            }]
        }

ืžืชื™ ืœื”ืฉืชืžืฉ ื‘ืžื”

Tool โ€” ืคืขื•ืœื” ืขื side effect (ื™ืฆื™ืจืช ืงื•ื‘ืฅ, ืฉืœื™ื—ืช ืžื™ื™ืœ, ื—ื™ื•ื‘). Resource โ€” ื ืชื•ืŸ ืฉืืชื” ืจื•ืฆื” ืฉ-Claude ื™ืงืจื ืื• ืฉื™ื•ืคื™ืข ืืฆืœ ื”ืžืฉืชืžืฉ (ืชื™ืขื•ื“, ืกื˜ื˜ื•ืก, ื ืชื•ื ื™ config). Prompt โ€” workflow ืžื•ื›ืŸ ืฉืืชื” ืจื•ืฆื” ืฉืžืฉืชืžืฉ ื™ื•ื›ืœ ืœื”ืคืขื™ืœ ื‘ืงืœื•ืช (slash command, sidebar).

ื“ื•ื’ืžื” ยท MCP server ืฉืžืฉืœื‘ ืืช 3 ื”ืงื•ื ืกืคื˜ื™ื ื”ืฆื•ื•ืช ื”ื›ื™ ื˜ื•ื‘ ืฉืจืื™ืชื™ ื”ื•ื github-mcp ื”ืจืฉืžื™: Tools ืœ-create_pr, merge_pr (ืคืขื•ืœื•ืช). Resources ืœ-readme://repo-name (ืงืจื™ืื”). Prompts ืœ-/review-pr (workflow). ื–ื” ืžื” ืฉื”ื•ืคืš ืืช ื”ืคืœืื’ื™ืŸ ืž-API wrapper ืœ-experience ืžืœื.
08

Claude Code ื”ื•ื ืจืง ื”ืชื—ืœื”

MCP ื•-Agent SDK ื”ื ื”ื›ืœื™ื ืฉื”ื•ืคื›ื™ื ืืช Claude ืž-CLI ืื™ืฉื™ ืœ-infrastructure. ืขื MCP ืืชื” ืžื—ื‘ืจ ืืช Claude ืœื›ืœ ืฉื™ืจื•ืช ืฉืืชื” ืžืฉืชืžืฉ ื‘ื• (Asana, Vercel, DB, FS). ืขื Agent SDK ืืชื” ืžื•ืฆื™ื ืืช Claude ืžื”-CLI โ€” ื•ื”ื•ืคืš ืื•ืชื• ืœืกื•ื›ืŸ ืฉ-ื™ื›ื•ืœ ืœืจื•ืฅ ื‘-Lambda, ื‘-cron, ืื• ื‘ืชื•ืš ืืคืœื™ืงืฆื™ื” ืื—ืจืช. ืฉืชื™ ื”ืฉื›ื‘ื•ืช, ื™ื—ื“, ื”ืŸ ื”ื”ื‘ื“ืœ ื‘ื™ืŸ "ืื ื™ ืžืฉืชืžืฉ ื‘-AI" ืœ-"AI ื”ื•ื ื—ืœืง ืžื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœื™".

ื‘-2026, ื”ืฉืืœื” ื›ื‘ืจ ืœื "ื”ืื ืœื”ืฉืชืžืฉ ื‘-Claude Code". ื”ืฉืืœื” ื”ื™ื ืื™ืš ืœื”ืคื•ืš ืืช Claude ืœื—ืœืง ืžื”-stack ืฉืœืš. MCP ื”ื•ื ื”ื›ืจื˜ื™ืก ื”ื–ื”ื‘ โ€” ื›ื™ ื”ื•ื ืžื‘ื˜ื™ื— ืฉืžื” ืฉืชื‘ื ื” ื”ื™ื•ื ื™ืขื‘ื•ื“ ื’ื ืขื ChatGPT, Cursor, ื•ืขื ื›ืœ LLM ืฉื™ื’ื™ืข ืžื—ืจ.

ืžื™ ืฉืžืชื—ื™ืœ ื”ื™ื•ื ืœื‘ื ื•ืช MCP server ืื—ื“ โ€” ืœืื—ื“ ื”ื›ืœื™ื ืฉื”ื•ื ืžืฉืชืžืฉ ื‘ื”ื ื‘ืขื‘ื•ื“ื” โ€” ื ื›ื ืก ืœ-2027 ืขื ื™ืชืจื•ืŸ ืžื”ื•ืชื™. ื›ื™ ื›ืœ ืžื™ ืฉืœื ื™ื“ื‘ืจ MCP ื™ื™ืฉืืจ ื‘ืขื™ื“ืŸ ืฉืœ API ืงืœืืกื™, ื•ื›ืœ ืžื™ ืฉื›ืŸ ื™ื“ื‘ืจ โ€” ื™ืงื‘ืœ ืื™ื ื˜ื’ืจืฆื™ื•ืช ื‘ื—ื™ื ื ื‘ื›ืœ ืคืขื ืฉื™ื•ืฆื LLM ื—ื“ืฉ.

Agent SDK ื”ื•ื ื”ื”ืคื™ื›ื” ื”ืฉืงื˜ื”: ื›ืœ developer ืฉื›ื•ืชื‘ Python ื™ื›ื•ืœ ืœื‘ื ื•ืช ืกื•ื›ืŸ production-ready. ยท The Final Takeaway ยท
09

ืฉืืœื•ืช ื ืคื•ืฆื•ืช

ืžื” ื–ื” MCP ื‘ืžืฉืคื˜ ืื—ื“?

MCP (Model Context Protocol) ื”ื•ื ืชืงืŸ ืคืชื•ื— ืœื—ื™ื‘ื•ืจ LLMs ืœืฉื™ืจื•ืชื™ื ื—ื™ืฆื•ื ื™ื™ื. ื‘ืžืงื•ื ืœื›ืชื•ื‘ adapter ื™ื™ืขื•ื“ื™ ืœื›ืœ ืฉื™ืจื•ืช, ื”ืฉื™ืจื•ืช ื—ื•ืฉืฃ MCP server, ื•ื›ืœ LLM ืฉืžื“ื‘ืจ MCP (ื›ื•ืœืœ Claude, ChatGPT ืขื plugins, ื•ืขื•ื“) ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื• ืœืœื ืงื•ื“ adapter.

ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ืŸ stdio, HTTP ื•-SSE MCP?

stdio: Claude ืžืคืขื™ืœ ืชื”ืœื™ืš ืžืงื•ืžื™, ืžืชืงืฉืจ ื“ืจืš stdin/stdout. ื”ื›ื™ ืงืœ ืœื”ืชืงื™ืŸ, ืื‘ืœ ืจืฅ ืจืง ืขืœ ื”ืžื—ืฉื‘ ืฉืœืš. HTTP: ืฉืจืช ืžืจื•ื—ืง ืขื REST. ืฆืจื™ืš auth, ืื‘ืœ ื™ื›ื•ืœ ืœืฉืจืช ืžืกืคืจ ืžืฉืชืžืฉื™ื. SSE (Server-Sent Events): ื—ื™ื‘ื•ืจ ืคืชื•ื— ืจืฆื™ืฃ. ื”ื›ื™ ื˜ื•ื‘ ืœืขื“ื›ื•ื ื™ื ื‘ื–ืžืŸ ืืžืช. ืขื‘ื•ืจ ืฉื™ืžื•ืฉ ืื™ืฉื™ โ€” stdio. ืขื‘ื•ืจ ืฆื•ื•ืช/ืืจื’ื•ืŸ โ€” HTTP/SSE.

ืื™ืš ืœื”ืชืงื™ืŸ ืืช MCP ืฉืœ Asana?

ื‘-Claude Code: claude mcp add asana "npx @asana/mcp-server", ืชืŸ ื”ืจืฉืื•ืช OAuth ื“ืจืš browser. ื™ื“ื ื™ืช โ€” ืขื•ืจื›ื™ื ืืช ~/.claude.json (ืชื—ืช ื”ืžืคืชื— mcpServers): { "asana": { "command": "npx", "args": ["@asana/mcp-server"] } }. ืื—ืจื™ restart ืฉืœ Claude โ€” ื”ื›ืœื™ื mcp__asana__* ื–ืžื™ื ื™ื ืื•ื˜ื•ืžื˜ื™ืช.

ืื™ืš ืœื‘ื ื•ืช MCP server ืžืฉืœื™?

(1) pip install mcp fastapi uvicorn. (2) ื”ื’ื“ืจ Server ืž-mcp.server. (3) ืจืฉื•ื tools ืขื @server.list_tools() ื•-@server.call_tool(). (4) ืฉื’ืจ ื‘-uvicorn server:app --port 8030. (5) ื”ื•ืกืฃ ืœ-Claude: claude mcp add my-server http://localhost:8030. ื“ื•ื’ืžื” ืžืœืื” ื‘-python-sdk.

ืžื” ื–ื” Agent SDK ื•ืžืชื™ ืžืฉืชืžืฉื™ื ื‘ื•?

Agent SDK ื”ื•ื ืกืคืจื™ื” ืจืฉืžื™ืช ืฉืœ Anthropic (Python ื•-TypeScript) ืœื”ืจืฆืช Claude ืžื—ื•ืฅ ืœ-CLI. ื“ื•ื’ืžืื•ืช ืฉื™ืžื•ืฉ: cron job ืฉ-ืžืกื›ื PR-ื™ื ื™ื•ืžื™ืช; Lambda function ืฉ-ืžืงื‘ืœ webhook ื•-ืžื‘ืฆืข ืคืขื•ืœื”; ื“ืฉื‘ื•ืจื“ ืคื ื™ืžื™ ืฉืžื˜ืžื™ืข Claude ื›ืขื•ื–ืจ. ื”-SDK ืžื˜ืคืœ ื‘-tool use, streaming, ื•-prompt caching ืื•ื˜ื•ืžื˜ื™ืช.

ื”ืื MCP server ืฉืœื™ ื™ื›ื•ืœ ืœืงืจื•ื ืœ-LLM ืื—ืจ?

ื›ืŸ. MCP server ื”ื•ื ืฉื™ืจื•ืช ืขืฆืžืื™ โ€” ื”ื•ื ื™ื›ื•ืœ ืœืงืจื•ื ืœ-OpenAI, Gemini, Mistral, ืื• ืœื›ืœ ืžื•ื“ืœ ืื—ืจ. ื“ื•ื’ืžื” ืฉืœื™: edumanage-qa MCP ืžืฉืชืžืฉ ื‘-Ollama ืžืงื•ืžื™ ืœืกื™ื•ื•ื’ ื–ื•ืœ, ื•ืฉื•ืœื— ืจืง ื”ื—ืœื˜ื•ืช ืกื•ืคื™ื•ืช ืœืจืื™ื•ืŸ Claude. ืืจื›ื™ื˜ืงื˜ื•ืจื” ื–ื• ื—ื•ืกื›ืช 80% ืžืขืœื•ืช ื”-LLM.

Claude Code ื”ื•ื ืจืง ื”ืชื—ืœื”

ืžื™ ืฉืžืชื—ื™ืœ ื”ื™ื•ื ืœื‘ื ื•ืช MCP server ืื—ื“ โ€” ืœืื—ื“ ื”ื›ืœื™ื ืฉื”ื•ื ืžืฉืชืžืฉ ื‘ื”ื โ€” ื ื›ื ืก ืœ-2027 ืขื ื™ืชืจื•ืŸ ืžื”ื•ืชื™. ื›ื™ ื›ืœ ืžื™ ืฉืœื ื™ื“ื‘ืจ MCP ื™ื™ืฉืืจ ื‘ืขื™ื“ืŸ ืฉืœ API ืงืœืืกื™.

ื”ืžืฉืš ื‘ืกื“ืจืช Claude Code

ื–ื” ื”ื—ืœืง ื”ืื—ืจื•ืŸ ื‘ืกื“ืจืช Claude Code ยท Issue III ยท 2026. ื‘-Bootcamp Pro ืชื‘ื ื” MCP server ืžืฉืœืš, ืกื•ื›ืŸ headless ืขื Agent SDK, ื•-pipeline production ืœืื•ื˜ื•ืžืฆื™ื”.

Bootcamp Pro Part IV ยท Skills Part V ยท Hooks ๐Ÿ“ฐ Hub ื”ืกื“ืจื”

๐Ÿ“š ืงืจื“ื™ื˜ ื˜ื›ื ื™ ื•ืžืงื•ืจื•ืช

ื”ื›ื•ืชื‘: ื™ืขืงื‘ ื‘ื™ื“ื ื™, ืžื™ื™ืกื“ ื•ืžื ื›"ืœ BDNHOST Group. ืžืจืฆื” ื‘ื›ื™ืจ ืœ-AI ื•ืžื“ืขื™ ื”ืžื—ืฉื‘ ื‘ืžื›ืœืœื•ืช ื‘ื™ืฉืจืืœ. ื‘ื•ื ื” ืคื•ืจื˜ืคื•ืœื™ื• SaaS ืฉืœ 10+ ืืคืœื™ืงืฆื™ื•ืช ื‘-Base44 ื•-VPS.

#ClaudeCode ยท #AgenticMemory ยท #AIArchitecture ยท #DevTools ยท #AI2026

ืฆืคื•: MCP ื•-Agent SDK ื‘ืคืขื•ืœื”

ื”ืฉื™ืขื•ืจ ืขืœ MCP, ื”ืฉื™ืขื•ืจ ืขืœ Skills (ืฉืžืชื—ื‘ืจ ืœ-MCP), ื•ื”ืฉื™ืขื•ืจ ืขืœ CLAUDE.md (ื–ื™ื›ืจื•ืŸ ืœืกื•ื›ืŸ).

ืฉื™ืขื•ืจ 4: ื”ืงื•ื‘ืฅ ื”ืกื•ื“ื™ ืฉืžืฉื ื” ื”ื›ืœ โ€” CLAUDE.md | ืงื•ืจืก ืงืœื•ื“ ืงื•ื“ ืœืžืงืฆื•ืขื ื™ื โ€” BDNHOST Academy
โ–ถ
ืฉื™ืขื•ืจ 4: ื”ืงื•ื‘ืฅ ื”ืกื•ื“ื™ ืฉืžืฉื ื” ื”ื›ืœ โ€” CLAUDE.md | ืงื•ืจืก ืงืœื•ื“ ืงื•ื“ ืœืžืงืฆื•ืขื ื™ื โ€” BDNHOST Academy
YouTube ยท BDNHOST ยท EduManage
ืฉื™ืขื•ืจ 7: Skills โ€” ื”ื›ืœื™ ืฉื”ื•ืคืš ืืชื›ื ืœืžืชืงื“ืžื™ื | ืงื•ืจืก ืงืœื•ื“ ืงื•ื“ ืœืžืงืฆื•ืขื ื™ื โ€” BDNHOST Academy
โ–ถ
ืฉื™ืขื•ืจ 7: Skills โ€” ื”ื›ืœื™ ืฉื”ื•ืคืš ืืชื›ื ืœืžืชืงื“ืžื™ื | ืงื•ืจืก ืงืœื•ื“ ืงื•ื“ ืœืžืงืฆื•ืขื ื™ื โ€” BDNHOST Academy
YouTube ยท BDNHOST ยท EduManage
ืฉื™ืขื•ืจ 10: MCP โ€” ื—ื™ื‘ื•ืจ ืœื›ืœื™ื ืฉืืชื ื›ื‘ืจ ืžืฉืชืžืฉื™ื | ืงื•ืจืก ืงืœื•ื“ ืงื•ื“ ืœืžืงืฆื•ืขื ื™ื โ€” BDNHOST Academy
โ–ถ
ืฉื™ืขื•ืจ 10: MCP โ€” ื—ื™ื‘ื•ืจ ืœื›ืœื™ื ืฉืืชื ื›ื‘ืจ ืžืฉืชืžืฉื™ื | ืงื•ืจืก ืงืœื•ื“ ืงื•ื“ ืœืžืงืฆื•ืขื ื™ื โ€” BDNHOST Academy
YouTube ยท BDNHOST ยท EduManage

โ†’ ื›ืœ ื”ืกืจื˜ื•ื ื™ื ื‘ืขืจื•ืฅ EduManage AI Bootcamp ื‘-YouTube