@asyncbase/mcp is a Model Context Protocol server. Drop it into Claude
Desktop, Cursor, Claude Code, Zed, Windsurf, or your own agent. Seven
tools: send_message, pull_messages, ack_message, nack_message,
list_dlq, redrive_dlq, get_docs.
Why
Natural-language control
“Redrive the 5 messages stuck in the emails DLQ” → one tool call.
Canonical code gen
get_docs lets the model fetch live API docs before generating client code.No deploy step
Runs via
npx — no install, no Docker, one JSON config line.Install — Claude Desktop
Edit~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Install — Cursor
Cursor → Settings → MCP → Add new MCP server. Paste the same JSON.Install — Claude Code (CLI)
Install — Zed / Windsurf / custom
Any MCP stdio client on protocol2024-11-05 works. Point at
npx -y @asyncbase/mcp with ASYNCBASE_API_KEY in env.
Point at staging
Tools
| Tool | Purpose |
|---|---|
send_message | Enqueue with delay / FIFO / dedup / TTL. |
pull_messages | Long-poll a consumer group. |
ack_message | Mark processed. Idempotent. |
nack_message | Retry with exp-backoff, or move to DLQ. |
list_dlq | Inspect DLQ entries. |
redrive_dlq | Requeue DLQ messages. |
get_docs | Fetch LLM-optimized docs. Call BEFORE writing client code. |
get_docs — the secret sauce
Topics match files underdocs/llm/:
Smoke test
“Using the asyncbase MCP, send a test message to queue ‘smoke’ with
payload { "hello": "mcp" }, then show me the DLQ for that queue.”
You should see send_message followed by list_dlq in the tool-use trace.
Troubleshooting
| Symptom | Fix |
|---|---|
| ”ASYNCBASE_API_KEY env var is required” | Add to the env block in config, not shell. |
AUTH_INVALID on every call | Key rotated or revoked. Issue a fresh one. |
RATE_LIMITED | Upgrade plan or space out requests. |
| Tools not showing | Restart the MCP client. Check JSON is valid. |
| npx fetch fails | Pin version: "@asyncbase/mcp@0.0.1" |