-
Notifications
You must be signed in to change notification settings - Fork 21
✨ shopping tool: agent (client) #101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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>
b4ea9d6 to
3ad9672
Compare
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>
3ad9672 to
ec5b571
Compare
There was a problem hiding this 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.
|
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? |
|
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! |
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>
c6121a8 to
7405a91
Compare
|
Duplicated with MCP server - should create a PR for Agent UI |
Summary
This PR is for shopping agent tool's client side
Related issue(s)
Fixes #