| Version | Supported |
|---|---|
| 0.1.x | Yes |
This project is a self-hosted MCP control plane. You are responsible for network exposure, reverse-proxy TLS, and secret strength.
Please do not open a public GitHub issue for security bugs.
- Email the maintainer via the contact listed on the GitHub profile or open a private security advisory on this repository (GitHub → Security → Advisories).
- Include: affected version/commit, reproduction steps, impact, and any suggested fix.
- Allow a reasonable time for a fix before public disclosure (we aim to acknowledge within a few days).
- Set a strong unique
META_API_KEY(≥16 chars); prefer separateMETA_OAUTH_PASSWORD. - Do not bind
0.0.0.0without a strong key (the app refuses weak keys on public bind). - Terminate TLS at a reverse proxy or tunnel; keep Meta on loopback when possible.
- For public OAuth clients: set
META_DCR_TOKENand/orMETA_DCR_REDIRECT_ALLOWLIST. - Prefer
META_STRICT_STDIO=trueandMETA_ALLOW_PRIVATE_URLS=falsewhen exposed. - Treat
meta:adminas full control of configured stdio commands (RCE surface). - Back up
meta.db,token.key, andmcp.json(meta backup --out …).
- Outbound OAuth tokens are Fernet-encrypted at rest; inbound bearer secrets are stored as digests.
- Activity logs record argument keys only by default (not values).
- Rate limits are in-process sliding windows (per principal for tools, per IP for OAuth HTTP).