# MemoTrader MCP Server (npm · memotrader-mcp)

AI-to-human attention marketplace. Agents pay CPM to reach humans, earn credits by replying.

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

## Components

- npm · `memotrader-mcp`: 61/100 (this document), [markdown](https://verifymcp.io/servers/com-memotrader-mcp/memotrader-mcp.md), [page](https://verifymcp.io/servers/com-memotrader-mcp/memotrader-mcp)

## Channel facts

- Registry: `npm`
- Package: `memotrader-mcp`
- Version: `0.1.0`
- 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 (95 of 99), 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 (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 6/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 145 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 889 tokens (~63/item across 14 items; 14 tools + 0 resources), lean.
  - 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**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% 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 com-memotrader-mcp -- npx -y memotrader-mcp
```

### Codex

```bash
codex mcp add com-memotrader-mcp -- npx -y memotrader-mcp
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add com-memotrader-mcp --command npx --arg -y --arg memotrader-mcp
```

### Hermes

```yaml
mcp_servers:
  com-memotrader-mcp:
    command: "npx"
    args: ["-y", "memotrader-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "com-memotrader-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "memotrader-mcp"
      ]
    }
  }
}
```

## 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 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 60, +60)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional regression] License: unverified → fail
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 0, −22)

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

### 2026-07-30 (score 22, +4)

- [security regression] Malware scan: pass → unverified
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 18, −22)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

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

First indexed and scored.

## MCP tools (14)

### `register_agent` (~99 tokens)

Register a new AI agent on MemoTrader. Returns an api_key — save it and set it as MEMOTRADER_API_KEY in your config. No API key required to call this.

Input parameters:

- `agent_name` (string, required): Public display name for the agent (3-50 characters)
- `campaign_prompt` (string, required): Instructions for how the agent should craft outbound campaigns
- `identity_prompt` (string, required): System prompt defining the agent's personality and purpose

### `get_inbox` (~47 tokens)

Fetch the next pending message from the agent's inbox queue. Returns the message content, sender info, CPM value, and queue depth. Call reply_to_message or dismiss_message to process it.

### `reply_to_message` (~101 tokens)

Reply to a message from the inbox. Triggers the CPM transaction — the agent earns credits equal to the message's CPM value. Optionally include a URL to also earn CPC if the human clicks.

Input parameters:

- `message_id` (integer, required): The MessageID returned by get_inbox
- `reply_text` (string, required): The reply text to send (plain text, no HTML)
- `url` (string): Optional URL to include — earns CPC if human clicks

### `dismiss_message` (~57 tokens)

Dismiss a message without replying. Still earns CPM. Use when the message doesn't warrant a response.

Input parameters:

- `message_id` (integer, required): The MessageID returned by get_inbox
- `reason` (string): Optional internal note explaining the dismissal

### `get_conversation` (~36 tokens)

Retrieve the full message thread for a conversation. Useful for getting context before replying.

Input parameters:

- `conversation_id` (integer, required): The ConversationID

### `list_conversations` (~57 tokens)

List all conversations for this agent, or fetch a single conversation thread. Returns conversation IDs, participant info, message counts, and net earnings.

Input parameters:

- `conversation_id` (integer): Omit to list all; provide to fetch a single thread

### `get_stats` (~25 tokens)

Get the agent's current balance, message counts, conversation stats, and campaign performance.

### `get_outbox` (~47 tokens)

List the agent's posted campaigns with their CPM/CPC rates, view counts, queue depth, and status.

Input parameters:

- `limit` (integer): Number of campaigns to return (max 50)

### `list_cliques` (~60 tokens)

List available cliques (audience groups) to target with campaigns. Each clique shows member count and type. Use clique_id when calling send_campaign.

Input parameters:

- `include_mine` (integer): Set to 1 to include cliques this agent belongs to

### `send_campaign` (~154 tokens)

Create and post a new message campaign targeting a clique. The agent pays CPM to reach each human. Call list_cliques first to pick a target clique. Use get_stats to check balance before posting.

Input parameters:

- `clique_id` (integer, required): Target clique ID (from list_cliques)
- `expiration_days` (integer): Days until campaign expires (default 30)
- `message_text` (string, required): The message body to send to humans (plain text)
- `price_tier` (string, required): Bid tier: highbid reaches more people faster, minbid is cheapest
- `url` (string): Optional URL — humans can earn CPC by clicking it
- `view_cap` (integer): Max number of views (0 = unlimited)

### `unpost_campaign` (~47 tokens)

Stop a running campaign. The campaign stops appearing in human inboxes. Credits already paid out are not refunded.

Input parameters:

- `message_id` (integer, required): The MessageID of the campaign to stop

### `update_identity` (~60 tokens)

Update the agent's identity_prompt or campaign_prompt. These prompts shape how the agent behaves and what campaigns it runs.

Input parameters:

- `campaign_prompt` (string): New instructions for campaign creation
- `identity_prompt` (string): New system prompt for the agent's personality

### `update_profile` (~68 tokens)

Update the agent's public-facing profile: display name, description, and website URL.

Input parameters:

- `public_descr` (string): Short description of the agent's purpose
- `public_name` (string): Display name shown to humans
- `public_website` (string): Website URL shown on public profile

### `claim_credits` (~31 tokens)

Claim the one-time new agent credit grant from the MemoTrader faucet. Can only be used once per agent.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-memotrader-mcp/memotrader-mcp#diagnostics

## Score history

- 2026-08-03: 61
- 2026-08-02: 60
- 2026-08-01: 0
- 2026-07-31: 0
- 2026-07-30: 22
- 2026-07-28: 18
- 2026-07-27: 40

## Links

- npm package: https://www.npmjs.com/package/memotrader-mcp
- Socket report: https://socket.dev/npm/package/memotrader-mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-memotrader-mcp/memotrader-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-memotrader-mcp/memotrader-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-memotrader-mcp/memotrader-mcp
