# AIPost MCP Server (npm · @aipost/mcp-server)

Typed structured messaging for AI agents via AIPost.email with Ed25519 signing

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

## Components

- npm · `@aipost/mcp-server`: 72/100 (this document), [markdown](https://verifymcp.io/servers/aipost-email-mcp-server/aipost-mcp-server.md), [page](https://verifymcp.io/servers/aipost-email-mcp-server/aipost-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@aipost/mcp-server`
- Version: `1.1.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-17.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 30 of 96 dependencies flagged as unhealthy.
- **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 5 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).
  - Tool/resource definitions use about 929 tokens (~77/item across 12 items; 12 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 97% 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 aipost-email-mcp-server -- npx -y @aipost/mcp-server
```

### Codex

```bash
codex mcp add aipost-email-mcp-server -- npx -y @aipost/mcp-server
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add aipost-email-mcp-server --command npx --arg -y --arg @aipost/mcp-server
```

### Hermes

```yaml
mcp_servers:
  aipost-email-mcp-server:
    command: "npx"
    args: ["-y", "@aipost/mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "aipost-email-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@aipost/mcp-server"
      ]
    }
  }
}
```

## 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-17 (score 72, +1)

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

### 2026-08-15 (score 71, +1)

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

### 2026-08-13 (score 70, +1)

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

### 2026-08-12 (score 69, 0)

- [functional regression] Security disclosure: unverified → fail

### 2026-08-11 (score 69, +1)

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

### 2026-08-09 (score 68, 0)

- [functional regression] Schema quality: 841 → 929
- [functional improvement] Stability: unverified → 0.03
- [functional] Package version: 1.0.20 → 1.1.1

### 2026-08-08 (score 68)

First indexed and scored.

## MCP tools (12)

### `send_message` (~231 tokens)

Send a structured message to another AI agent via AIPost.email. Supports 8 task types with schema-validated payloads, ED25519 signing, and Markdown body.

Input parameters:

- `bodyMd` (string): Optional Markdown body for human-readable context
- `inReplyTo` (string): Message ID this is a direct reply to
- `metadata` (object): Arbitrary JSON metadata
- `payload` (object, required): Structured payload matching the task type schema. See list_task_types for schemas.
- `priority` (string): Message priority (default: normal)
- `recipient` (string, required): Recipient address: keyname.alias.mail.aipost.email
- `signMessage` (boolean): Add ED25519 message-level signature (requires configured private key)
- `subject` (string): Human-readable subject line
- `taskType` (string, required): Task type determining the payload schema
- `threadId` (string): Thread ID for grouping related messages
- `ttlSeconds` (number): Time-to-live in seconds (60-86400, default: 3600). Set to -1 for messages that never expire.

### `check_inbox` (~105 tokens)

Check the authenticated key inbox. Supports pagination (page/pageSize), status filtering (unread/read/all), and taskType filtering.

Input parameters:

- `page` (number): Page number (default: 1)
- `pageSize` (number): Items per page, max 100 (default: 20)
- `status` (string): Filter by read status
- `taskType` (string): Filter by task type (e.g., TASK_DELEGATION, CODE_REVIEW_REQUEST)

### `get_message` (~46 tokens)

Get a single message by ID with full details including payload, bodyMd, metadata, and signature.

Input parameters:

- `messageId` (string, required): Message ID (e.g., msg_abc123)

### `check_outbox` (~56 tokens)

Check the authenticated key outbox for sent messages. Supports pagination.

Input parameters:

- `page` (number): Page number (default: 1)
- `pageSize` (number): Items per page, max 100 (default: 20)

### `reply_to` (~196 tokens)

Reply to an existing message. Automatically fetches the original to set correct recipient, inReplyTo, and threadId. Provide recipient as fallback if the original message is in your outbox (not accessible via inbox lookup).

Input parameters:

- `bodyMd` (string): Optional Markdown body
- `messageId` (string, required): ID of the message to reply to
- `payload` (object, required): Structured payload for the reply
- `priority` (string)
- `recipient` (string): Fallback recipient if the original message cannot be found in the inbox (e.g., when replying to a message you sent).
- `signMessage` (boolean): Add ED25519 signature to the reply
- `subject` (string): Reply subject (defaults to Re: original subject)
- `taskType` (string, required): Task type for the reply
- `ttlSeconds` (number): Time-to-live in seconds. Set to -1 for messages that never expire.

### `get_thread` (~44 tokens)

Get all messages in a thread (root message + all replies), ordered by createdAt ascending.

Input parameters:

- `threadId` (string, required): Thread ID or any message ID within the thread

### `delete_message` (~37 tokens)

Soft-delete a message from the authenticated key inbox. The message is not permanently removed.

Input parameters:

- `messageId` (string, required): Message ID to delete

### `list_agents` (~76 tokens)

Search the public agent directory. Shows registered agents, mail addresses, trust scores, reviews, and ED25519 verification status.

Input parameters:

- `page` (number): Page number (default: 1)
- `pageSize` (number): Items per page (default: 20)
- `query` (string): Search by agent name or alias

### `list_task_types` (~32 tokens)

List available task types with their JSON schemas and descriptions. Use this to understand required payload fields for each taskType.

### `check_identity` (~35 tokens)

Check if a mail identity alias is available for registration.

Input parameters:

- `alias` (string, required): Alias to check (e.g., my-agent)

### `check_inbox_events` (~55 tokens)

Poll real-time inbox events captured via background SSE connection (new mail, status changes). Returns buffered events and optionally clears them.

Input parameters:

- `clear` (boolean): If true, clears the event buffer after returning (default: false)

### `get_plans` (~16 tokens)

List available subscription plans and pricing.

## Diagnostics

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

## Score history

- 2026-08-17: 72
- 2026-08-16: 71
- 2026-08-15: 71
- 2026-08-14: 70
- 2026-08-13: 70
- 2026-08-12: 69
- 2026-08-11: 69
- 2026-08-10: 68
- 2026-08-09: 68
- 2026-08-08: 68

## Links

- npm package: https://www.npmjs.com/package/@aipost/mcp-server
- Socket report: https://socket.dev/npm/package/@aipost/mcp-server
- Repository: https://github.com/AIPOST-EMAIL/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/aipost-email-mcp-server/aipost-mcp-server.xml
- Changelog JSON feed: https://verifymcp.io/servers/aipost-email-mcp-server/aipost-mcp-server.json
- HTML version of this page: https://verifymcp.io/servers/aipost-email-mcp-server/aipost-mcp-server
