loading…
Search for a command to run...
loading…
Collective intelligence for AI shopping agents — product intel, deals, and more
Collective intelligence for AI shopping agents — product intel, deals, and more
npm version GitHub stars License: MIT MCP Tools
The collective intelligence layer for AI shopping agents.
Every agent that connects makes every other agent smarter. 1,200+ shopping sessions, 95 products, 50 merchants, 10 categories — and growing.
Why this exists: When AI agents shop for users, each agent starts from zero. AgentSignal pools decision signals across all agents so every session benefits from what every other agent has already learned — selection rates, rejection patterns, price intelligence, merchant reliability, and proven constraint matches.
Remote — zero install, instant intelligence:
{
"mcpServers": {
"agent-signal": {
"url": "https://agent-signal-production.up.railway.app/mcp"
}
}
}
Local via npx:
npx agent-signal
Claude Desktop / Claude Code:
{
"mcpServers": {
"agent-signal": {
"command": "npx",
"args": ["agent-signal"]
}
}
}
The smart_shopping_session tool logs your session AND returns all available intelligence in a single call:
smart_shopping_session({
raw_query: "lightweight running shoes with good cushioning",
category: "footwear/running",
budget_max: 200,
constraints: ["lightweight", "cushioned"]
})
Returns:
| Tool | What it does |
|---|---|
smart_shopping_session |
Start session + get category intelligence + similar session outcomes — all in one call |
evaluate_and_compare |
Log product evaluation + get product intelligence + deal verdict — all in one call |
| Tool | What it tells you |
|---|---|
get_product_intelligence |
Selection rate, rejection reasons, which competitors beat it and why |
get_category_recommendations |
Top picks, decision factors, common requirements, average budgets |
check_merchant_reliability |
Stock accuracy, selection rate, purchase outcomes by merchant |
get_similar_session_outcomes |
What agents with similar constraints ended up choosing |
detect_deal |
Price verdict against historical data — best_price_ever to above_average |
get_warnings |
Stock issues, high rejection rates, abandonment signals |
get_constraint_match |
Products that exactly match your constraints — skip the search |
| Tool | What it tells you |
|---|---|
get_competitive_landscape |
Category rank, head-to-head win rate, who beats you and why, price positioning |
get_rejection_analysis |
Why agents reject your product, weekly trends, what they chose instead |
get_category_demand |
What agents are searching for, unmet needs, budget distribution, market gaps |
get_merchant_scorecard |
Full merchant report — stock reliability, price competitiveness, selection rates by category |
| Tool | What it tells you |
|---|---|
get_budget_products |
Best products within a specific budget — ranked by agent selections, with merchant availability |
get_trending_products |
Products trending up or down — compares current vs previous period selection rates |
create_price_alert |
Set a price alert — triggers when agents spot the product at or below your target |
check_price_alerts |
Check which alerts have been triggered by recent agent activity |
| Tool | What it captures |
|---|---|
log_shopping_session |
Shopping intent, constraints, budget, exclusions |
log_product_evaluation |
Product considered, match score, disposition + rejection reason |
log_comparison |
Products compared, dimensions, winner, deciding factor |
log_outcome |
Final result — purchased, recommended, abandoned, or deferred |
import_completed_session |
Bulk import a completed session retroactively |
get_session_summary |
Retrieve full session details |
# 1. Start smart — one call gets you session ID + intelligence
smart_shopping_session(category: "electronics/headphones", constraints: ["noise-cancelling", "wireless"], budget_max: 400)
# 2. Evaluate products — get intel as you log
evaluate_and_compare(session_id: "...", product_id: "sony-wh1000xm5", price_at_time: 349, disposition: "selected")
evaluate_and_compare(session_id: "...", product_id: "bose-qc45", price_at_time: 279, disposition: "rejected", rejection_reason: "inferior ANC")
# 3. Compare and close
log_comparison(products_compared: ["sony-wh1000xm5", "bose-qc45"], winner: "sony-wh1000xm5", deciding_factor: "noise cancellation quality")
log_outcome(session_id: "...", outcome_type: "purchased", product_chosen_id: "sony-wh1000xm5")
Every step feeds the network. The next agent shopping for headphones benefits from your data.
# 1. How is my product performing vs competitors?
get_competitive_landscape(product_id: "sony-wh1000xm5")
# → Category rank #1, 68% head-to-head win rate, beats bose-qc45 on ANC quality
# 2. Why are agents rejecting my product?
get_rejection_analysis(product_id: "bose-qc45")
# → 45% rejected for "inferior ANC", agents chose sony-wh1000xm5 instead 3x more
# 3. What do agents want in my category?
get_category_demand(category: "electronics/headphones")
# → Top demands: noise-cancelling (89%), wireless (82%), unmet need: "spatial audio"
# 4. How does my store perform?
get_merchant_scorecard(merchant_id: "amazon")
# → 34% selection rate, 2% out-of-stock, cheapest option 41% of the time
| Category | Sessions |
|---|---|
| footwear/running | 150+ |
| electronics/headphones | 140+ |
| gaming/accessories | 130+ |
| electronics/tablets | 130+ |
| home/furniture/desks | 120+ |
| fitness/wearables | 118+ |
| electronics/phones | 115+ |
| home/smart-home | 107+ |
| kitchen/appliances | 105+ |
| electronics/laptops | 98+ |
Ready-to-run examples in /examples:
| Framework | File | Description |
|---|---|---|
| LangChain | langchain-shopping-agent.py | ReAct agent with LangGraph + MCP adapter |
| CrewAI | crewai-shopping-crew.py | Two-agent crew (researcher + shopper) |
| AutoGen | autogen-shopping-agent.py | AutoGen agent with MCP tools |
| OpenAI Agents | openai-agents-shopping.py | OpenAI Agents SDK with Streamable HTTP |
| Claude | claude-system-prompt.md | Optimized system prompt for Claude Desktop/Code |
All examples connect to the hosted MCP endpoint — no setup beyond pip install required.
Merchant-facing analytics at https://agent-signal-production.up.railway.app/api:
| Endpoint | Description |
|---|---|
GET /api/products/:id/insights |
Product analytics — consideration rate, rejection reasons |
GET /api/categories/:category/trends |
Category trends — top factors, budgets, attributes |
GET /api/competitive/lost-to?product_id=X |
Competitive losses — what X loses to and why |
GET /api/sessions |
Recent sessions (paginated) |
GET /api/sessions/:id |
Full session detail |
POST /api/admin/aggregate |
Trigger insight computation |
GET /api/health |
Health check |
git clone https://github.com/dan24ou-cpu/agent-signal.git
cd agent-signal
npm install
cp .env.example .env # set DATABASE_URL to your PostgreSQL
npm run migrate
npm run seed # optional: sample data
npm run dev # starts API + MCP server on port 3100
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"agent-signal": {
"command": "npx",
"args": []
}
}
}