Chef-Agent
Provides web search capabilities using DuckDuckGo for retrieving cooking information.
Stores and queries recipe knowledge graph using Neo4j, enabling graph-driven recipe storage and updates.
Enables persistent memory and checkpointing for session personalization using Redis.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Chef-AgentWhat's a good vegetarian dinner recipe using mushrooms and spinach?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Chef‑Agent Knowledge‑Graph Cooking Assistant
A streaming AI “Chef” agent that uses LangGraph workflows, MCP tools, and a Neo4j‑backed recipe knowledge graph to answer cooking queries, update or ingest recipes, and remember user preferences.
Agent Graph Architecture Image

🚀 Features
Interactive streaming conversation via FastMCP + FastAPI
Graph‑driven recipe storage & updates (Neo4j +
langchain_neo4j+LLMGraphTransformer)Tool support for:
web_search(Tavily/DuckDuckGo)web_scraper(FireCrawl + BeautifulSoup fallback)execute_pythonsandboxed codegraph_query(natural‑language → Cypher)ingest_url_to_graph(scrape & ingest new recipes)
Memory via in‑process store (or Redis) to personalize sessions
Auto‑summarization of long chats with a short‑term summarizer
Related MCP server: HowToCook-MCP Server
📦 Prerequisites
Python 3.10+
Neo4j 4.4+ (standalone or Docker)
Redis Stack (if using RedisStore/checkpointer)
Environment Variables
Create a .env file at project root and set all of the following:
# Multi‑provider LLM keys
GOOGLE_API_KEY=
GROQ_API_KEY=
CEREBRAS_API_KEY=
# Search & scraping
TAVILY_API_KEY=
E2B_API_KEY=
FIRECRAWL_API_KEY=
# Langfuse observability
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
LANGFUSE_HOST=
# Neo4j connection
NEO4J_URI=
NEO4J_USERNAME=
NEO4J_PASSWORD=
NEO4J_DATABASE=
# Redis (optional)
DB_URI=redis://localhost:6379/0🔧 Installation
Clone repo
git clone https://github.com/your-org/chef-agent.git cd chef-agentCreate & activate a virtual env
python -m venv .venv source .venv/bin/activate pip install -r requirements.txtSet your
.envas above.
⚙️ Running the MCP Server
python mcp_server.pyExposes MCP tools at
http://127.0.0.1:8000/mcpHealth check:
GET /health
⚙️ Running the Agent
python agent.pyConnects to MCP server
Builds a LangGraph
StateGraphworkflow:assistant: generates initial answer, sets
has_finalonce[FinalAnswer]:appearstools: invokes any needed tools (web_search, graph_query, etc.)
update_graph → graph_update_tool_calling: decides & applies graph updates
finalize_answer: produces final user‑facing recipe plan
write_memory → summarization_node: saves memory & summarizes
Streaming output: prints incremental responses
📂 Code Structure
.
├── agent.py # Main agent orchestration & graph workflow
├── mcp_server.py # FastAPI + FastMCP tool definitions
├── graphDB.py # GraphDB wrapper (Neo4j + LLMGraphTransformer)
├── schemas.py # Pydantic models: Recipe, Profile, UpdateGraphDecision
├── scrapper.py # Web scraper & Markdown converter
├── prompts/
│ ├── SYSTEM_PROMPT.txt
│ ├── decision_prompt.txt
│ ├── decision_prompt_2.txt
│ ├── conversation_prompt.txt
│ └── summarization_prompt.txt
├── requirements.txt
├── .env
└── README.md🛠️ Customization
Switch LLM: in
agent.pychangeprovider="google"to"groq"or another supported model.Enable Redis for persistence: swap
InMemoryStore/SaverwithAsyncRedisStore/Saverand setDB_URI.Extend tools: add new
@mcp.tool()functions inmcp_server.py.
🐞 Troubleshooting
Graph connectivity: confirm Neo4j credentials & network reachability.
Future Work
Multi-agent: multiple agents can be run in parallel & share memory.
Distributed: multiple instances of the agent can be run on different machines.
Multilingual: Support for multiple languages.
Multimodal: Support for video/image based analysis for clear instructions.
Multi-modal: Support for voice based analysis for clear instructions.
Security: Add authentication & authorization.
Voice: Support for voice based analysis for clear instructions.
Contributing
Contributions are welcome! To contribute:
Fork the repository.
Create a new branch.
Submit a pull request with your changes.
Contact
For any questions or suggestions, feel free to contact on below Contact details:
Om Nagvekar Portfolio Website, Email: https://omnagvekar.github.io/ , omnagvekar29@gmail.com
GitHub Profile:
Om Nagvekar: https://github.com/OmNagvekar
📜 License
This project is licensed under the GPL-3.0 license.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
- WauldoOAuthcom.wauldo
Stateless agentic tools over MCP: concept extraction, long-context, knowledge graph, planning.
- EngramOAuthapp.getengram
Persistent, verbatim, searchable memory for AI assistants — one memory across every MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnhanced knowledge graph memory server for AI assistants that uses Neo4j as the backend storage engine, enabling powerful graph queries and efficient storage of user interaction information with full MCP protocol compatibility.24MIT
- AlicenseAqualityDmaintenanceAn MCP server that transforms AI assistants into personal chefs by providing recipe recommendations and meal planning features based on the HowToCook repository.52,761 npm770ISC
- AlicenseNot gradedqualityDmaintenanceA memory management system that enables AI assistants to store, search, and visualize persistent conversation contexts using a Neo4j graph database. It provides an MCP server for integration with Claude Desktop along with a web-based dashboard for managing relationship-based knowledge.MIT
- FlicenseAqualityDmaintenanceMCP server enabling AI assistants to manage recipes and ingredients in the WeekPlan app via its REST API.81-