App configuration with tools and UI resources
App instance for starting server or getting middleware
const app = createApp({
name: "my-app",
version: "1.0.0",
tools: {
greet: {
description: "Greet a user",
input: z.object({ name: z.string() }),
output: z.object({ message: z.string() }),
handler: async ({ name }) => ({ message: `Hello, ${name}!` }),
},
},
});
await app.start({ port: 3000 });
Create an MCP app with unified tool and UI definitions
Supports both single-version (backward compatible) and multi-version configurations.