Skip to main content
Glama
README.md
# AnyHook client packages

Source for the npm packages that go with [AnyHook](https://anyhook.net), a webhook relay: change one URL and your webhooks get automatic retries, a full event log, and one-click replay.

| Package | npm | What it is |
|---------|-----|------------|
| [`anyhook-mcp`](packages/mcp) | [![npm](https://img.shields.io/npm/v/anyhook-mcp)](https://www.npmjs.com/package/anyhook-mcp) | MCP server — lets a coding agent set up and operate webhook infrastructure by itself |
| [`anyhook-verify`](packages/verify) | [![npm](https://img.shields.io/npm/v/anyhook-verify)](https://www.npmjs.com/package/anyhook-verify) | Verify `AnyHook-Signature` headers on your server (HMAC-SHA256, retry-safe) |
| `@anyhook/core` | not published | Shared internals (signature logic, provider fixtures), bundled into the two above |

## Connect an agent

Already have an AnyHook account? Add `https://anyhook.net/mcp` to Claude Code,
claude.ai, Codex or VS Code and sign in through the browser, no key to copy.
Steps for each app, Cursor included: <https://anyhook.net/mcp>.

No account yet? Run the package locally:

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

Its `anyhook_quickstart` tool makes a live webhook endpoint and key without an
account (7-day TTL, claimable into a free account later). That endpoint is new,
not an account you already have. From there the agent creates apps, reads and
inspects events, replays failures, and mocks or verifies signed payloads.

Prefer plain HTTP? The same bootstrap is one curl:

```bash
curl -X POST https://anyhook.net/api/v1/quickstart
```

## Development

pnpm workspace. Node 20+.

```bash
pnpm install
pnpm test    # vitest across all packages
pnpm build   # tsup
```

The hosted relay itself (ingress, forwarder, dashboard) is a separate closed-source service — this repo is the client tooling. API reference: [openapi.json](https://anyhook.net/openapi.json) · agent docs: [llms.txt](https://anyhook.net/llms.txt) · pricing: [pricing.md](https://anyhook.net/pricing.md) · MCP setup: [anyhook.net/mcp](https://anyhook.net/mcp)

## License

Apache-2.0

TDQS

A3.8/5.0

Scored across 13 tools

Disambiguation4/5

Most tools target distinct lifecycle stages (create, list, inspect, replay, verify, mock), and descriptions clearly delineate summary vs detail and local vs remote. A few pairs overlap—replay/replay_failed and mock/simulate—but the descriptions are explicit enough that an agent can pick correctly.

Naming Consistency3/5

All names share an anyhook_ prefix and avoid camelCase, but the grammatical pattern is inconsistent: verbs (replay, inspect, mock), nouns (events, providers, inbox), adjectives (undelivered), and noun-first compounds (apps_create, apps_list) are mixed. This is readable but not predictable enough to infer an unlisted tool's name.

Tool Count5/5

Thirteen tools is squarely in the well-scoped range and maps to distinct steps in the webhook workflow: bootstrap/create, list/inspect, replay/verify/mock. None feel like filler, and the count supports a coherent utility without bloating the surface.

Completeness4/5

Core webhook lifecycle is covered: creating endpoints, listing events, inspecting payloads, replaying failed deliveries, mocking providers, and verifying signatures. Missing app/destination update/delete operations (PATCH is mentioned in a description but no tool exists) are the main gap, though they are work-aroundable via other tools.

Maintenance

ActivityActive
ResponsivenessNo issues