Koa 适配器
🌐 Koa Adapter
@mastra/koa 包提供了一个用于在 Koa 上运行 Mastra 的服务器适配器。
🌐 The @mastra/koa package provides a server adapter for running Mastra with Koa.
info
有关一般适配器概念(构造函数选项、初始化流程等),请参见 服务器适配器。
🌐 For general adapter concepts (constructor options, initialization flow, etc.), see Server Adapters.
安装Direct link to 安装
🌐 Installation
安装 Koa 适配器和 Koa 框架:
🌐 Install the Koa adapter and Koa framework:
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/koa@latest koa koa-bodyparser
pnpm add @mastra/koa@latest koa koa-bodyparser
yarn add @mastra/koa@latest koa koa-bodyparser
bun add @mastra/koa@latest koa koa-bodyparser
使用示例Direct link to 使用示例
🌐 Usage example
server.ts
import Koa from 'koa';
import bodyParser from 'koa-bodyparser';
import { MastraServer } from '@mastra/koa';
import { mastra } from './mastra';
const app = new Koa();
app.use(bodyParser());
const server = new MastraServer({ app, mastra });
await server.init();
app.listen(3000, () => {
console.log('Server running on http://localhost:3000');
});
构造函数参数Direct link to 构造函数参数
🌐 Constructor parameters
app:
Koa
Koa app instance
mastra:
Mastra
Mastra instance
prefix?:
string
= ''
Route path prefix (e.g., `/api/v2`)
openapiPath?:
string
= ''
Path to serve OpenAPI spec (e.g., `/openapi.json`)
bodyLimitOptions?:
BodyLimitOptions
Request body size limits
streamOptions?:
StreamOptions
= { redact: true }
Stream redaction config. When true (default), redacts sensitive data (system prompts, tool definitions, API keys) from stream chunks before sending to clients.
customRouteAuthConfig?:
Map<string, boolean>
Per-route auth overrides. Keys are `METHOD:PATH` (e.g., `GET:/api/health`). Value `false` makes route public, `true` requires auth.
tools?:
ToolsInput
Available tools for the server
taskStore?:
InMemoryTaskStore
Task store for A2A (Agent-to-Agent) operations
mcpOptions?:
MCPOptions
MCP transport options. Set `serverless: true` for stateless environments like Cloudflare Workers or Vercel Edge.
手动初始化Direct link to 手动初始化
🌐 Manual initialization
对于自定义中间件顺序,请分别调用每个方法,而不是使用 init()。详情请参阅手动初始化。
🌐 For custom middleware ordering, call each method separately instead of init(). See manual initialization for details.
示例Direct link to 示例
🌐 Examples
- Koa 适配器 - 基本 Koa 服务器设置
相关Direct link to 相关
🌐 Related
- 服务器适配器 - 共享适配器概念
- MastraServer 参考 - 完整 API 参考
- createRoute() 参考 - 创建类型安全的自定义路由