Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Medify

FreeNot checked

Medify — Model Context Protocol server

GitHubEmbed

About

Medify — Model Context Protocol server

README

medify-mcp-server MCP server License: MIT

Model Context Protocol (MCP) server for Medify UCAT accounts. It authenticates as a member, pulls completed mock scores and practice analytics, and exposes tools for score trends, question-type weaknesses, timing sinks, and practice recommendations.

Medify does not publish a documented public API. This server talks to the same authenticated courses-api endpoints the Medify web app uses (member email/password or session cookie).

Unofficial. Not affiliated with or endorsed by Medify. Use only with accounts you own. Credentials stay on your machine.

Listed on Glama. Maintainer claim / release steps: docs/glama-release.md.

Features

  • List completed full / mini mocks with VR, DM, QR (and SJ when present)
  • Trend analysis: totals, section averages, recent vs earlier, best / worst
  • Topic analytics: subtype accuracy vs Medify population (e.g. logic puzzles, tables)
  • Question timing: clock usage, early/mid/late thirds, time sinks, fast guesses
  • Focus recommendations with optional cognitive target (e.g. 2250)
  • Local session + score cache under ~/.medify-mcp-server

Tools

Tool Description
check_connection Verify Medify authentication
list_completed_mocks List completed mocks (full / mini / all)
get_mock_details Detail for one mock by id or title
analyze_score_trends Totals + section trends over time
analyze_section_performance Rank VR / DM / QR (+ SJ when present)
analyze_topic_performance Rank question subtypes vs population
analyze_question_timing Timing / tag analysis from recent full mocks
recommend_focus_areas Prioritised practice suggestions
compare_mocks Diff two mocks
refresh_scores Force re-fetch (bypass cache)

Requirements

  • Node.js 18+
  • A Medify UCAT membership with completed mocks

Setup

git clone https://github.com/ankitforcode/medify-mcp-server.git
cd medify-mcp-server
npm install
cp .env.example .env
# edit .env — set MEDIFY_EMAIL + MEDIFY_PASSWORD (or MEDIFY_SESSION_COOKIE)
npm run build

Environment

Variable Required Description
MEDIFY_EMAIL one of email+password or cookie Medify member email
MEDIFY_PASSWORD with email Medify password
MEDIFY_SESSION_COOKIE alternative Value of _medify_session_ from a logged-in browser
MEDIFY_CACHE_DIR no Cache directory (default ~/.medify-mcp-server)
MEDIFY_CACHE_TTL_MINUTES no Score cache TTL (default 15)

Prefer a session cookie if password login is blocked (captcha / MFA).

Cursor / MCP client config

Add a stdio MCP server entry (path and env are examples):

{
  "mcpServers": {
    "medify-ucat": {
      "command": "node",
      "args": ["/absolute/path/to/medify-mcp-server/dist/index.js"],
      "env": {
        "MEDIFY_EMAIL": "[email protected]",
        "MEDIFY_PASSWORD": "your-password"
      }
    }
  }
}

Or point env at a dotenv file you load yourself, and keep secrets out of the MCP config.

Restart the MCP client after changing config or rebuilding.

npx (after publish)

{
  "mcpServers": {
    "medify-ucat": {
      "command": "npx",
      "args": ["-y", "medify-mcp-server"],
      "env": {
        "MEDIFY_EMAIL": "[email protected]",
        "MEDIFY_PASSWORD": "your-password"
      }
    }
  }
}

Example prompts

  • “Check my Medify connection and list completed UCAT mocks.”
  • “Analyse score trends and section strengths for full mocks only.”
  • “Which question types am I weakest on vs the Medify population?”
  • “Where do I lose time in VR, DM, and QR on recent full mocks?”
  • “Recommend focus areas for a 2250 cognitive target; ignore SJ.”
  • “Compare Mock 10 and Mock 11.”

Development

npm run build
npm test
npm start          # stdio MCP server

Project layout:

src/
  index.ts           # MCP stdio entry
  medify/            # auth client, fetch, normalize
  analysis/          # trends, topics, timing, recommendations
  tools/             # MCP tool schemas + handlers
.cursor/skills/
  medify-ucat-analysis/   # agent skill: run score/timing reports via MCP
  medify-mcp-maintain/    # agent skill: change this codebase safely

When you add or change MCP tools, update both skills (and tools-reference.md) in the same PR.

How it works

  1. Authenticate via Devise login or an injected _medify_session_ cookie.
  2. Read scaled scores from /courses-api/mock-scores-stats?course=ucat.
  3. Optionally load JSON:API scripts from /courses-api/mock-exam-scripts for timing.
  4. Read practice analytics from /courses-api/courses/ucat/topic-performances.
  5. Cache mocks locally; analysis tools run on the cached / freshly fetched data.

Security

  • Never commit .env or session cookies.
  • Treat Medify credentials like any other account secret.
  • This tool only reads account data needed for score analysis; it does not submit mocks.

License

MIT — see LICENSE.

from github.com/ankitforcode/medify-mcp-server

Installing Medify

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/ankitforcode/medify-mcp-server

FAQ

Is Medify MCP free?

Yes, Medify MCP is free — one-click install via Unyly at no cost.

Does Medify need an API key?

No, Medify runs without API keys or environment variables.

Is Medify hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Medify in Claude Desktop, Claude Code or Cursor?

Open Medify on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Medify with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs