Medify UCAT MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Medify UCAT MCP ServerAnalyse my score trends for full mocks"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Medify UCAT MCP Server
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.
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 |
| Verify Medify authentication |
| List completed mocks ( |
| Detail for one mock by id or title |
| Totals + section trends over time |
| Rank VR / DM / QR (+ SJ when present) |
| Rank question subtypes vs population |
| Timing / tag analysis from recent full mocks |
| Prioritised practice suggestions |
| Diff two mocks |
| Force re-fetch (bypass cache) |
Requirements
Node.js 18+
A Medify UCAT membership with completed mocks
Setup
git clone https://github.com/<you>/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 buildEnvironment
Variable | Required | Description |
| one of email+password or cookie | Medify member email |
| with email | Medify password |
| alternative | Value of |
| no | Cache directory (default |
| no | Score cache TTL (default |
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": "you@example.com",
"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": "you@example.com",
"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 serverProject 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 safelyWhen you add or change MCP tools, update both skills (and tools-reference.md) in the same PR.
How it works
Authenticate via Devise login or an injected
_medify_session_cookie.Read scaled scores from
/courses-api/mock-scores-stats?course=ucat.Optionally load JSON:API scripts from
/courses-api/mock-exam-scriptsfor timing.Read practice analytics from
/courses-api/courses/ucat/topic-performances.Cache mocks locally; analysis tools run on the cached / freshly fetched data.
Security
Never commit
.envor 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.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ankitforcode/medify-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server