Report security issues privately. Do not open a public GitHub issue, and do not post details in Discord or a pull request until a fix is released or 90 days have passed since your report, whichever comes first.
Two ways to reach us:
- GitHub private vulnerability reporting (preferred) — use the Report a vulnerability button under this repository's Security tab. Reports land in our triage queue and keep the discussion attached to the code.
- Email — founders@mcpjam.com.
A report is most useful when it includes the affected version or commit, the component (hosted service, npm package, or desktop app), the steps to reproduce, and what an attacker gains. A proof of concept helps us reproduce quickly.
These are targets we aim to meet, not guarantees:
Medium and low findings are scheduled into normal release work. We will tell you which bucket a report landed in rather than leaving it silent.
We will keep you updated while the fix is in progress, and we will tell you when it ships. If you plan to publish, we ask that you wait until a fix is released, or 90 days from your report, whichever comes first. Tell us if you need a different timeline and we will work it out with you.
We credit reporters in the advisory unless you ask us not to. We do not run a paid bug bounty.
In scope:
- The hosted service at
app.mcpjam.com, including its public API (app.mcpjam.com/api/v1), and the hosted MCP server atmcp.mcpjam.com. - The
@mcpjam/inspector,@mcpjam/sdkand@mcpjam/clinpm packages and the MCPJam desktop app. - This repository's source and its CI/CD workflows.
Out of scope:
- The sample applications under
examples/. They are illustrative and are never deployed as part of the service. - Third-party MCP servers you connect the inspector to. The inspector is a client for arbitrary servers, so a malicious server behaving maliciously is expected. Report it if a hostile server can escape the boundaries the inspector is supposed to enforce.
- Findings from automated scanners with no demonstrated impact, missing hardening headers on non-sensitive static endpoints, and reports that require an already compromised machine or account.
We patch the most recent released minor of each npm package
(@mcpjam/inspector, @mcpjam/sdk, @mcpjam/cli) and the current hosted
deployment. The desktop app is built from @mcpjam/inspector and shares its
version number, so the same rule applies to it. Releases are frequent, so
upgrading to the latest version is usually the fastest route to a fix. We do
not backport security fixes to older minors.
Some MCPJam links are credentials: share links, handoff links, and sign-in or
authorization callbacks. What the app sends to analytics, error reporting and
logs, how those links are kept out of it, and how to opt out are described in
Telemetry & privacy. The
implementation notes for contributors are in
mcpjam-inspector/docs/session-replay-masking.md.
A credential that reaches a telemetry service unredacted is in scope. Report it as above, with the route and the service it reached, and leave the credential itself out of the report.
Test against your own accounts, projects and data. Do not access, modify or retain data belonging to anyone else. Do not run denial-of-service or load tests against the hosted service, and do not social-engineer our staff or users.
If you follow this policy in good faith, we will treat your research as authorized, will not pursue legal action over it, and will work with you if someone else raises a concern about it. If you are unsure whether something is in bounds, ask first at founders@mcpjam.com.
