Tools (vertical) & agents (horizontal)
Scroll: course-full-protocols.html
Without MCP: N apps × N custom integrations
Without A2A: agents cannot delegate across vendors
Host → Client → Server
tools · resources · prompts
Python mcp + list_tools / call_tool
@app.list_tools()
async def list_tools():
return [Tool(name="get_policy", ...)]
@app.call_tool()
async def call_tool(name, arguments):
return [TextContent(type="text", text="30 days")]"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "C:/demo"]
}
}| stdio | SSE/HTTP |
|---|---|
| Child process | Remote URL |
| Desktop dev | Team / Docker |
In-app = this codebase only
MCP = Cursor + Claude Desktop + any host
Restart host after config change
Absolute paths · validate inputSchema · narrow allowlist
Discover agent → POST Task → poll Artifact
Like openapi.json for agents
POST /a2a/tasks
{"skill_id":"book_hotel","input":{...}}
→ {"state":"completed","artifacts":[...]}| Need | Use |
|---|---|
| DB / files / API | MCP |
| Remote specialist agent | A2A |
Scroll lab: course-full-protocols.html#lab
Next: ⑦ OpenClaw & Hermes