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.
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
Related MCP server: League of Legends 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/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 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.
Maintenance
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