Overview
What is MCP Agent?
MCP Agent is a web-based conversational agent that lets you chat with various LLMs (Google Gemini, Anthropic Claude, OpenAI GPT, xAI Grok) and interact with external services through Model Context Protocol (MCP) servers. It is built with Next.js and the Vercel AI SDK, targeting developers and power users who want a flexible, multi‑tool chat interface.
How to use MCP Agent?
Clone the repository, install dependencies with npm install (or yarn) inside mcp-agent-app/, configure .env.local with API keys and paths, run database migrations with npx prisma migrate dev --name init, then start the app with npm run dev. Open http://localhost:3000, select an LLM provider and model from the sidebar, and start chatting. Use "Save Chat" to persist conversations.
Key features of MCP Agent
- Supports Google Gemini, Anthropic Claude, OpenAI GPT, and xAI Grok
- Integrates MCP servers for WhatsApp, GitHub, GSuite, and DuckDuckGo search
- Chat persistence using Prisma and SQLite
- Multi‑step tool execution via Vercel AI SDK's
streamText - Dynamic tool discovery from MCP server configurations
- Sidebar UI for provider/model selection and chat history management
Use cases of MCP Agent
- Search the web for current information using DuckDuckGo MCP server
- Retrieve and manage GitHub issues, pull requests, and repositories
- Send WhatsApp messages via the WhatsApp MCP server
- Check Google Calendar events or access GSuite data
FAQ from MCP Agent
Which LLMs does MCP Agent support?
It supports Google Gemini, Anthropic Claude, OpenAI GPT, and xAI Grok via the Vercel AI SDK.
How do I add a new MCP server?
Implement an MCP server communicating over stdio/JSON‑RPC, then add its configuration to mcp-config.json (id, description, command with arguments and environment variables) and set any required environment variables in .env.local. Restart the app to discover the new tools.
What are the prerequisites to run MCP Agent?
You need Node.js (LTS), npm or yarn, uv (Python package manager), Docker (for GitHub MCP server), and API keys for the LLM providers you want to use, plus a GitHub Personal Access Token and GSuite OAuth2 credentials if using those servers.
How does tool calling work in MCP Agent?
The chat API initializes MCP clients via experimental_createMCPClient and StdioMCPTransport, fetches tool schemas dynamically, and passes them to the Vercel AI SDK's streamText function with maxSteps > 1. The SDK handles multi‑step conversation flow, including automatic tool invocation.
Are there any known limitations?
Anthropic tools are currently disabled due to an SDK incompatibility with stdio tools. Also, some MCP servers (e.g., WhatsApp) require a separate Go bridge to be running.