Five steps
- 1
Create a project
Sign up, name your organisation, and create a project under Settings. Open its Keys tab and create a key; that issues the DSN:
dsn https://9f2c1a7b4e6d8054a3f1c9b27e0d5a83@ingest.parsemend.com/4507123- public key, 32-char hex
- ingest host
- project id
- 2
Install the SDK and give it the DSN
Laravel
shell composer require sentry/sentry-laravel.env SENTRY_LARAVEL_DSN=https://9f2c1a7b4e6d8054a3f1c9b27e0d5a83@ingest.parsemend.com/4507123On Laravel 11 and newer, add Integration::handles($exceptions) inside withExceptions() in bootstrap/app.php so unhandled exceptions reach the reporter. Queue workers are covered by the same call.
PHP, no framework
shell composer require sentry/sentrybootstrap.php \Sentry\init(['dsn' => 'https://9f2c1a7b4e6d8054a3f1c9b27e0d5a83@ingest.parsemend.com/4507123']);Node
shell npm install @sentry/nodeinstrument.mjs import * as Sentry from '@sentry/node'; Sentry.init({ dsn: 'https://9f2c1a7b4e6d8054a3f1c9b27e0d5a83@ingest.parsemend.com/4507123' });Load it before the rest of your app so the instrumentation is in place first: node --import ./instrument.mjs server.mjs.
- 3
Send one event
Laravel: shell php artisan sentry:testPHP, no framework: php \Sentry\captureException(new \RuntimeException('hello parsemend')); \Sentry\flush();Node: node Sentry.captureException(new Error('hello parsemend')); await Sentry.flush(2000);Nothing arriving usually means the DSN is unset in that environment.
- 4
Add an alert rule
In the dashboard, add a rule for new issues and regressions and send it to email, Slack, Discord, or a webhook that starts your agent.
- 5
Connect your agentDeveloper
shell npm install -g @parsemend/cli parsemend loginshell claude mcp add parsemend -- parsemend mcpshell codex mcp add parsemend -- parsemend mcp~/.cursor/mcp.json { "mcpServers": { "parsemend": { "command": "parsemend", "args": ["mcp"] } } }mcp config { "mcpServers": { "parsemend": { "command": "parsemend", "args": ["mcp"] } } }To run it on every alert, see agents and automation.
SDK compatibility
verified: run end to end. expected: same protocol, not yet run by us.
| SDK | Tested version | Status |
|---|---|---|
| sentry/sentry (PHP) | 4.29.0 | verified |
| @sentry/node | 10.64.0 | verified |
| @sentry/browser | — | expected |
| sentry-python | — | expected |
| sentry-ruby | — | expected |
| sentry-go | — | expected |
Ingest limits
Retention follows your plan: 30 days on Free, 90 on Developer.
- Envelope endpoint
- POST /api/{project_id}/envelope
- Legacy endpoint
- POST /api/{project_id}/store
- Content-Encoding
- gzip, deflate, identity
- Max compressed body
- 20 MiB
- Max decompressed body
- 200 MiB
- Max item size
- 1 MiB
- Default rate limit
- 300 events / 60s per key
Every flag and edge case is in the customer docs.