DEV Community

Andrew Lee
Andrew Lee

Posted on

1 1

How to build MCP server that triggers an Agent using AI SDK

1. Set up your project

mkdir code-reviewer
cd code-reviewer
npm init -y
npm pkg set type=module
Enter fullscreen mode Exit fullscreen mode

2. Install dependencies

npm install @modelcontextprotocol/sdk
npm install ai
npm install @ai-sdk/openai
Enter fullscreen mode Exit fullscreen mode

3. Create index.js

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

// Contents of parallel-code-review.js is copied pasted from
// https://sdk.vercel.ai/docs/foundations/agents#parallel-processing
import { parallelCodeReview } from "./parallel-code-review.js";

const server = new McpServer({
  name: "Code Reviewer",
  version: "1.0.0"
});

server.tool("code_review",
  { code: z.string() },
  async ({ code }) => {
    const { summary } = await parallelCodeReview(code);
    return {
      content: [{ type: "text", text: summary }],
    };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);
Enter fullscreen mode Exit fullscreen mode

The code in parallel-code-review.js is copied pasted from the example in https://sdk.vercel.ai/docs/foundations/agents#parallel-processing.

// Source: https://sdk.vercel.ai/docs/foundations/agents#parallel-processing
import { openai } from '@ai-sdk/openai';
import { generateText, generateObject } from 'ai';
import { z } from 'zod';

// Example: Parallel code review with multiple specialized reviewers
export async function parallelCodeReview(code) {
  // ...
}
Enter fullscreen mode Exit fullscreen mode

AI SDK defaults to looking at OPENAI_API_KEY which we will provide in next step.

4. Add to Cursor (or your MCP host of choice)

{
  "mcpServers": {
    // other MCP servers...
    "Code Reviewer": {
      "command": "node",
      "args": [
        "/absolute/path/to/your/code-reviewer/index.js"
      ],
      "env": {
        "OPENAI_API_KEY": "sk-proj-xxxxxxx"
      }
    }
  }
}

Enter fullscreen mode Exit fullscreen mode

5. Trigger your MCP by asking to use code reviewer

Trigger Code Reviewer MCP in Cursor

Top comments (2)

Collapse
 
morella profile image
Ada Hatley

Thanks for sharing this guide

Collapse
 
andyrewlee profile image
Andrew Lee