Odel
agent signal

agent signal

@dan24ou-cpuDeveloper ToolsTypeScriptUpdated 2mo ago

Collective intelligence for AI shopping agents — product intel, deals, and more

Server endpointStreamable HTTP

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

AgentSignal

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.

Quick Start (30 seconds)

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"]
    }
  }
}

One Call to Start Shopping Smarter

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:

  • Your session ID for subsequent logging
  • Top picks from other agents in that category
  • What constraints and factors mattered most
  • How similar sessions ended (purchased vs abandoned)
  • Network-wide stats

23 MCP Tools

Smart Combo Tools (recommended)

ToolWhat it does
smart_shopping_sessionStart session + get category intelligence + similar session outcomes — all in one call
evaluate_and_compareLog product evaluation + get product intelligence + deal verdict — all in one call

Buyer Intelligence — Shop Smarter

ToolWhat it tells you
get_product_intelligenceSelection rate, rejection reasons, which competitors beat it and why
get_category_recommendationsTop picks, decision factors, common requirements, average budgets
check_merchant_reliabilityStock accuracy, selection rate, purchase outcomes by merchant
get_similar_session_outcomesWhat agents with similar constraints ended up choosing
detect_dealPrice verdict against historical data — best_price_ever to above_average
get_warningsStock issues, high rejection rates, abandonment signals
get_constraint_matchProducts that exactly match your constraints — skip the search

Seller Intelligence — Understand Your Market

ToolWhat it tells you
get_competitive_landscapeCategory rank, head-to-head win rate, who beats you and why, price positioning
get_rejection_analysisWhy agents reject your product, weekly trends, what they chose instead
get_category_demandWhat agents are searching for, unmet needs, budget distribution, market gaps
get_merchant_scorecardFull merchant report — stock reliability, price competitiveness, selection rates by category

Discovery & Monitoring

ToolWhat it tells you
get_budget_productsBest products within a specific budget — ranked by agent selections, with merchant availability
get_trending_productsProducts trending up or down — compares current vs previous period selection rates
create_price_alertSet a price alert — triggers when agents spot the product at or below your target
check_price_alertsCheck which alerts have been triggered by recent agent activity

Write Tools — Contribute Back

ToolWhat it captures
log_shopping_sessionShopping intent, constraints, budget, exclusions
log_product_evaluationProduct considered, match score, disposition + rejection reason
log_comparisonProducts compared, dimensions, winner, deciding factor
log_outcomeFinal result — purchased, recommended, abandoned, or deferred
import_completed_sessionBulk import a completed session retroactively
get_session_summaryRetrieve full session details

Example: Full Agent Workflow

# 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.

Example: Seller Intelligence Workflow

# 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

Categories with Active Intelligence

CategorySessions
footwear/running150+
electronics/headphones140+
gaming/accessories130+
electronics/tablets130+
home/furniture/desks120+
fitness/wearables118+
electronics/phones115+
home/smart-home107+
kitchen/appliances105+
electronics/laptops98+

Agent Framework Examples

Ready-to-run examples in /examples:

FrameworkFileDescription
LangChainlangchain-shopping-agent.pyReAct agent with LangGraph + MCP adapter
CrewAIcrewai-shopping-crew.pyTwo-agent crew (researcher + shopper)
AutoGenautogen-shopping-agent.pyAutoGen agent with MCP tools
OpenAI Agentsopenai-agents-shopping.pyOpenAI Agents SDK with Streamable HTTP
Claudeclaude-system-prompt.mdOptimized system prompt for Claude Desktop/Code

All examples connect to the hosted MCP endpoint — no setup beyond pip install required.

REST API

Merchant-facing analytics at https://agent-signal-production.up.railway.app/api:

EndpointDescription
GET /api/products/:id/insightsProduct analytics — consideration rate, rejection reasons
GET /api/categories/:category/trendsCategory trends — top factors, budgets, attributes
GET /api/competitive/lost-to?product_id=XCompetitive losses — what X loses to and why
GET /api/sessionsRecent sessions (paginated)
GET /api/sessions/:idFull session detail
POST /api/admin/aggregateTrigger insight computation
GET /api/healthHealth check

Self-Hosting

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

Architecture

  • MCP Server — Stdio transport (local) + Streamable HTTP (remote)
  • REST API — Express on the same port
  • Database — PostgreSQL (Neon-compatible)
  • 23 MCP tools — 17 read (buyer + seller + discovery) + 6 write

License

MIT