fullstack-langgraph-nextjs-agent MCP server
2026년 9월 4일 커밋LangGraph.js를 사용하여 AI agent를 구축할 수 있는 프로덕션급 Next.js 템플릿으로, MCP 통합 및 human-in-the-loop 방식의 도구 승인 기능을 제공합니다.
다른 이름 agentailor/fullstack-langgraph-nextjs-agent
- 스타
- 135
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 9월 4일
- 라이선스
- MIT
fullstack-langgraph-nextjs-agent MCP란?
fullstack-langgraph-nextjs-agent은(는) MCP server입니다. LangGraph.js를 사용하여 AI agent를 구축할 수 있는 프로덕션급 Next.js 템플릿으로, MCP 통합 및 human-in-the-loop 방식의 도구 승인 기능을 제공합니다.
프로젝트 README에서 생성된 요약
fullstack-langgraph-nextjs-agent MCP server 정보
정교한 AI agent를 배포하려는 개발자는 이 Next.js 템플릿을 사용하여 LangGraph.js 기반의 프로덕션급 애플리케이션을 구축할 수 있습니다. 이 템플릿은 PostgreSQL 백엔드를 통한 지속적인 대화 메모리와 Server-Sent Events를 통한 실시간 스트리밍 응답 기능을 갖춘 agent 제작을 위한 완전한 스캐폴드를 제공합니다. 아키텍처는 MinIO 또는 AWS S3와 같은 S3 호환 스토리지를 사용하여 이미지 및 PDF를 위한 멀티모달 파일 업로드를 포함한 복잡한 워크플로우를 처리하도록 설계되었습니다.
주요 특징은 Model Context Protocol 통합으로, 코드 변경 없이 웹 UI를 통해 동적인 도구 관리가 가능합니다. 이는 stdio 및 HTTP MCP server를 모두 지원합니다. 안전성을 보장하기 위해 이 템플릿은 사용자가 도구 호출을 실행하기 전에 승인, 거부 또는 수정할 수 있는 human-in-the-loop 메커니즘을 포함합니다. 또한 Langfuse와 통합되어 agent 실행, 도구 호출 및 토큰 사용에 대한 엔드 투 엔드 관찰 가능성을 제공하므로, 본격적이고 확장 가능한 AI 서비스를 구축하는 팀에 적합합니다.
활용 사례
- 1동적 agent 도구 관리기본 소스 코드를 수정하지 않고 MCP를 사용하여 웹 인터페이스를 통해 agent에 새로운 기능을 추가합니다.
- 2안전한 도구 실행 구현AI agent가 작업을 수행하기 전에 도구 파라미터를 검토하고 편집할 수 있도록 수동 개입을 요구합니다.
- 3장기 대화 기록 유지지속 가능한 데이터베이스를 사용하여 사용자가 서로 다른 세션에서도 대화를 재개할 수 있도록 합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
구성
ANTHROPIC_API_KEYDATABASE_URLDEFAULT_MODELGOOGLE_API_KEYOPENAI_API_KEY
| 이름 | 설명 | 유형 |
|---|---|---|
| ANTHROPIC_API_KEY | — | |
| DATABASE_URL | — | |
| DEFAULT_MODEL | — | |
| GOOGLE_API_KEY | — | |
| OPENAI_API_KEY | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능agentailor/fullstack-langgraph-nextjs-agent is public and reachablegithub.com/agentailor/fullstack-langgraph-nextjs-agent ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-09-04github.com/agentailor/fullstack-langgraph-nextjs-agent ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기LangGraph.js AI Agent Template
A production-ready Next.js template for building AI agents with LangGraph.js, featuring Model Context Protocol (MCP) integration, human-in-the-loop tool approval, and persistent memory.

Complete agent workflow: user input → tool approval → execution → streaming response
Built with this template: Cameron
Cameron is a personal finance agent that started from this template and was built in public, one tagged release per article. If you want to see where this scaffold goes once it becomes a real agent — human-in-the-loop approval on every money-moving action, self-hosted data, a full LangGraph workflow — read its source as a worked example.
Need help taking this to production?
I help teams design and optimize LangGraph-based AI agents (RAG, memory, latency, architecture).
If you're building something serious on top of this template and want hands-on help:
Happy to jump on a short call.
Features
Dynamic Tool Loading with MCP
- Model Context Protocol integration for dynamic tool management
- Add tools via web UI - no code changes required
- Support for both stdio and HTTP MCP servers
- Tool name prefixing to prevent conflicts
Human-in-the-Loop Tool Approval
- Interactive tool call approval before execution
- Granular control with approve/deny/modify options
- Optional auto-approval mode for trusted environments
- Real-time streaming with tool execution pauses
Persistent Conversation Memory
- LangGraph checkpointer with PostgreSQL backend
- Full conversation history preservation
- Thread-based organization
- Seamless resume across sessions
Multimodal File Uploads
- Upload images, PDFs, and text files with messages
- S3-compatible storage (MinIO for development)
- Automatic file processing for AI consumption
- Production-ready with AWS S3, Cloudflare R2 support
Real-time Streaming Interface
- Server-Sent Events (SSE) for live responses
- Optimistic UI updates with React Query
- Type-safe message handling
- Error recovery and graceful degradation
Persistent Model Settings
- Provider and model selection saved to
localStorageautomatically - Settings survive page reloads and thread navigation
- No backend required — zero latency reads on startup
LLM Observability with Langfuse
- End-to-end tracing of agent runs, LLM calls, tool invocations, and token usage
- Works with Langfuse Cloud or a self-hosted instance
- Toggle via
LANGFUSE_ENABLEDenv var — zero overhead when disabled - See docs/OBSERVABILITY.md for setup instructions
Modern Tech Stack
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- Backend: Node.js, Prisma ORM, PostgreSQL, MinIO/S3
- AI: LangGraph.js, OpenAI/Google/Anthropic models
- UI: shadcn/ui components, Lucide icons
Quick Start
Prerequisites
- Node.js 18+ and pnpm
- Docker (for PostgreSQL and MinIO)
- OpenAI API key, Google AI API key, or Anthropic API key
1. Clone and Install
git clone https://github.com/IBJunior/fullstack-langgraph-nextjs-agent.git
cd fullstack-langgraph-nextjs-agent
pnpm install
2. Environment Setup
cp .env.example .env.local
Edit .env.local with your configuration:
# Database
DATABASE_URL="postgresql://user:password@localhost:5434/agent_db"
# AI Models (choose one or more)
OPENAI_API_KEY="sk-..."
GOOGLE_API_KEY="..."
ANTHROPIC_API_KEY="sk-ant-..."
# Optional: Default model
DEFAULT_MODEL="gpt-4o-mini" # or "gemini-1.5-flash" or "claude-sonnet-4-5"
3. Start Services
docker compose up -d # Starts PostgreSQL and MinIO
4. Database Setup
pnpm prisma:generate
pnpm prisma:migrate
5. Run Development Server
pnpm dev
# Or use custom port
pnpm dev --port=3005
Visit http://localhost:3000 to start chatting with your AI agent!
Screenshots
Usage Guide
Adding MCP Servers
- Navigate to Settings - Click the gear icon in the sidebar
- Add MCP Server - Click "Add MCP Server" button
- Configure Server:
- Name: Unique identifier (e.g., "filesystem")
- Type: Choose
stdioorhttp - Command: For stdio servers (e.g.,
npx @modelcontextprotocol/server-filesystem) - Args: Command arguments (e.g.,
["/path/to/allow"]) - URL: For HTTP servers
MCP server configuration form with example filesystem server setup
Want to build your own MCP server? Check out create-mcp-server - scaffold production-ready MCP servers in seconds with TypeScript, multiple frameworks (MCP SDK or FastMCP), and built-in debugging tools.
Example MCP Server Configurations
Filesystem Server (stdio)
{
"name": "filesystem",
"type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
}
HTTP API Server
{
"name": "web-api",
"type": "http",
"url": "http://localhost:8080/mcp",
"headers": {
"Authorization": "Bearer your-token"
}
}
Note: Some HTTP MCP servers require OAuth 2.0 authentication. See OAuth Documentation for details.
Tool Approval Workflow
- Agent Requests Tool - AI suggests using a tool
- Approval Prompt - Interface shows tool details and asks for approval
- User Decision:
- ✅ Allow: Execute tool as requested
- ❌ Deny: Skip tool execution
- ✏️ Modify: Edit tool parameters before execution
- Continue Conversation - Agent responds with tool results
Architecture
High-Level Overview
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Next.js UI │◄──►│ Agent Service │◄──►│ LangGraph.js │
│ (React 19) │ │ (SSE Streaming) │ │ Agent │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ React Query │ │ Prisma │ │ MCP Clients │
│ (State Mgmt) │ │ (Database) │ │ (Tools) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────────────────┐
│ PostgreSQL │ MinIO/S3 │
│ (Persistence)│ (File Store) │
└──────────────────────────────┘
Core Components
Agent Builder (src/lib/agent/builder.ts)
- Creates StateGraph with agent→tool_approval→tools flow
- Handles tool approval interrupts
- Manages model binding and system prompts
MCP Integration (src/lib/agent/mcp.ts)
- Dynamic tool loading from database-stored MCP servers
- Support for stdio and HTTP transports
- Tool name prefixing for conflict prevention
Streaming Service (src/services/agentService.ts)
- Server-Sent Events for real-time responses
- Message processing and chunk aggregation
- Tool approval workflow handling
Chat Hook (src/hooks/useChatThread.ts)
- React Query integration for optimistic UI
- Stream management and error handling
- Tool approval user interface
File Storage (src/lib/storage/)
- S3-compatible storage with MinIO (development) or AWS S3 (production)
- File validation, upload, and content processing for AI
- Multimodal message building with base64 conversion
For detailed architecture documentation, see docs/ARCHITECTURE.md.
API Documentation
The app serves an interactive OpenAPI 3.1 explorer at /api-docs and the raw spec at
/api/openapi — generated from per-route Zod schemas. See docs/API.md for how
it works and how to document new routes.
Development
Available Scripts
pnpm dev # Start development server with Turbopack
pnpm build # Production build
pnpm start # Start production server
pnpm lint # Run ESLint
pnpm format # Format with Prettier
pnpm format:check # Check formatting
# Database
pnpm prisma:generate # Generate Prisma client (after schema changes)
pnpm prisma:migrate # Create and apply migrations
pnpm prisma:studio # Open Prisma Studio (database UI)
Agent Skills
This repo ships Agent Skills in .agents/skills/,
pinned by skills-lock.json. They give any skill-aware coding agent (Claude Code and friends) the
conventions for working on an agent codebase like this one:
| Skill | Use it when |
|---|---|
agent-prompt-engineering |
Writing or auditing the agent’s system prompt |
tool-design |
Adding or reviewing a tool / MCP server the agent calls |
agent-eval-cases |
Deciding what agent behavior deserves an eval case, and writing it |
Agent guidance for this repo lives in AGENTS.md (with CLAUDE.md pointing to it).
Project Structure
src/
├── app/ # Next.js App Router
│ ├── api/ # API routes (stream, upload, mcp-servers)
│ └── thread/ # Thread-specific pages
├── components/ # React components
├── hooks/ # Custom React hooks
├── lib/ # Core utilities
│ ├── agent/ # Agent-related logic
│ └── storage/ # File upload & S3 utilities
├── services/ # Business logic
└── types/ # TypeScript definitions
prisma/
├── schema.prisma # Database schema
└── migrations/ # Database migrations
Key Files
- Agent Configuration:
src/lib/agent/builder.ts,src/lib/agent/mcp.ts - API Endpoints:
src/app/api/agent/stream/route.ts,src/app/api/agent/upload/route.ts - File Storage:
src/lib/storage/(validation, upload, content processing) - Database Models:
prisma/schema.prisma - Main Chat Interface:
src/components/Thread.tsx,src/components/MessageInput.tsx - Streaming Logic:
src/hooks/useChatThread.ts
Contributing
We welcome contributions! This project is designed to be a community resource for LangGraph.js development.
Getting Started
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
Development Guidelines
- Follow TypeScript strict mode
- Use Prettier for formatting
- Add JSDoc comments for public APIs
- Test MCP server integrations thoroughly
- Update documentation for new features
Learning Resources
LangGraph.js
Model Context Protocol (MCP)
Next.js & React
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- LangChain for the incredible AI framework
- Model Context Protocol for the tool integration standard
- Next.js team for the amazing React framework
Ready to build your next AI agent?
If this repo helped you and you’d like guidance implementing it in production, feel free to reach out on LinkedIn.
fullstack-langgraph-nextjs-agent MCP 질문
agent가 처리할 수 있는 파일 형식은 무엇인가요?
이미지, PDF, 텍텍스트 파일을 포함한 멀티모달 파일 업로드를 지원합니다.