AGENTS.md
Guidance for coding agents working on LMSSEP Report MCP Server.
Project Overview
The report server converts raw inputs or structured JSON into professional reports. It supports standard report generation, HTML building from JSON, comparison report generation, and HTML building from comparison JSON.
Key paths:
report/README.md: tool overview and examples.report/main.py: MCP entrypoint.report/requirements.txt: dependencies.report/configs/: local report settings.output/reports/: generated HTML reports.
Setup Commands
bashcd <project-root>/report
pip install -r requirements.txt
python3 main.py
Use placeholders such as <REPORT_JSON>, <INPUT_DATA>, <REPORT_TYPE>, and <OUTPUT_FILE> in examples.
Report Rules
- Preserve a structured JSON contract before HTML rendering.
- Standard reports should include summary, findings, implications, next steps, metadata, and severity/status where applicable.
- Comparison reports should keep options, criteria, rationale, and scoring distinct.
- HTML should be self-contained enough for review, print-friendly, and readable without private external assets.
Code Style
- Keep generation and rendering concerns separable.
- Validate required fields before building HTML.
- Do not hardcode one incident or comparison topic into reusable templates.
- Keep chart data explicit and derived from report JSON.
Testing
- Add fixtures for incident, status, performance, security, and comparison report types.
- Test malformed JSON, missing sections, empty findings, and unsupported report types.
- Verify generated HTML contains escaped user content.
Security
- Reports often summarize private Slack, Jira, logs, or operational incidents. Treat inputs and outputs as confidential by default.
- Do not embed API tokens, raw log secrets, internal URLs, or local output paths in HTML.