UniReport is a local stdio MCP server. Your agent gets academic tools. Your code stays on your machine. Your model subscription stays yours. New here? Sign up free, then connect your editor below.
Overview
Each editor launches src/mcp_server.py over stdio with JSON RPC. No account, no tunnel, no token markup. The remote HTTP variant src/server_http.py on port 8000 exists for Docker and SSE hosts, but every snippet below uses the local stdio server.
Once connected, prompt your agent with grounded tasks, for example: scan this repo into project_manifest.json, plan diagrams in fyp2 mode, draft Chapter 4, lint the section, assemble DOCX and PDF into dist/final.
Prerequisites
- One AI editor from the list below: Cursor, Claude Code, Codex, Windsurf, Antigravity, OpenCode, or Copilot.
- A UniReport plan. Sign up free, upgrade to Pro when the full dissertation output is due.
- Python 3.10 or later on your machine, since editors launch the local server with it. On Windows, use the full interpreter path if your editor cannot find it.
Connect
Pick one tab below. After saving config, restart the editor or its MCP host, then check the tool list before prompting.
Connect to Cursor
Add this to .cursor/mcp.json in the UniReport repo:
Open Composer, then prompt: scan this repo and draft Chapter 4 with ERD and DFD. Confirm the server appears under Cursor Settings, Tools and MCP. Reload the window if the agent says it has no access.
Connect to Claude Code
Register with the Claude Code command:
Run /mcp inside Claude Code to confirm unireport is listed. Use an absolute python path on Windows if the command is not found.
Connect to Codex
Add to ~/.codex/config.toml:
Use the absolute repo path in args if you launch Codex outside the repo, for example C:/ProjectDevelopment/UniReport/src/mcp_server.py. Restart Codex, then check Settings, MCP Servers.
Connect to Windsurf
Add to the Windsurf MCP config, then open Cascade:
Prompt Cascade to scan the repo and plan diagrams. Refresh the MCP server list if tools do not appear.
Connect to Antigravity
Open the MCP store from the agent panel menu, choose Manage MCP Servers, then View raw config. Add:
Save, restart Antigravity, and confirm unireport appears in the MCP server list before prompting.
Connect to OpenCode
Add to opencode.json in the repo root:
Run opencode mcp list to confirm. Restart the app if the server does not appear.
Connect to Copilot
Create .vscode/mcp.json in the repo:
Press Start above unireport, switch Copilot to Agent mode, and confirm connected status before prompting.
Verify the connection
Send this prompt: scan this repo into project_manifest.json and list the routes, collections, and git span you found. A working agent calls unireport_scan_codebase and reports real paths, not invented tables. Next, ask it to plan diagrams, then generate one diagram and confirm the MMD file lands in dist/figures.
Tools and capabilities
You rarely call these directly. Your agent does. Names and inputs below match src/mcp_server.py.
| Tool | Purpose | Main inputs |
|---|---|---|
| unireport_scan_codebase | Mine stack, schemas, routes, git timeline into the manifest | repo_path, out_path |
| unireport_ingest_fyp1_brief | Build a manifest from a pre code proposal brief for Chapters 1 to 3 | brief_data, out_path |
| unireport_plan_diagrams | Propose use case, DFD 0 and 1, ERD, flowcharts | manifest_path, fyp_mode |
| unireport_generate_diagram | Write Mermaid and compile SVG and PNG | diagram_id, output_dir |
| unireport_lint_cadence | Score variance, variation, banned tokens | text |
| unireport_get_chapter_blueprint | Required structure and grounding facts per chapter | chapter_number 1 to 6 |
| unireport_synthesize_survey_uat | Survey cohort, Likert stats, UAT matrix, SUS score | respondent_count, out_dir, update_manifest |
| unireport_inspect_style_guide | Extract margins, type, spacing from a faculty template | template_path or guideline_text |
| unireport_set_style_guide | Apply fyp, standard_a4, coursework, lab, or uitm preset | preset, font, spacing, margins |
| unireport_configure_literature_review | Select up to 3 benchmark systems, emit references.bib | preset, count |
| unireport_draft_chapter | Draft one chapter or all six to Markdown, DOCX, Typst | chapter or draft_all |
| unireport_export_docx | Export chapters and matrices to edited Word DOCX | manifest_path, output_docx |
| unireport_compile_pdf | Compile Typst template to academic PDF | input_typ, output_pdf |
| unireport_assemble_dissertation | Assemble front matter through references to PDF, DOCX, Markdown | manifest_path, out_dir, formats |
Cadence gate
Every drafted section must pass before it ships: variance at or above 35.0, variation coefficient at or above 0.45, zero uniform clusters, zero banned tokens such as furthermore, moreover, delve, or crucial. Ask your agent:
Compiling DOCX and PDF
Ask your agent to assemble the dissertation when chapters are done. It compiles the academic formatted Word document with synchronized margins and automated contents, plus the Typst PDF on Pro. Assembly stops at References by default and only adds appendices on request.
Troubleshooting
- Restart the editor after saving MCP config. Hosts only pick up new servers on launch.
- Restart long agent sessions first when tool calls start failing. Stale sessions hallucinate parameters.
- If the server fails to start, point the config at your full Python path and keep the UniReport folder as the working directory.
- If PNG figures are missing but diagram sources exist, ask your agent to recompile them.