Skip to content

Conversation

@yenayuu
Copy link

@yenayuu yenayuu commented Nov 23, 2025

Summary

This PR is for shopping agent tool's client side

Related issue(s)

Fixes #

Adds the Shopping Agent MCP server implementation, including:
- Server code (shopping_agent.py)
- Documentation (README.md, ARCHITECTURE.md, QUICKSTART.md)
- Configuration (pyproject.toml, Dockerfile)
- Helper scripts (test_server.sh)

Signed-off-by: Yena Yu <yenayu@bu.edu>
@yenayuu yenayuu force-pushed the feature/shopping-agent-client branch from b4ea9d6 to 3ad9672 Compare November 23, 2025 23:31
@yenayuu yenayuu changed the title ✨ shopping agent tool : agent (client) ✨ shopping agent tool: agent (client) Nov 23, 2025
Adds client-side testing scripts for the Shopping Agent:
- test_client.py: Standard HTTP client
- test_mcp_client.py: MCP SDK client
- simple_test.py: Agent logic simulation (requires langchain)

Signed-off-by: Yena Yu <yenayu@bu.edu>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a shopping agent MCP tool with client-side testing and configuration. The implementation provides product search capabilities via SerpAPI, with the design philosophy that the MCP server returns raw data while AI agents provide reasoning and analysis.

Key changes:

  • New shopping agent MCP server using FastMCP and SerpAPI for product search
  • Test clients for validating the server functionality
  • Comprehensive documentation, configuration files, and Docker support

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 25 comments.

Show a summary per file
File Description
mcp/shopping_agent/shopping_agent.py Main MCP server implementation with SerpAPI integration for product search
mcp/shopping_agent/test_client.py HTTP-based test client for the shopping agent endpoints
mcp/shopping_agent/test_mcp_client.py MCP client test file (contains unused imports and doesn't actually test MCP communication)
mcp/shopping_agent/test_server.sh Bash script for testing server health and basic functionality
mcp/shopping_agent/pyproject.toml Project dependencies and metadata configuration
mcp/shopping_agent/setup_env.sh Environment setup helper script for API key configuration
mcp/shopping_agent/config.example Example configuration file with environment variables
mcp/shopping_agent/init.py Package initialization exposing main functions
mcp/shopping_agent/Dockerfile Docker container configuration for deployment
mcp/shopping_agent/.gitignore Git ignore patterns for secrets and build artifacts
mcp/shopping_agent/README.md Comprehensive documentation (contains inaccuracies about LangChain/LangGraph usage)
mcp/shopping_agent/QUICKSTART.md Quick start guide (contains inaccuracies about architecture and dependencies)
mcp/shopping_agent/ARCHITECTURE.md Architecture documentation (describes non-existent LangChain/LangGraph integration)
mcp/README.md Updated MCP tools directory documentation (incorrectly describes shopping agent technologies)
Comments suppressed due to low confidence (3)

mcp/shopping_agent/test_mcp_client.py:15

  • Variable client is not used.
    client = streamablehttp_client("http://localhost:8000")

mcp/shopping_agent/test_mcp_client.py:18

  • Variable test_queries is not used.
    test_queries = [

mcp/shopping_agent/test_mcp_client.py:5

  • Import of 'ClientSession' is not used.
    Import of 'StdioServerParameters' is not used.
    Import of 'StreamableHTTPClient' is not used.
from mcp import ClientSession, StdioServerParameters, StreamableHTTPClient

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mrsabath
Copy link
Contributor

Hi @yenayuu could you please open an issue under kagenti/kagenti repo, similar to kagenti/kagenti#408 so I can assign you to work on the demo documentation?
This also applies to #100

@kellyaa
Copy link
Contributor

kellyaa commented Nov 25, 2025

Hi @yenayuu ! This is a nice piece of demo functionality. I would recommending renaming this from "Shopping Agent" to "Shopping Tool". Since it is a wrapper around the Serper API / Google Shopping APIs and doesn't use any LLM capabilities, naming it an "agent" can be a bit misleading. Otherwise, thank you for the contribution!

@kellyaa kellyaa self-assigned this Nov 25, 2025
@yenayuu yenayuu changed the title ✨ shopping agent tool: agent (client) ✨ shopping tool: agent (client) Dec 5, 2025
yenayuu and others added 6 commits December 5, 2025 15:45
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Yena Yu <yenayu@bu.edu>
@yenayuu yenayuu force-pushed the feature/shopping-agent-client branch from c6121a8 to 7405a91 Compare December 10, 2025 14:40
@yenayuu yenayuu closed this Dec 10, 2025
@yenayuu
Copy link
Author

yenayuu commented Dec 10, 2025

Duplicated with MCP server - should create a PR for Agent UI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants