[{"data":1,"prerenderedAt":651},["ShallowReactive",2],{"tool-mastra-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":29,"cover":62,"og":63,"expertise":64,"locales":65,"lang":68,"title":69,"description":70,"coverAlt":71,"url":25,"pricing":72,"kind":10,"metaTitle":73,"takeaways":74,"faq":80,"toc":93,"blocks":118,"others":418},"mastra","2026-07-15",11,"agents",[9,10,11,12,13],"TypeScript","Agent framework","Workflows","MCP","Evals",[15,16,17,18,19,20,21],"mastra ai framework","mastra vs langgraph","typescript agent framework","mastra agent framework review","mastra workflows and memory","mastra mcp server","mastra pricing",[23,26],{"name":24,"url":25},"Mastra","https:\u002F\u002Fmastra.ai",{"name":27,"url":28},"Mastra on GitHub","https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra",[30,33,36,39,42,45,48,51,54,57,59],{"title":31,"url":32},"Mastra documentation: agents","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fagents\u002Foverview",{"title":34,"url":35},"Mastra documentation: workflows","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fworkflows\u002Foverview",{"title":37,"url":38},"Mastra documentation: memory","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fmemory\u002Foverview",{"title":40,"url":41},"Mastra documentation: MCP","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Ftools-mcp\u002Fmcp-overview",{"title":43,"url":44},"Mastra documentation: guardrails","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fagents\u002Fguardrails",{"title":46,"url":47},"Mastra documentation: evals","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fevals\u002Foverview",{"title":49,"url":50},"Mastra documentation: observability","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fobservability\u002Foverview",{"title":52,"url":53},"Mastra documentation: model providers","https:\u002F\u002Fmastra.ai\u002Fmodels",{"title":55,"url":56},"Mastra pricing","https:\u002F\u002Fmastra.ai\u002Fpricing",{"title":58,"url":28},"mastra-ai\u002Fmastra on GitHub",{"title":60,"url":61},"Mastra Enterprise Edition License v2.0","https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra\u002Fblob\u002Fmain\u002Fee\u002FLICENSE","\u002Fimages\u002Fblog\u002Fmastra\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmastra\u002Fog.jpg","ai-engineer",[66,67,68],"en","de","hu","Mastra teszt: TypeScript agentek valós értékelési hurokkal","A Mastra egy csomagban ad agenteket, workflow-kat, memóriát, MCP-t, guardrailokat, trace-et és értékelést. Mit fedi le az Apache-2.0 mag, mit kér az ee\u002F felosztás, kinek érdemes belépni.","A Mastra futtatási modelljének diagramja: egy agent eszközöket és modellt hív, alatta workflow-lépések, memória és storage, alul observability spanek sávja.","Apache-2.0 core · hosted paid","Mastra: TypeScript agentek értékelése · Balázs Csorba",[75,76,77,78,79],"A Mastra a legteljesebb TypeScript agent keretrendszer egy repóban: agentek, workflow-k, memória, MCP szerver készítés, guardrailok, trace-ek és értékelések, Apache-2.0 licenccel minden az ee\u002F könyvtárakon kívül.","A licencnek van kereskedelmi éle. Az ee\u002F alatti kód - jelenleg az auth, az agent builder és az editor - forráskódként elérhető, és a produkciós használathoz szerződés és licenckulcs is kell.","A keretrendszer gyorsan mozog: 99 kiadás jelent meg a @mastra\u002Fcore-ból a 2026. október 7-ig tartó 30 napban, ezért a pontos verziók pimmelése és az értékelések futtatása a CI-ban nem opcionális.","Az igazi erőssége a kód, a trace-ek és az értékelések közötti hurok, nem maga az agent-hurok, amely árucikk; a Studio time travel és experiments funkciói tartják a csapatokat a fizetős platformon.","A LangGraph.js és a Vercel AI SDKhoz képest a Mastra több futtatási réteget birtokol, és több függőséget kér: a @mastra\u002Fcore önmagában 30 közvetlen függőséget húz be.",[81,84,87,90],{"q":82,"a":83},"A Mastra open source?","Nagyrészt. A mag és a monorepo túlnyomó része Apache-2.0, @mastra\u002Fcore néven publikálva, amely 2026. október 7-én az 1.75.0-s verziónál állt. Az ee\u002F nevű könyvtárak - @mastra\u002Fcore\u002Fauth\u002Fee, @mastra\u002Fcore\u002Fagent-builder\u002Fee és @mastra\u002Feditor\u002Fee - forráskódként elérhetők a Mastra Enterprise Edition License szerint, amely fejlesztést és tesztelést enged, produkciós használatot viszont licenckulcs és írásos szerződés nélkül nem.",{"q":85,"a":86},"Hogyan viszonyul a Mastra a LangGraph.js-hez?","A LangGraph.js tartós végrehajtásra és állapotra épülő gráf futtató motor, MIT licencű, és több heti letöltéssel rendelkezik: 4,55 millió a @mastra\u002Fcore 2,23 milliójával szemben a 2026. október 4-ig tartó héten. A Mastra ezzel szemben több mindent csomagol az agent köré: memória, guardrailok, MCP szerver készítés, trace-ek, értékelések és hosztolt platform. A választás arról szól, hogy a gráf primitívek vagy a körülöttük lévő termékfelület hiányzik-e.",{"q":88,"a":89},"Támogatja a Mastra az MCP-t?","Mindkét irányban. Az MCPClient stdio és Streamable HTTP MCP szerverekhez csatlakozik, requireToolApproval kapuval és allowedHosts korlátozással. Az MCPServer a \u002Fapi\u002Fmcp\u002F:serverId\u002Fmcp úton teszi elérhetővé a Mastra agenteket, eszközöket, workflow-kat, promptokat és erőforrásokat, a protokoll 2026-07-28-as revízióját beszélve.",{"q":91,"a":92},"Mennyibe kerül a Mastra?","A keretrendszer ingyenes. A hosztolt platformon egy ingyenes Starter szint van 100k observability eseménnyel, 24 CPU-órával és 15 napos megőrzéssel, egy 250 USD\u002Fhónapos Teams szint 1 millió eseménnyel, 250 CPU-órával, 6 hónapos megőrzéssel, SSO-val és SOC 2 dokumentációval, valamint egy egyedi Enterprise szint. A folyamatosan futó példány ezen felül 100 USD projektenként, a model gateway pedig 5,5 százalékkal terheli a tokenek piaci árát.",[94,97,100,103,106,109,112,115],{"id":95,"title":96},"what-it-is","Mi a Mastra valójában",{"id":98,"title":99},"how-it-works","Hogyan működik",{"id":101,"title":102},"getting-started","Első lépések",{"id":104,"title":105},"observability-and-evals","Az observability és az értékelés az igazi termék",{"id":107,"title":108},"pricing-and-licensing","Árazás és a licencfelosztás",{"id":110,"title":111},"where-it-shingles","Hol csípi",{"id":113,"title":114},"verdict","Vétel",{"id":116,"title":117},"sources","Források",[119,123,126,129,132,172,173,176,185,188,192,195,198,201,202,205,207,210,217,218,221,243,246,247,250,289,292,297,298,301,355,358,359,362,375,381,382],{"type":120,"content":121},"paragraph",[122],"A Mastra TypeScript keretrendszer LLM-agentekhez, és az egyik legteljesebb: agentek, workflow-motor, memória, MCP szerver készítés, guardrailok, trace-ek, értékelések és egy hosztolt platform egyetlen repóban. A pozíció itt egyértelmű. A Mastra a legjobban támogatott út, ha egy agentet egy meglévő Node- vagy Next.js-alapú kódba kell beépíteni, és rossz választás azoknak, akik Pythonban dolgoznak, vagy csak a tool-calling hurkot akarják.",{"type":120,"content":124},[125],"A modellréteg fölött, az alkalmazás alatt helyezkedik el: a modellek provider\u002Fmodel stringként érkeznek, a keretrendszer pedig átveszi az agent-hurkot, a workflow-gráfot, a thread állapotát és a trace-eket. A közvetlen versenytársak a LangGraph.js, a Vercel AI SDK, az OpenAI Agents SDK és az újabb belépők, mint a VoltAgent. A különbség nem a hurokban van, hiszen az árucikk, hanem abban, mennyi környező futtatási réteget hajlandó egy-egy keretrendszer átvenni.",{"type":127,"level":128,"id":95,"text":96},"heading",2,{"type":120,"content":130},[131],"A Mastra nem egyetlen könyvtár, hanem scope-olt npm csomagok monorepója. A magja a @mastra\u002Fcore, minden más ehhez kapcsolódik: @mastra\u002Fmemory, @mastra\u002Flibsql, @mastra\u002Fpg, @mastra\u002Fobservability, @mastra\u002Fevals, @mastra\u002Fmcp és a többi. A src\u002Fmastra\u002Findex.ts fájlban lévő Mastra osztály a regisztráció, amely összeköti az agenteket, a workflow-kat, a storage-et, a logolást és az observabilityt, és a keretrendszer minden más része innen oldja fel a szolgáltatásait.",{"type":133,"ordered":134,"items":135},"list",false,[136,142,147,152,157,162,167],[137,141],{"tag":138,"children":139},"strong",[140],"Licenc",": Apache-2.0 minden, ami az ee\u002F könyvtárakon kívül van; azokon belül forráskódként elérhető a Mastra Enterprise Edition License szerint.",[143,146],{"tag":138,"children":144},[145],"Érettség",": a @mastra\u002Fcore 2026. október 7-én az 1.75.0-nál állt; a repó 28,6k csillagot és 2,9k forkot mutat, az első kiadás 2024 októberében jelent meg.",[148,151],{"tag":138,"children":149},[150],"Terjedés",": 2,23 millió npm letöltés a @mastra\u002Fcore-ra a 2026. október 4-ig tartó héten, szemben a @langchain\u002Flanggraph 4,55 milliójával és a Vercel ai csomag 34,5 milliójával.",[153,156],{"tag":138,"children":154},[155],"Kiadási tempó",": 99 kiadás a @mastra\u002Fcore-ból a 2026. október 7-ig tartó 30 napban és 301 kilencven napban, összesen 1656 az 2024. októbere óta.",[158,161],{"tag":138,"children":159},[160],"Futtatókörnyezet",": Node 22.18 vagy újabb, Hono-alapú szerverrel, Vercel, Netlify és Cloudflare deployerrel, vagy bármilyen saját HTTP hoszttal.",[163,166],{"tag":138,"children":164},[165],"Modellelérés",": egy model router, amely feloldja a provider\u002Fmodel stringet, 213 szolgáltatót és 7790 modellt listáz, támogatja a modellenkénti fallback-láncokat, és a kulcsot a környezetből olvassa.",[168,171],{"tag":138,"children":169},[170],"Típusok",": Zod, Valibot vagy ArkType Standard JSON Schema-n keresztül az eszközökhöz, a workflow-lépésekhez és a strukturált kimenethez.",{"type":127,"level":128,"id":98,"text":99},{"type":120,"content":174},[175],"Két primitív viszi a terhet. Az Agent modellt, utasítást és eszközöket köt össze, és addig iterál, amíg a modell végső választ vagy leállási feltételt nem ad. A createStep és createWorkflow összeállításból, .then(), .branch(), .parallel() és .commit() hívásokkal épített workflow a determinisztikus út az ismert sorrendű folyamatokhoz. A dokumentáció egyértelmű: definiált pipeline-hoz a második, nyílt végű munkához az első, ami pontosan az agent hurok magyarázatában alkalmazott felosztás.",{"type":177,"attrs":178,"inner":182,"caption":183},"diagram",{"viewBox":179,"role":180,"aria-labelledby":181},"0 0 720 356","img","ma-t ma-d","\u003Ctitle id=\"ma-t\">Mastra runtime: agent path, workflow path, observability\u003C\u002Ftitle>\u003Cdesc id=\"ma-d\">A request reaches an agent, which calls a tool and a model in a loop. Below it sit workflow steps, memory and storage. Every run is traced into spans, logs and metrics that go to Mastra storage or to OpenTelemetry-compatible backends.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"26\" class=\"d-title\">Mastra runtime\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"26\" text-anchor=\"end\" class=\"d-label\">@mastra\u002Fcore 1.75.0\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"58\" class=\"d-label\">AGENT PATH\u003C\u002Ftext>\u003Crect x=\"20\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"80\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Request\u003C\u002Ftext>\u003Ctext x=\"80\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">text or event\u003C\u002Ftext>\u003Cpath d=\"M140 102 H172\" class=\"d-line\" \u002F>\u003Cpath d=\"M180 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"180\" y=\"70\" width=\"130\" height=\"64\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"245\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Agent\u003C\u002Ftext>\u003Ctext x=\"245\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">model, tools\u003C\u002Ftext>\u003Cpath d=\"M310 102 H342\" class=\"d-line\" \u002F>\u003Cpath d=\"M350 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"350\" y=\"70\" width=\"130\" height=\"64\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"415\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Tool\u003C\u002Ftext>\u003Ctext x=\"415\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">createTool, zod\u003C\u002Ftext>\u003Cpath d=\"M480 102 H512\" class=\"d-line\" \u002F>\u003Cpath d=\"M520 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"520\" y=\"70\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"580\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Model\u003C\u002Ftext>\u003Ctext x=\"580\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">provider\u002Fmodel\u003C\u002Ftext>\u003Cpath d=\"M415 134 C415 152 245 152 245 136\" class=\"d-line-accent d-dash\" \u002F>\u003Cpath d=\"M245 134 l-6 10 h12 z\" class=\"d-head-accent\" \u002F>\u003Ctext x=\"330\" y=\"162\" text-anchor=\"middle\" class=\"d-small\">observe and repeat\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"186\" class=\"d-label\">WORKFLOW AND STATE\u003C\u002Ftext>\u003Crect x=\"200\" y=\"198\" width=\"170\" height=\"64\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"285\" y=\"226\" text-anchor=\"middle\" class=\"d-text\">Workflow steps\u003C\u002Ftext>\u003Ctext x=\"285\" y=\"247\" text-anchor=\"middle\" class=\"d-small\">then, branch, parallel\u003C\u002Ftext>\u003Cpath d=\"M370 230 H392\" class=\"d-line\" \u002F>\u003Cpath d=\"M400 230 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"400\" y=\"198\" width=\"150\" height=\"64\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"475\" y=\"226\" text-anchor=\"middle\" class=\"d-text\">Memory\u003C\u002Ftext>\u003Ctext x=\"475\" y=\"247\" text-anchor=\"middle\" class=\"d-small\">threads, observations\u003C\u002Ftext>\u003Cpath d=\"M550 230 H572\" class=\"d-line\" \u002F>\u003Cpath d=\"M580 230 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"580\" y=\"198\" width=\"120\" height=\"64\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"640\" y=\"226\" text-anchor=\"middle\" class=\"d-text\">Storage\u003C\u002Ftext>\u003Ctext x=\"640\" y=\"247\" text-anchor=\"middle\" class=\"d-small\">LibSQL, Postgres\u003C\u002Ftext>\u003Cpath d=\"M160 134 V286\" class=\"d-line d-dash\" \u002F>\u003Cpath d=\"M160 296 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"172\" y=\"212\" class=\"d-small\">traced\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"288\" class=\"d-label\">OBSERVABILITY\u003C\u002Ftext>\u003Crect x=\"20\" y=\"296\" width=\"680\" height=\"44\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"360\" y=\"323\" text-anchor=\"middle\" class=\"d-text\">Spans, logs, metrics, scorers to storage, Langfuse, Datadog, Arize\u003C\u002Ftext>",[184],"A Mastra futtatási modellje: egy agent eszközök és egy modell körül hurokozik, alatta workflow-lépések és memória, minden futás pedig trace-elődik.",{"type":120,"content":186},[187],"E két primitív körül helyezkednek el azok a részek, amelyek életben tartják az agentet a produkcióban. A memória darabokra esik: üzenettörténet, working memory, szemantikus visszakeresés és Observational Memory, ahol háttéragentek tömörítik a régebbi fordulókat megfigyelésekké, mielőtt a kontextusablak megtelik. A storage cserélhető: LibSQL, Postgres, ClickHouse, MongoDB, MSSQL és DuckDB, és ugyanez a motor tartja a workflow-k felfüggesztését és folytatását, ezért egy workflow megvárhatja az emberi jóváhagyást, és órák múlva folytatódhat.",{"type":127,"level":189,"id":190,"text":191},3,"mcp-support","Az MCP-támogatás a megkülönböztető előny",{"type":120,"content":193},[194],"A Mastra az a ritka keretrendszer, amely az MCP-t mindkét irányban használja. Az MCPClient stdio és Streamable HTTP szerverekhez csatlakozik, az MCPServer pedig Mastra-agenteket, eszközöket, workflow-kat, promptokat és erőforrásokat tesz elérhetővé más rendszereknek. A regisztrált szerverek a \u002Fapi\u002Fmcp\u002F:serverId\u002Fmcp úton futnak, és a protokoll 2026-07-28-as revízióját beszélik, így ha egy csapat belső eszközei már MCP szerver mögött vannak, az agent beköthető saját integrációs réteg nélkül.",{"type":196,"code":197},"code","import { Agent } from '@mastra\u002Fcore\u002Fagent'\nimport { Mastra } from '@mastra\u002Fcore\u002Fmastra'\nimport { MCPServer, MCPClient } from '@mastra\u002Fmcp'\n\n\u002F\u002F Expose Mastra primitives to other agents and systems\nconst mcpServer = new MCPServer({\n  id: 'support-mcp',\n  name: 'Support tools',\n  version: '1.0.0',\n  agents: { supportAgent },\n  tools: { refundTool },\n  workflows: { triage },\n})\n\n\u002F\u002F Consume remote MCP tools, gating the destructive ones\nconst client = new MCPClient({\n  servers: {\n    jira: {\n      url: new URL('https:\u002F\u002Fjira.example.com\u002Fmcp'),\n      requireToolApproval: ({ toolName }) => toolName.startsWith('delete_'),\n    },\n  },\n})\n\nconst assistant = new Agent({\n  id: 'assistant',\n  name: 'Assistant',\n  instructions: 'Answer from the available tools and cite the source.',\n  model: 'anthropic\u002Fclaude-sonnet-4-6',\n  tools: await client.listTools(),\n})\n\nexport const mastra = new Mastra({\n  agents: { assistant },\n  mcpServers: { mcpServer },\n})",{"type":120,"content":199},[200],"A biztonsági alapértékek jobbak az átlagnál. A requireToolApproval név vagy argumentum alapján zárja az eszközöket, a stdio alfolyamatok csak egy kurált környezeti listát örökölnek, ha nem állítod be az inheritDefaultEnv flaget, az allowedHosts korlátozza a kimenő HTTP hosztokat, és a dokumentáció azt is mondja, hogy a nem általad kezelt szerverek annotációit ne tekintsd megbízható jelzésnek. Az eszközök eredménye amúgy is megbízhatatlan modellbemenet, ezért a guardrail processzorok az a réteg, amelynek ezt tisztáznia kell.",{"type":127,"level":128,"id":101,"text":102},{"type":120,"content":203},[204],"Az npm create mastra@latest létrehoz egy projektet a src\u002Fmastra elrendezéssel, dev szerverrel, Studióval és deployerrel. A legkisebb hasznos felület kicsi: egy eszköz, egy agent, egy regisztráció.",{"type":196,"code":206},"\u002F\u002F src\u002Fmastra\u002Ftools\u002Fstock-price.ts\nimport { createTool } from '@mastra\u002Fcore\u002Ftools'\nimport { z } from 'zod'\n\nexport const stockPrice = createTool({\n  id: 'stock-price',\n  description: 'Latest price for a ticker symbol',\n  inputSchema: z.object({ symbol: z.string().describe('Ticker, for example INGY') }),\n  outputSchema: z.object({ symbol: z.string(), price: z.number() }),\n  execute: async ({ symbol }) => ({ symbol, price: await quote(symbol) }),\n})\n\n\u002F\u002F src\u002Fmastra\u002Findex.ts\nimport { Mastra } from '@mastra\u002Fcore'\nimport { Agent } from '@mastra\u002Fcore\u002Fagent'\nimport { LibSQLStore } from '@mastra\u002Flibsql'\nimport { stockPrice } from '.\u002Ftools\u002Fstock-price'\n\nexport const agent = new Agent({\n  id: 'research',\n  name: 'Research agent',\n  instructions: 'Look prices up with the tool. Never guess a number.',\n  model: 'anthropic\u002Fclaude-sonnet-4-6',\n  tools: { stockPrice },\n})\n\nexport const mastra = new Mastra({\n  agents: { agent },\n  storage: new LibSQLStore({ id: 'mastra', url: 'file:.\u002Fmastra.db' }),\n})\n\n\u002F\u002F run.ts - Node 22.18 and later run TypeScript directly\nconst answer = await mastra.getAgentById('research').generate('INGY price')\nconsole.log(answer.text, answer.usage)",{"type":120,"content":208},[209],"Két részlet megtéveszti az újakat. Az agenteket érdemes mastra.getAgentById() hívással feloldani, nem közvetlen importálással, mert a közvetlen import lefut ugyan, de kimarad az instance storage, a logger és a telemetria, így az ilyen futások láthatatlanok a trace-ekben. A modell-string pedig router-formátum, provider\u002Fmodel, amit például az ANTHROPIC_API_KEY környezeti változó ad, nem provider-objektum.",{"type":211,"variant":212,"title":213,"body":214},"callout","warn","Először a verziót pimmeljük",[215],[216],"Egyetlen hónap alatt 99 kiadás jelent meg a @mastra\u002Fcore-ból. A package.json-ban egy nem pimmelt verziótartomány ütemezett incidens. Pimmelj pontos verziókra, futtasd az értékeléseket frissítéskor, és használj Renovate- vagy Dependabot-PR folyamatot ahelyett, hogy bármit mergelnél, amit a regiszter épp kiszolgál.",{"type":127,"level":128,"id":104,"text":105},{"type":120,"content":219},[220],"Ez az a rész, amely indokolja a keretrendszert, nem az agent-hurok. Minden agent-futás, workflow-lépés, eszközhívás és modellhívás span-t termel, és az exportírok ezeket a Mastra storage-be vagy bármilyen OpenTelemetry-kompatibilis háttértárba írják, név szerinti integrációkkal a Langfuse-hoz, az Arize Phoenixhez és a Datadoghoz. A metrikák spanekből származnak további instrumentáció nélkül, a Studio pedig hozzáadja a gráf nézetet, az egyedi lépés visszajátszását és az experiments fület.",{"type":133,"ordered":134,"items":222},[223,228,233,238],[224,227],{"tag":138,"children":225},[226],"Trace-ek és logok",": spanek és strukturált logok trace- és span-ID szerint korrelálva, így egy log sorból egy ugrás a létrehozó futásba.",[229,232],{"tag":138,"children":230},[231],"Metrikák",": tokenek, késleltetés és költségbecslés a span lezárásakor; az aggregációhoz analitikai store kell, például DuckDB, ClickHouse vagy Postgres.",[234,237],{"tag":138,"children":235},[236],"Scorerek",": előre gyártott és saját scorerek egy agenthez vagy egyetlen workflow-lépéshez, trace-enként determinisztikus mintavétellel, hogy a pontszámok futások között összehasonlíthatók maradjanak.",[239,242],{"tag":138,"children":240},[241],"Guardrailok processzorként",": promptinjekció-felismerés, moderáció, PII-maszkolás, system prompt tisztítás és költsemény, mindegyik block, redact vagy warn stratégiával.",{"type":120,"content":244},[245],"Van egy él, amit érdemes megismerni az első CI-futtatás előtt. Az agenthez vagy lépéshez csatolt scorerek magukat regisztrálják; azok a scorerek, amelyeket közvetlenül a runEvals() függvénynek vagy a quick checkeknek adsz át, a Mastra példányon is regisztrálva kell legyenek, különben minden mentés a Scorer with id \u003Cid> not found hibával elhal, és a pontszámok soha nem érkeznek meg a store-ba. A dokumentáció őszintén szól róla, hogy az eredmény egyformán, és pont ezért zavaros a hiba.",{"type":127,"level":128,"id":107,"text":108},{"type":120,"content":248},[249],"A keretrendszer ingyenes, és a hosztolt platformon szerzi a bevételt a szolgáltató. Az árazási oldal három szintet sorol fel, és a számláló az érdekes rész: observability események, CPU-órák, adatforgalom és egy model gateway, amely 5,5 százalékkal terheli a tokenek piaci árát.",{"type":251,"head":252,"rows":261},"table",[253,255,257,259],[254],"Szint",[256],"Ár",[258],"Observability",[260],"Számítás és megőrzés",[262,271,280],[263,265,267,269],[264],"Starter",[266],"0 USD havonta",[268],"100k esemény, utána 10 USD \u002F 100k",[270],"24 CPU-óra, utána 0,35 USD\u002Fóra; 15 napos megőrzés",[272,274,276,278],[273],"Teams",[275],"250 USD havonta",[277],"1 millió esemény, utána 8 USD \u002F 100k",[279],"250 CPU-óra, utána 0,25 USD\u002Fóra; 6 hónapos megőrzés",[281,283,285,287],[282],"Enterprise",[284],"Egyedi",[286],"Egyedi volumen és megőrzés",[288],"RBAC, audit naplók, uptime SLA-k, saját felhőben telepítés",{"type":120,"content":290},[291],"Két tétel megérdemli a figyelmet. A folyamatosan futó példány szintenként további 100 USD egy projektre, a gateway pedig a piaci ár plusz 5,5 százalék az input- és output tokenekre, saját kulccsal. A memóriát újra számolják, 10 USD millió tokenenként az első 100 ezer, illetve 1 millió fölött, így egy beszélgetős, hosszú kontextusú agent három különböző számlálóban jelenik meg.",{"type":211,"variant":212,"title":293,"body":294},"A licencfelosztást érdemes kétszer elolvasni",[295],[296],"Minden az ee\u002F könyvtárakon kívül Apache-2.0. Az ee\u002F-n belül - jelenleg @mastra\u002Fcore\u002Fauth\u002Fee, @mastra\u002Fcore\u002Fagent-builder\u002Fee és @mastra\u002Feditor\u002Fee - a kód forráskódként elérhető, és a Mastra Enterprise Edition License v2.0, amely 2026. szeptember 22-től hatályos, a produkciós használathoz aláírt szerződést és érvényes licenckulcsot is megköveteli. Ezek nélkül a használat a licenc szerint nem engedélyezett. Az autentikáció nem peremfunkció, ezt a határt ellenőrizni kell, mielőtt az architektúra erre épül.",{"type":127,"level":128,"id":110,"text":111},{"type":120,"content":299},[300],"Először a gyengeségek. A kiadási tempó az üzemeltetési probléma: 301 kiadás kilencven nap alatt azt jelenti, hogy a keretrendszer saját API-ja mozog alattad, és a release note-ok olvasása a munka része. Másodszor a szélesség kétélű fegyver. A repó harnesszeket, workspace-eket, channelöket, voice-ot, böngészővezérlést, code mode-ot és agent factoryket is szállít, így egy kis csapat a felülvizsgálati területért fizet olyan funkciókért, amelyeket nem használ. Harmadszor az Observational Memory nem ingyenes, mert háttéragentek tömörítik a történetet minden forduló fölött. Negyedszer épp a Studio funkciói - time travel, experiments, evaluate fülek - az okai, hogy valaki a fizetős szinten maradjon, és ezek hiányoznak, ha a trace-ek Langfuse-ba mennek, minden más pedig self-hosted.",{"type":251,"head":302,"rows":310},[303,305,306,308],[304],"Szempont",[24],[307],"LangGraph.js",[309],"Vercel AI SDK",[311,319,328,337,346],[312,313,315,317],[140],[314],"Apache-2.0 mag, enterprise az ee\u002F-ben",[316],"MIT",[318],"Apache-2.0",[320,322,324,326],[321],"Lefedett terület",[323],"Agentek, workflow-k, memória, MCP, értékelések, platform",[325],"Gráf futtatás, tartós végrehajtás",[327],"Modellhívások, streaming, UI-elemek",[329,331,333,335],[330],"Értékelések és trace-ek",[332],"beépítve, plusz hosztolt platform",[334],"a LangSmith külön és fizetős",[336],"saját szolgáltató",[338,340,342,344],[339],"Illeszkedés",[341],"Node-ban agenteket szállító termékcsapatok",[343],"Python-first csapatok tartós gráfokhoz",[345],"Alkalmazások, amelyek főként modellkimenetet streamelnek",[347,349,351,353],[348],"Heti letöltések, 2026. okt. 4.",[350],"2,23 millió (@mastra\u002Fcore)",[352],"4,55 millió (@langchain\u002Flanggraph)",[354],"34,5 millió (ai)",{"type":120,"content":356},[357],"Az OpenAI Agents SDK-hoz képest, amely vékonyabb, MIT licencű és közel marad a Responses API-hoz, a Mastra a hordozhatóbb és ugyanakkor nehezebb opció. Az őszinte összegzés: a Mastra szélességet és valódi értékelési hurkot vásárol, és függőségszámban fizet érte - hiszen a @mastra\u002Fcore önmagában 30 közvetlen függőséget húz be -, valamint abban a tempóban, ahogyan ez a függőség változik.",{"type":127,"level":128,"id":113,"text":114},{"type":120,"content":360},[361],"A Mastra egy jól vezetett, szokatlanul teljes keretrendszer világos középponttal: a kód, a trace-ek és az értékelések közötti hurok jobb, mint bármi, amit egy TypeScript csapatnak össze kellene raknia. A baj az, hogy mozgó cél, amelyre kereskedelmi réteg rakódott, és pont az a két dolog, ami a vásárlót leginkább érdekli - a stabil API és a változatlan licenc -, a leggyengébb terület.",{"type":133,"ordered":363,"items":364},true,[365,367,369,371,373],[366],"Vedd fel, ha az agent egy meglévő Node- vagy Next.js alkalmazásban szállítódik, és a csapat trace-eket, értékeléseket és workflow-motort akar hat csomag összerakása nélkül.",[368],"Vedd fel, ha az emberi jóváhagyás, a hosszasan felfüggesztett workflow-k és az MCP eszközszerverek követelmények, nem kiegészítő funkciók.",[370],"Vedd fel pimmelt verziókkal és CI-ban futó értékelés suite-tel, mert különben a kiadási tempó dönt a frissítési ütemről.",[372],"Hagyd ki, ha a modellszolgáltató rögzített és a felület egyetlen chat végpont: a Vercel AI SDK vagy az OpenAI Agents SDK kisebb gond.",[374],"Hagyd ki, ha a stack Python, vagy ha az ee\u002F határ valami olyanon fut át, amire a termék épül.",{"type":211,"variant":376,"title":377,"body":378},"note","Egy mondatban",[379],[380],"A Mastra ma a legjobban integrált TypeScript agent keretrendszer, ha nyílt forráskódú maggal rendelkező platformként kezeljük, nem stabil könyvtárként, és elfogadjuk, hogy a szolgáltató üzleti modellje a hosztolt szint, nem a kód.",{"type":127,"level":128,"id":116,"text":117},{"type":133,"ordered":363,"items":383},[384,388,391,394,397,400,403,406,409,412,415],[385],{"tag":386,"href":32,"children":387},"a",[31],[389],{"tag":386,"href":35,"children":390},[34],[392],{"tag":386,"href":38,"children":393},[37],[395],{"tag":386,"href":41,"children":396},[40],[398],{"tag":386,"href":44,"children":399},[43],[401],{"tag":386,"href":47,"children":402},[46],[404],{"tag":386,"href":50,"children":405},[49],[407],{"tag":386,"href":53,"children":408},[52],[410],{"tag":386,"href":56,"children":411},[55],[413],{"tag":386,"href":28,"children":414},[58],[416],{"tag":386,"href":61,"children":417},[60],[419,482,532,597],{"slug":420,"published":421,"minutes":422,"category":7,"tags":423,"keywords":427,"about":434,"sources":438,"cover":475,"og":476,"expertise":64,"locales":477,"lang":68,"title":478,"description":479,"coverAlt":480,"url":441,"pricing":316,"kind":481},"mcp-reference-servers","2026-09-25",9,[12,424,425,426],"Reference servers","Tool protocol","Server SDKs",[428,429,430,431,432,433],"mcp reference servers","modelcontextprotocol servers github","write an mcp server","mcp server examples","mcp server sdk","mcp server security",[435],{"name":436,"url":437},"Model Context Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_Context_Protocol",[439,442,445,448,451,454,457,460,463,466,469,472],{"title":440,"url":441},"MCP reference servers repository","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers",{"title":443,"url":444},"Repository README and server list","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FREADME.md",{"title":446,"url":447},"Security policy","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FSECURITY.md",{"title":449,"url":450},"Release process and trusted publishing","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002FRELEASING.md",{"title":452,"url":453},"Filesystem server README","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002Fsrc\u002Ffilesystem\u002FREADME.md",{"title":455,"url":456},"Everything server feature list","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers\u002Fblob\u002Fmain\u002Fsrc\u002Feverything\u002Fdocs\u002Ffeatures.md",{"title":458,"url":459},"MCP Registry","https:\u002F\u002Fregistry.modelcontextprotocol.io\u002F",{"title":461,"url":462},"Archived reference servers","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fservers-archived",{"title":464,"url":465},"Model Context Protocol documentation","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"title":467,"url":468},"TypeScript MCP SDK","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Ftypescript-sdk",{"title":470,"url":471},"Python MCP SDK","https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fpython-sdk",{"title":473,"url":474},"FastMCP on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Ffastmcp\u002F","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmcp-reference-servers\u002Fog.jpg",[66,67,68],"MCP-referenciaszerverek: mit mutatnak be és mit hagynak ki","Elemzés a modelcontextprotocol\u002Fservers repozól: hét referenciaszerver, mit tanít mindegyik, a mögöttes SDK-verziók, és miért nem kerülhet egyik sem éles rendszerbe.","Hét referenciaszerver, amelyet egyetlen MCP-kliens hoz el stdio-n keresztül","Protocol tooling",{"slug":483,"published":484,"minutes":485,"category":7,"tags":486,"keywords":492,"about":500,"sources":507,"cover":524,"og":525,"expertise":64,"locales":526,"lang":68,"title":527,"description":528,"coverAlt":529,"url":530,"pricing":531,"kind":487},"aider","2026-09-23",10,[487,488,489,490,491],"Coding agent","Terminal","Git workflow","BYO key","Open source",[483,493,494,495,496,497,498,499],"aider vs claude code","aider polyglot benchmark","ai pair programming terminal","aider leaderboard","open source coding agent","aider architect mode","aider install",[501,504],{"name":502,"url":503},"Aider","https:\u002F\u002Faider.chat\u002F",{"name":505,"url":506},"Aider on GitHub","https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider",[508,510,513,516,519,521],{"title":509,"url":503},"Aider website",{"title":511,"url":512},"Aider LLM leaderboards","https:\u002F\u002Faider.chat\u002Fdocs\u002Fleaderboards\u002F",{"title":514,"url":515},"Aider linting and testing","https:\u002F\u002Faider.chat\u002Fdocs\u002Fusage\u002Flint-test.html",{"title":517,"url":518},"Aider token limits","https:\u002F\u002Faider.chat\u002Fdocs\u002Ftroubleshooting\u002Ftoken-limits.html",{"title":520,"url":506},"Aider repository on GitHub",{"title":522,"url":523},"aider-chat on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Faider-chat\u002F","\u002Fimages\u002Fblog\u002Faider\u002Fcover.webp","\u002Fimages\u002Fblog\u002Faider\u002Fog.jpg",[66,67,68],"Aider teszt: git-first párprogramozás a terminálon","Az Aider 0.86.2 tesztje: Apache-2.0-s terminálos párprogramozó, amelynek benchmarkja őszintén rangsorolja a modelleket, és amelynek megállt a kiadási üteme.","Borítókép az Aider-teszthez: egy terminálmunkamenet, amely egyetlen kérést egy sor git committá alakít","https:\u002F\u002Faider.chat","Free · BYO API key",{"slug":533,"published":534,"minutes":485,"category":7,"tags":535,"keywords":540,"about":549,"sources":559,"cover":590,"og":591,"expertise":64,"locales":592,"lang":68,"title":593,"description":594,"coverAlt":595,"url":562,"pricing":596,"kind":10},"openai-agents-sdk","2026-09-11",[536,537,538,12,539],"Agent runtime","Tracing","Guardrails","Python",[541,542,543,544,545,546,547,548],"openai agents sdk","openai agents sdk vs langgraph","python agent framework comparison","openai agents sdk guardrails","agent run tracing tool calls","openai agents sdk human in the loop","openai-agents pypi","agents sdk vs responses api",[550,553,556],{"name":551,"url":552},"Model context protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FModel_context_protocol",{"name":554,"url":555},"Software framework","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_framework",{"name":557,"url":558},"Agentic AI","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAgentic_AI",[560,563,566,569,572,575,578,581,584,587],{"title":561,"url":562},"OpenAI Agents SDK documentation: Intro, and Agents SDK or Responses API","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002F",{"title":564,"url":565},"OpenAI Agents SDK documentation: Running agents","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Frunning_agents\u002F",{"title":567,"url":568},"OpenAI Agents SDK documentation: Guardrails","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fguardrails\u002F",{"title":570,"url":571},"OpenAI Agents SDK documentation: Human-in-the-loop","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fhuman_in_the_loop\u002F",{"title":573,"url":574},"OpenAI Agents SDK documentation: Tracing","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Ftracing\u002F",{"title":576,"url":577},"OpenAI Agents SDK documentation: Configuration","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Fconfig\u002F",{"title":579,"url":580},"openai-agents 0.23.1 on PyPI, release history and licence","https:\u002F\u002Fpypi.org\u002Fproject\u002Fopenai-agents\u002F",{"title":582,"url":583},"OpenAI: The next evolution of the Agents SDK (15 April 2026)","https:\u002F\u002Fopenai.com\u002Findex\u002Fthe-next-evolution-of-the-agents-sdk\u002F",{"title":585,"url":586},"OpenAI API documentation: Agents, comparison of the three runtimes","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents",{"title":588,"url":589},"Arize: AI agent frameworks compared (1 October 2026)","https:\u002F\u002Farize.com\u002Fai-agents\u002Fagent-frameworks\u002F","\u002Fimages\u002Fblog\u002Fopenai-agents-sdk\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenai-agents-sdk\u002Fog.jpg",[66,67,68],"OpenAI Agents SDK: könnyű agent-runtime éles szélekkel","Az OpenAI Agents SDK értékelése: a runner-ciklus, a tracing, a guardrail-ek és a jóváhagyások, plusz mit fizet a kiadási tempó és a Responses-only funkciók.","Az Agents SDK runner-ciklusának diagramja: bemenet, ügynök, modellhívás, végső kimenet, guardrail-ek, és a bemenetbe visszafutó eszközhívások","MIT · API pay per token",{"slug":598,"published":599,"minutes":422,"category":7,"tags":600,"keywords":605,"about":612,"sources":622,"cover":643,"og":644,"expertise":64,"locales":645,"lang":68,"title":646,"description":647,"coverAlt":648,"url":649,"pricing":650,"kind":487},"openhands","2026-09-09",[487,601,602,603,604],"Sandboxed execution","Automations","Self-hosted","MIT licence",[598,606,607,608,609,610,497,611],"openhands self-host","open hands coding agent","openhands vs claude code","agent canvas","openhands docker sandbox","openhands cloud pricing",[613,616,619],{"name":614,"url":615},"OpenHands","https:\u002F\u002Fwww.openhands.dev",{"name":617,"url":618},"OpenHands on GitHub","https:\u002F\u002Fgithub.com\u002FOpenHands\u002FOpenHands",{"name":620,"url":621},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",[623,625,628,631,634,637,640],{"title":624,"url":618},"OpenHands README",{"title":626,"url":627},"OpenHands licence (MIT)","https:\u002F\u002Fgithub.com\u002FOpenHands\u002FOpenHands\u002Fblob\u002Fmain\u002FLICENSE",{"title":629,"url":630},"Agent Canvas 1.25.0 release notes","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Fagent-canvas\u002Frelease-notes\u002Fv1.25.0.md",{"title":632,"url":633},"OpenHands sandbox overview","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Fsandboxes\u002Foverview.md",{"title":635,"url":636},"OpenHands quick start","https:\u002F\u002Fdocs.openhands.dev\u002Fopenhands\u002Fusage\u002Finstallation",{"title":638,"url":639},"OpenHands pricing","https:\u002F\u002Fwww.openhands.dev\u002Fpricing",{"title":641,"url":642},"Introducing the OpenHands Index","https:\u002F\u002Fwww.openhands.dev\u002Fblog\u002Fintroducing-the-openhands-index","\u002Fimages\u002Fblog\u002Fopenhands\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopenhands\u002Fog.jpg",[66,67,68],"OpenHands: a nyílt forráskódú coding agent, amit üzemeltetsz","Az OpenHands 1.25.0 MIT-licencű coding agent platform web canvas-szal, CLI-vel, sandboxolt végrehajtással és ütemezett automatizálásokkal. Elemzés arról, hol erős és hol nehézkes.","Az OpenHands-ajánló címképe: hurok a feladattól az agenten és a sandboxon át vissza","https:\u002F\u002Fgithub.com\u002FAll-Hands-AI\u002FOpenHands","Free · self-host",1791383550201]