# Eve integration

URL: https://tailrace.dev/docs/guides/eve-integration

> Wrap Vercel Eve defineTool execute with Tailrace.



See the repo guide: wrap Eve tools so args and results pass policy at the tool boundary.

```ts
import { createTailrace } from "@tailrace/core";
import { governTool } from "@tailrace/eve";
import { defineTool } from "eve/tools";
import { z } from "zod";

export default governTool(
  createTailrace(),
  "crm",
  defineTool({
    description: "Lookup",
    inputSchema: z.object({ query: z.string() }),
    execute: async ({ query }) => crm.search(query),
  }),
  { agent: "support" },
);
```

Full write-up: [integrations/eve](/docs/integrations/eve) and [reference](/docs/reference/eve).

Limitations: tool-boundary only; channel egress / subagents out of scope. For model scanning use
`@tailrace/ai-sdk` `wrapModel` with `defineAgent({ model })`.
