> ## Documentation Index
> Fetch the complete documentation index at: https://context7.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# eve

> Filesystem-first framework for building durable AI agents

[eve](https://eve.dev) is Vercel's filesystem-first framework for building durable AI agents. By adding Context7 as an MCP connection, an eve agent can retrieve up-to-date, version-specific library documentation and code examples while it works.

For more details on how eve handles MCP connections, see the [eve MCP connections documentation](https://eve.dev/docs/connections/mcp).

## Setup

**1. Create the Context7 connection**

Create `agent/connections/context7.ts` in your eve project:

```typescript theme={null}
import { defineMcpClientConnection } from "eve/connections";

const apiKey = process.env.CONTEXT7_API_KEY;

export default defineMcpClientConnection({
  url: "https://mcp.context7.com/mcp",
  description:
    "Context7: up-to-date, version-specific library documentation and code examples.",
  ...(apiKey
    ? {
        auth: {
          getToken: async () => ({ token: apiKey }),
        },
      }
    : {}),
  tools: {
    allow: ["resolve-library-id", "query-docs"],
  },
});
```

Set `CONTEXT7_API_KEY` so the hosted Context7 MCP server can identify you and apply your plan's limits. Create a free key in the [Context7 dashboard](https://context7.com/dashboard?tab=settings) and set it as described in the next step.

**2. Configure an API key (recommended)**

Add the key to `.env.local` for local development. Do not commit this file.

```bash theme={null}
CONTEXT7_API_KEY=YOUR_API_KEY
```

For a deployed eve agent, add the same variable to the linked Vercel project and pull it locally:

```bash theme={null}
vercel env add CONTEXT7_API_KEY
vercel env pull .env.local
```

eve's `getToken` callback sends the value as an `Authorization: Bearer` token. Vercel Connect is not required when using an API key.

**3. Verify the connection**

Inspect the agent and confirm that it compiles with `0 errors` and `0 warnings`:

```bash theme={null}
npx eve info
```

Then start the agent and ask a documentation question. When the connection is used, eve discovers only the two tools in the allowlist:

```bash theme={null}
pnpm dev
```

```text theme={null}
Use Context7 to show me how to configure caching in Next.js.
```

## How It Works

The filename registers the connection as `context7`. eve discovers the remote MCP tools and makes them available as `context7__resolve-library-id` and `context7__query-docs` when the model searches for a relevant connection.

The allowlist keeps the connection limited to Context7's documentation tools, including if the server adds more tools later. Both tools are read-only, so they do not require an approval gate.

When a request names a library, the agent first calls `resolve-library-id` to find its Context7 library ID, then calls `query-docs` with that ID and the user's specific question. If the prompt already includes a Context7 library ID such as `/vercel/next.js`, the agent can call `query-docs` directly.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.