# io.github.dan24ou-cpu/agent-signal (npm · agent-signal)

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

- Trust score: 68/100 (medium)
- Change this week: +44
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `agent-signal-production.up.railway.app`: 23/100, [markdown](https://verifymcp.io/servers/dan24ou-cpu-agent-signal/agent-signal-production.md), [page](https://verifymcp.io/servers/dan24ou-cpu-agent-signal/agent-signal-production)
- npm · `agent-signal`: 68/100 (this document), [markdown](https://verifymcp.io/servers/dan24ou-cpu-agent-signal/agent-signal.md), [page](https://verifymcp.io/servers/dan24ou-cpu-agent-signal/agent-signal)

## Channel facts

- Registry: `npm`
- Package: `agent-signal`
- Version: `0.2.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (138 of 140), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (138 of 140), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 122 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1445 tokens (~111/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 96/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 89% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add dan24ou-cpu-agent-signal -- npx -y agent-signal
```

### Codex

```bash
codex mcp add dan24ou-cpu-agent-signal -- npx -y agent-signal
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dan24ou-cpu-agent-signal": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "agent-signal"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dan24ou-cpu-agent-signal --command npx --arg -y --arg agent-signal
```

### Hermes

```yaml
mcp_servers:
  dan24ou-cpu-agent-signal:
    command: "npx"
    args: ["-y", "agent-signal"]
```

### Other

```json
{
  "mcpServers": {
    "dan24ou-cpu-agent-signal": {
      "command": "npx",
      "args": [
        "-y",
        "agent-signal"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 68, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 64, +44)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 20, −26)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 46, +22)

- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: unverified
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 89

### 2026-07-27 (score 24)

First indexed and scored.

## MCP tools (13)

### `log_shopping_session` (~172 tokens)

Log Shopping Session

Start a new shopping session by logging the user's shopping intent. Call this at the beginning of any shopping task to capture what the user wants. Returns a session_id to use with subsequent log calls.

Input parameters:

- `agent_platform` (string): Agent platform identifier
- `budget_currency` (string): Budget currency code
- `budget_max` (number): Maximum budget amount
- `category` (string): Product category, e.g. 'footwear/running'
- `constraints` (array): Required attributes, e.g. ['wide fit', 'cushioned']
- `exclusions` (array): Excluded brands or features, e.g. ['Nike']
- `gift` (boolean): Whether this is a gift purchase
- `raw_query` (string, required): The user's original shopping request
- `urgency` (string)

### `log_product_evaluation` (~172 tokens)

Log Product Evaluation

Log that a product was evaluated during a shopping session. Call this for each product the agent considers, whether it's selected, rejected, or shortlisted. Include the rejection reason if the product was rejected.

Input parameters:

- `disposition` (string, required): Whether the product was selected, rejected, or shortlisted
- `in_stock` (boolean)
- `match_reasons` (array): Why this product was a match
- `match_score` (number): How well the product matches intent (0-1)
- `merchant_id` (string): Merchant/retailer identifier
- `price_at_time` (number): Price at time of evaluation
- `product_id` (string, required): Product identifier
- `rejection_reason` (string): Why the product was rejected
- `session_id` (string, required): Session ID from log_shopping_session

### `log_comparison` (~121 tokens)

Log Product Comparison

Log a comparison between two or more products during a shopping session. Call this when the agent explicitly compares products to decide between them. Record which product won and what the deciding factor was.

Input parameters:

- `deciding_factor` (string, required): The primary factor that decided the winner
- `dimensions_compared` (array): Dimensions compared, e.g. ['price', 'reviews', 'durability']
- `products_compared` (array, required): Product IDs being compared
- `session_id` (string, required)
- `winner_product_id` (string, required): The product that won the comparison

### `log_outcome` (~85 tokens)

Log Shopping Outcome

Log the final outcome of a shopping session. Call this when the shopping task ends — whether the user purchased, received a recommendation, abandoned, or deferred the decision.

Input parameters:

- `outcome_type` (string, required)
- `product_chosen_id` (string): Product ID if purchased or recommended
- `reason` (string): Why this outcome occurred
- `session_id` (string, required)

### `get_session_summary` (~50 tokens)

Get Session Summary

Retrieve a full summary of a shopping session including all product evaluations, comparisons, and the final outcome. Useful for reviewing what happened during a session.

Input parameters:

- `session_id` (string, required): Session ID to retrieve

### `get_product_intelligence` (~87 tokens)

Get Product Intelligence

Get crowdsourced intelligence about a product from other AI agents' shopping sessions. Returns selection rate, common rejection reasons, which competitors beat it and why, price ranges seen, and outcome data. Use this before recommending a product to understand how other agents have evaluated it.

Input parameters:

- `product_id` (string, required): Product identifier to look up, e.g. 'sony-wh1000xm5'

### `get_category_recommendations` (~98 tokens)

Get Category Recommendations

Get intelligence about a product category from other AI agents' shopping sessions. Returns which products agents are selecting most, what decision factors matter, common requirements, and average budgets. Use this when starting a shopping task to understand what's working well in a category.

Input parameters:

- `budget_max` (number): Optional budget ceiling to filter recommendations
- `category` (string, required): Product category, e.g. 'footwear/running', 'electronics/headphones'

### `check_merchant_reliability` (~81 tokens)

Check Merchant Reliability

Check a merchant's reliability based on data from other AI agents' shopping sessions. Returns selection rate, stock reliability, match scores, and purchase outcomes. Use this to decide whether to trust a merchant's listings before recommending their products.

Input parameters:

- `merchant_id` (string, required): Merchant identifier to look up, e.g. 'amazon', 'bestbuy'

### `get_similar_session_outcomes` (~126 tokens)

Learn from Similar Sessions

Cross-agent learning: see what other AI agents chose when shopping for similar items with similar constraints. Returns which products were selected most often, what deciding factors mattered, and how sessions ended (purchased vs abandoned). Use this at the START of a shopping task to leverage collective agent intelligence.

Input parameters:

- `budget_max` (number): Maximum budget to filter similar sessions
- `category` (string, required): Product category, e.g. 'footwear/running'
- `constraints` (array, required): Shopping constraints, e.g. ['lightweight', 'cushioned', 'wide fit']

### `detect_deal` (~107 tokens)

Detect Deal

Compare a product's current price against historical price data from all agents. Returns a verdict (best_price_ever, great_deal, good_deal, fair_price, above_average), savings vs average, and which merchants typically have the best prices. Use this before recommending a purchase to flag deals or overpricing.

Input parameters:

- `current_price` (number, required): The price you're seeing right now
- `product_id` (string, required): Product identifier, e.g. 'sony-wh1000xm5'

### `get_warnings` (~94 tokens)

Get Warnings

Check for recent problems with a product or merchant before recommending them. Surfaces stock issues, high rejection rates, and abandonment signals from other agents. Returns warnings with severity levels (critical, warning, info) or all_clear if safe. Use this as a safety check before finalizing a recommendation.

Input parameters:

- `merchant_id` (string): Merchant to check for warnings
- `product_id` (string): Product to check for warnings

### `get_constraint_match` (~128 tokens)

Match Constraints to Products

Decision shortcut: find what products worked for agents with your EXACT constraints. Matches on specific requirements (e.g. 'wide fit + cushioned + under $150') and returns what those agents selected, why, and where to buy. Also returns broader recommendations from sessions with overlapping constraints. Use this to skip the search when a proven answer already exists.

Input parameters:

- `budget_max` (number): Maximum budget
- `category` (string, required): Product category, e.g. 'footwear/running'
- `constraints` (array, required): Required attributes, e.g. ['wide fit', 'cushioned']

### `import_completed_session` (~124 tokens)

Import Completed Shopping Session

Bulk-import an entire shopping session after the fact. Use this if you already completed a shopping task WITHOUT agent-signal tools and want to contribute your decision data retroactively. Accepts the full session in one call: intent, product evaluations, comparisons, and outcome. This helps the collective intelligence even when agent-signal wasn't used during the original task.

Input parameters:

- `comparisons` (array): Comparisons made between products
- `evaluations` (array): Products that were evaluated
- `outcome` (object): Final outcome of the session
- `session` (object, required): Shopping session intent

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/dan24ou-cpu-agent-signal/agent-signal#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 64
- 2026-08-01: 20
- 2026-07-31: 20
- 2026-07-30: 46
- 2026-07-28: 46
- 2026-07-27: 24

## Links

- npm package: https://www.npmjs.com/package/agent-signal
- Socket report: https://socket.dev/npm/package/agent-signal
- Repository: https://github.com/dan24ou-cpu/agent-signal
- Changelog RSS feed: https://verifymcp.io/servers/dan24ou-cpu-agent-signal/agent-signal/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/dan24ou-cpu-agent-signal/agent-signal/changelog.json
- HTML version of this page: https://verifymcp.io/servers/dan24ou-cpu-agent-signal/agent-signal
