diff --git a/cookbook/pocketflow-mcp/README.md b/cookbook/pocketflow-mcp/README.md index 05d51e2..ca159d6 100644 --- a/cookbook/pocketflow-mcp/README.md +++ b/cookbook/pocketflow-mcp/README.md @@ -1,59 +1,51 @@ -# Simple PocketFlow Chat +# PocketFlow MCP Demo -A basic chat application using PocketFlow with OpenAI's GPT-4o model. +This project shows how to build an agent that performs addition using PocketFlow and Model Context Protocol (MCP). It presents a comparison between using MCP and basic function calling approaches. ## Features -- Conversational chat interface in the terminal -- Maintains full conversation history for context -- Simple implementation demonstrating PocketFlow's node and flow concepts +- Addition operations through a simple terminal interface +- Integration with Model Context Protocol (MCP) +- Comparison between MCP and direct function calling -## Run It +## How to Run -1. Make sure your OpenAI API key is set: - ```bash - export OPENAI_API_KEY="your-api-key-here" - ``` - Alternatively, you can edit the `utils.py` file to include your API key directly. +1. Set your API key: + ```bash + export OPENAI_API_KEY="your-api-key-here" + ``` + Or update it directly in `utils.py` -2. Install requirements and run the application: - ```bash - pip install -r requirements.txt - python main.py - ``` +2. Install and run: + ```bash + pip install -r requirements.txt + python main.py + ``` +## MCP vs Basic Function Calling -## Run the MCP +### Basic Function Calling +- Functions are directly embedded in application code +- Each new tool requires modifying the application +- Tools are defined within the application itself -Run the server - -```bash -python simple_server.py -``` - -Run the client - -```bash -python simple_client.py -``` +### MCP Approach +- Tools live in separate MCP servers +- Standard protocol for all tool interactions +- New tools can be added without changing the agent +- AI can interact with tools through a consistent interface ## How It Works -```mermaid -flowchart LR - chat[ChatNode] -->|continue| chat -``` - -The chat application uses: -- A single `ChatNode` with a self-loop that: - - Takes user input in the `prep` method - - Sends the complete conversation history to GPT-4o - - Adds responses to the conversation history - - Loops back to continue the chat until the user types 'exit' +The agent uses PocketFlow to create a workflow where: +1. It takes user input about numbers +2. Connects to the MCP server for addition operations +3. Returns the result ## Files -- [`main.py`](./main.py): Implementation of the ChatNode and chat flow -- [`utils.py`](./utils.py): Simple wrapper for calling the OpenAI API - \ No newline at end of file +- [`main.py`](./main.py): Implementation of the addition agent using PocketFlow +- [`utils.py`](./utils.py): Helper functions for API calls and MCP integration +- [`simple_server.py`](./simple_server.py): MCP server that provides the addition tool +- [`simple_client.py`](./simple_client.py): Example client that connects to the MCP server \ No newline at end of file