MCP ืคืืชืจ ืืขืื ืืืช: ืืื ืืืืื ืฉืคื ืืชืืืจืื ืืืืื ืืื adapter ืืืขืืื ืืื ืฉืืจืืช.
Agent SDK ืคืืชืจ ืืขืื ืืฉืืืื: ืืื ืืื ืืช ืกืืื ืฉืจืฅ ืืื GUI โ ืืืืืืืฆืื, ื-cron, ื-Lambda.
ืืืืจืื ืืื ืืจืื ืืื ืื ืืฉืืืืื ืื ืืช ืื, ืืืื ืืื ืืช ืืช ืฉื ืืื ืืขืืจืืช โ ื-FastAPI ืืขื deploy.
ื-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 ืืชืืื.
# 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())
MCP servers ืืชืงืฉืจืื ื-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 ืืฉืฆืจืื.
ื-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_*"].
{
"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" }
}
}
}
ืืื ืืช MCP server ืืฉืื ืื ืืฆืขื ืฉืืคืจืื ืืื ืืฉืชืืฉ ื-MCP-developer. ืื ืคืืืช ืืืจืื ืืื ืฉืืืฉืืื โ 30 ืืงืืช ืืงืื ืืฉืื ืคืืขื. ืื ื ื-recipe ืืืื ื-Python.
pip install mcp fastapi uvicorn
ื-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())
# 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.
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 ืืืืืื ืื ืืืฉืชืืฉ. ืื ืืื ืืขืืจืคื โ ืืืื ืื ืืืคืขื ืืืื.
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 โ
โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
ืืืง ืืืืืืจ: 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 ืืืื ื ืืื ืฉืื ื ืืืข ืื ืงืจื ืืื.
ืื ืืืจืืง ืฉืืืกื 80% ืืืขืืืช. ืืฉ-Claude ืฉืืื "ืืืื ืงืืจืกืื ืฆืจืืืื ืฉืืคืืจ?", ืืฉืจืช ืื ืฉืืื ืืช ืื 50 ืืงืืจืกืื ื-Claude. ืืืงืื ืื, ืืื ืืจืืฅ ืงืืกืืคืืงืฆืื ืืืื ืืจื Ollama (gemma ืืจืกื ืงืื, ืืื ื, ืจืฅ ืขื ื-VPS), ืืกื ื ื-3 ืืงืืจืกืื ืฉืืืจืฉืื ืืื ืืจืื ืชืฉืืืช ืื, ืืฉืืื ืจืง ืืืชื ื-Claude ืื ืืชืื ืขืืืง. ืชืืฆืื: latency ื ืฉืืจ ื ืืื, ืขืืืช LLM ืืืจืืช, ืืืืืช ื ืฉืืจืช.
ืืคื ื edumanage-qa: ~5 ืฉืขืืช ืืฉืืืข ืขื QA ืืื ื ืฉื ืงืืจืกืื. ืืืจื: ~30 ืืงืืช ืืฉืืืข. ืืืฉืงืขื: ืืืืืื ืืืชืื ืืืคืจืืก. ืืืืจ ืืืฉืงืขื: ืฉืืืขืืื. ืืื ื-ROI ืื ืืื โ ืืฆืืืช ืฉืื ืขืืฉืื ืืืื ืืชืืืง 10 ืงืืจืกืื ืืืงืื 5 ืืืืชื ืืื.
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.
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 ืืืืืืืืช.
Headless agent ืืื Claude ืฉืจืฅ ืืื ืื ื ืืื โ ืืื ืืืคืขื ืข"ื cron, webhook, ืื event ืฉืืืื ืืฉืื ืฉืืืจืฉ ืคืขืืื, ืืืืืืจ ืชืืฆืื ืืืงืื ืืืืืืื (Slack, Telegram, DB). ืื ืืืคืจืฉ ืืื ืืื ืคืจืืืืงืืืืืืช ืืืื ืฉืืืช infrastructure.
(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.
# /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
ืืฉืืชื ืจืฅ ืืื ืืื โ ืชืืชื ืืช tools=[...] ืืฆืืืฆื. ืื ืชืืชื ื-headless agent ืืืฉื ื-Bash ืื Write ืขื production. ืชื ืจืง ืืช ืื ืฉืืื ืืืื. ืื ืืืืื ืืื ืืืจืืงืจืืื: agent ืขื access ื-Bash + bug ื-prompt = ืืกืื.
ืจืื ืืืคืชืืื ืฉืืื ืื MCP servers ืืชืขืืืื ื-2 ืืชืื 3 ืืงืื ืกืคืืื ืฉื MCP. ืื ืืื ืื ืจืง Tools. ืื ืคืืขืืื ืืื Resources. ืื ืื ืื ืฆืืื Prompts. ืืื ืืื โ ืื ืฉื ืืกืชืชืจืช ืืืืืืช ืืฉืชืืฉ ืฉืืื ืฉืื ืงืืืืช ืืืขืืืื.
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 ืื 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 ื-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 ืืืฉ.
MCP (Model Context Protocol) ืืื ืชืงื ืคืชืื ืืืืืืจ LLMs ืืฉืืจืืชืื ืืืฆืื ืืื. ืืืงืื ืืืชืื adapter ืืืขืืื ืืื ืฉืืจืืช, ืืฉืืจืืช ืืืฉืฃ MCP server, ืืื LLM ืฉืืืืจ MCP (ืืืื Claude, ChatGPT ืขื plugins, ืืขืื) ืืืื ืืืฉืชืืฉ ืื ืืื ืงืื adapter.
stdio: Claude ืืคืขืื ืชืืืื ืืงืืื, ืืชืงืฉืจ ืืจื stdin/stdout. ืืื ืงื ืืืชืงืื, ืืื ืจืฅ ืจืง ืขื ืืืืฉื ืฉืื. HTTP: ืฉืจืช ืืจืืืง ืขื REST. ืฆืจืื auth, ืืื ืืืื ืืฉืจืช ืืกืคืจ ืืฉืชืืฉืื. SSE (Server-Sent Events): ืืืืืจ ืคืชืื ืจืฆืืฃ. ืืื ืืื ืืขืืืื ืื ืืืื ืืืช. ืขืืืจ ืฉืืืืฉ ืืืฉื โ stdio. ืขืืืจ ืฆืืืช/ืืจืืื โ HTTP/SSE.
ื-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__* ืืืื ืื ืืืืืืืืช.
(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 ืืื ืกืคืจืื ืจืฉืืืช ืฉื Anthropic (Python ื-TypeScript) ืืืจืฆืช Claude ืืืืฅ ื-CLI. ืืืืืืืช ืฉืืืืฉ: cron job ืฉ-ืืกืื PR-ืื ืืืืืช; Lambda function ืฉ-ืืงืื webhook ื-ืืืฆืข ืคืขืืื; ืืฉืืืจื ืคื ืืื ืฉืืืืืข Claude ืืขืืืจ. ื-SDK ืืืคื ื-tool use, streaming, ื-prompt caching ืืืืืืืืช.
ืื. MCP server ืืื ืฉืืจืืช ืขืฆืืื โ ืืื ืืืื ืืงืจืื ื-OpenAI, Gemini, Mistral, ืื ืืื ืืืื ืืืจ. ืืืืื ืฉืื: edumanage-qa MCP ืืฉืชืืฉ ื-Ollama ืืงืืื ืืกืืืื ืืื, ืืฉืืื ืจืง ืืืืืืช ืกืืคืืืช ืืจืืืื Claude. ืืจืืืืงืืืจื ืื ืืืกืืช 80% ืืขืืืช ื-LLM.
ืื ืฉืืชืืื ืืืื ืืื ืืช MCP server ืืื โ ืืืื ืืืืื ืฉืืื ืืฉืชืืฉ ืืื โ ื ืื ืก ื-2027 ืขื ืืชืจืื ืืืืชื. ืื ืื ืื ืฉืื ืืืืจ MCP ืืืฉืืจ ืืขืืื ืฉื API ืงืืืกื.
ืื ืืืืง ืืืืจืื ืืกืืจืช Claude Code ยท Issue III ยท 2026. ื-Bootcamp Pro ืชืื ื MCP server ืืฉืื, ืกืืื headless ืขื Agent SDK, ื-pipeline production ืืืืืืืฆืื.
ืืืืชื: ืืขืงื ืืืื ื, ืืืืกื ืืื ื"ื BDNHOST Group. ืืจืฆื ืืืืจ ื-AI ืืืืขื ืืืืฉื ืืืืืืืช ืืืฉืจืื. ืืื ื ืคืืจืืคืืืื SaaS ืฉื 10+ ืืคืืืงืฆืืืช ื-Base44 ื-VPS.
#ClaudeCode ยท #AgenticMemory ยท #AIArchitecture ยท #DevTools ยท #AI2026
ืืฉืืขืืจ ืขื MCP, ืืฉืืขืืจ ืขื Skills (ืฉืืชืืืจ ื-MCP), ืืืฉืืขืืจ ืขื CLAUDE.md (ืืืืจืื ืืกืืื).
โ ืื ืืกืจืืื ืื ืืขืจืืฅ EduManage AI Bootcamp ื-YouTube