Repository navigation
Development
RealmsNetwork edited this page Oct 20, 2026
·
1 revision
MAP combines provider configuration, request validation, provider adapters, and MCP tool registration. The precise module layout can change; inspect the active branch rather than relying on guessed paths.
- One MCP interface routes calls to multiple configured panel instances.
- Each panel has its own provider and credentials.
- Shared request validation, timeouts, and redaction should be reused across adapters.
- Provider-specific operations belong in provider adapters, not in unrelated Pterodactyl code.
- API version differences must be explicit and tested.
- Unsupported actions should fail clearly instead of silently calling a different provider's route.
- Secrets must stay in server-side configuration.
Follow Getting Started and run:
python -m pytest -q
python -m compileall -q src
Also run the configured lint, packaging, and security workflows from the current repository release.
Add mock-based tests for:
- Host, prefix, method, headers, query, and body shape.
- Version-dependent endpoints and unsupported namespaces.
- Missing/insufficient credentials.
- 401, 403, 404, rate limits, server errors, timeouts, TLS errors, and redirects.
- SSRF and path traversal attempts.
- Redaction of keys, cookies, query tokens, session data, and signed URLs.
- Limits on request bodies, output, and inline transfers.
- Invalid identifiers and destructive methods being rejected before network calls.
Never use production panel credentials in automated CI.
- Document behavior and tested provider versions.
- Link official API docs.
- Add tests and update the README, wiki, and changelog when behavior changes.
- Run tests, lint, build, and security checks.
- Explain migration impact and any known limitations.
- Review dependency updates that affect runtime compatibility or API behavior.
Implement MAP's adapters and documentation as original project work. When reusing ideas, follow upstream licenses, preserve required attribution, and avoid copying large portions of code or documentation without authorization.