Skip to content

Docs /mcp UniReport MCP server

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:

{ "mcpServers": { "unireport": { "command": "python", "args": ["src/mcp_server.py"], "env": { "PYTHONUNBUFFERED": "1" } } } }

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:

claude mcp add unireport -- python src/mcp_server.py

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:

[mcp_servers.unireport] command = "python" args = ["src/mcp_server.py"]

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:

{ "mcpServers": { "unireport": { "command": "python", "args": ["src/mcp_server.py"] } } }

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:

{ "mcpServers": { "unireport": { "command": "python", "args": ["src/mcp_server.py"] } } }

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:

{ "mcp": { "unireport": { "type": "local", "command": ["python", "src/mcp_server.py"], "enabled": true } } }

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:

{ "servers": { "unireport": { "type": "stdio", "command": "python", "args": ["src/mcp_server.py"] } } }

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_codebaseMine stack, schemas, routes, git timeline into the manifestrepo_path, out_path
unireport_ingest_fyp1_briefBuild a manifest from a pre code proposal brief for Chapters 1 to 3brief_data, out_path
unireport_plan_diagramsPropose use case, DFD 0 and 1, ERD, flowchartsmanifest_path, fyp_mode
unireport_generate_diagramWrite Mermaid and compile SVG and PNGdiagram_id, output_dir
unireport_lint_cadenceScore variance, variation, banned tokenstext
unireport_get_chapter_blueprintRequired structure and grounding facts per chapterchapter_number 1 to 6
unireport_synthesize_survey_uatSurvey cohort, Likert stats, UAT matrix, SUS scorerespondent_count, out_dir, update_manifest
unireport_inspect_style_guideExtract margins, type, spacing from a faculty templatetemplate_path or guideline_text
unireport_set_style_guideApply fyp, standard_a4, coursework, lab, or uitm presetpreset, font, spacing, margins
unireport_configure_literature_reviewSelect up to 3 benchmark systems, emit references.bibpreset, count
unireport_draft_chapterDraft one chapter or all six to Markdown, DOCX, Typstchapter or draft_all
unireport_export_docxExport chapters and matrices to edited Word DOCXmanifest_path, output_docx
unireport_compile_pdfCompile Typst template to academic PDFinput_typ, output_pdf
unireport_assemble_dissertationAssemble front matter through references to PDF, DOCX, Markdownmanifest_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:

> @unireport lint this section for cadence

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.

> @unireport assemble the dissertation to DOCX and PDF

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.