Dpdpdpdp0987/zep-poke-mcp
If you are the rightful owner of zep-poke-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Zep Poke MCP Server is a production-ready server designed to integrate Zep AI's memory and conversation management capabilities into AI applications using the Model Context Protocol (MCP).
Zep Poke MCP Server
A production-ready Model Context Protocol (MCP) server for integrating Zep AI memory and conversation management into AI applications. Built for use with Poke and other MCP-compatible clients.
Features
✨ Complete Zep Integration
- 🔍 Semantic conversation search
- 💾 Context and message storage
- 📜 Conversation history retrieval
- 🧠 Automatic fact extraction
- 📊 Memory session management
- 🆕 Session creation and initialization
🚀 Production Ready
- TypeScript with full type safety
- Error handling and validation
- Vercel deployment support
- Environment variable configuration
- Clean, maintainable code structure
Quick Start
Prerequisites
- Node.js 18+
- A Zep API key (get one at getzep.com)
- npm, yarn, or pnpm
Installation
- Clone the repository
git clone https://github.com/Dpdpdpdp0987/zep-poke-mcp.git
cd zep-poke-mcp
- Install dependencies
npm install
# or
yarn install
# or
pnpm install
- Configure environment variables
cp .env.example .env
Edit .env and add your Zep API key:
ZEP_API_KEY=your_zep_api_key_here
ZEP_API_URL=https://api.getzep.com
- Build the project
npm run build
- Run the server
npm start
MCP Tools
This server provides 6 powerful tools for Zep AI integration:
1. search_conversations
Search through conversations using semantic search.
Parameters:
query(required): Search query textsessionId(optional): Limit search to specific sessionlimit(optional): Max results (default: 10)
Example:
{
"query": "What did we discuss about project deadlines?",
"limit": 5
}
2. store_context
Store a conversation message in Zep.
Parameters:
sessionId(required): Unique session identifierrole(required): "user", "assistant", or "system"content(required): Message contentmetadata(optional): Additional metadata object
Example:
{
"sessionId": "user-123-session",
"role": "user",
"content": "I need help with the dashboard feature",
"metadata": { "priority": "high" }
}
3. retrieve_history
Get conversation history for a session.
Parameters:
sessionId(required): Session to retrievelimit(optional): Max messages (default: 20)
Example:
{
"sessionId": "user-123-session",
"limit": 10
}
4. extract_facts
Extract facts automatically identified by Zep from conversations.
Parameters:
sessionId(required): Session to extract facts from
Example:
{
"sessionId": "user-123-session"
}
5. list_memories
List all session memories.
Parameters:
limit(optional): Max sessions to return (default: 50)
Example:
{
"limit": 25
}
6. create_memory
Create a new session memory.
Parameters:
sessionId(required): Unique session identifiermetadata(optional): Session metadata
Example:
{
"sessionId": "new-user-456",
"metadata": { "userId": "456", "name": "Alice" }
}
Configuration for Poke
Add this to your Poke MCP configuration:
{
"mcpServers": {
"zep": {
"command": "node",
"args": ["/path/to/zep-poke-mcp/dist/index.js"],
"env": {
"ZEP_API_KEY": "your_zep_api_key_here",
"ZEP_API_URL": "https://api.getzep.com"
}
}
}
}
Vercel Deployment
Option 1: Deploy with Vercel CLI
- Install Vercel CLI
npm install -g vercel
- Login to Vercel
vercel login
- Deploy
vercel
- Set environment variables in Vercel dashboard
- Go to your project settings
- Add
ZEP_API_KEYsecret - Optionally add
ZEP_API_URL
Option 2: Deploy via GitHub
- Push this repository to GitHub
- Import project in Vercel Dashboard
- Configure environment variables
- Deploy!
Development
Project Structure
zep-poke-mcp/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── zepai.ts # Zep API client wrapper
├── dist/ # Compiled JavaScript (generated)
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── vercel.json # Vercel deployment config
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
└── README.md # This file
Development Commands
# Watch mode for development
npm run dev
# Build for production
npm run build
# Run the server
npm start
# Lint code
npm run lint
Architecture
This MCP server follows best practices:
- TypeScript First: Full type safety and IntelliSense support
- Modular Design: Separate concerns (MCP server, Zep client, types)
- Error Handling: Comprehensive error handling and validation
- Environment Config: Secure credential management
- Production Ready: Optimized for deployment and scaling
Zep AI Integration
This server integrates with Zep AI's powerful features:
- Persistent Memory: Store and retrieve conversation context
- Semantic Search: Find relevant information across all conversations
- Fact Extraction: Automatically identify and store key facts
- Session Management: Organize conversations by session
- Metadata Support: Attach custom metadata to messages and sessions
Learn more at Zep Documentation
Troubleshooting
"ZEP_API_KEY environment variable is required"
- Make sure you've created a
.envfile with your API key - Verify the API key is correct
"Failed to search/store/retrieve"
- Check your Zep API key is valid
- Verify your Zep API URL is correct
- Ensure you have network connectivity
- Check Zep service status
Build errors
- Delete
node_modulesanddistfolders - Run
npm installagain - Run
npm run build
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details
Support
- Issues: GitHub Issues
- Zep Documentation: docs.getzep.com
- MCP Documentation: modelcontextprotocol.io
Author
Daniela Mümken
Built with ❤️ using Model Context Protocol and Zep AI