Interview Prep MCP Server
Allows ChatGPT to access the shared interview-prep study database, run due-review sessions, create study plans, and review progress.
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., "@Interview Prep MCP ServerWhat interview prep topics are due for review today?"
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.
Interview Prep MCP Server
An MCP server that lets Claude and ChatGPT share the same study-progress database for interview prep, coursework, and spaced repetition. The current architecture supports multiple authenticated subjects in one database, with each user's tools scoped to their own study data.
The product source of truth is interview_prep_mcp_prd.md.
What It Implements
Study hierarchy: Study -> Topic -> Subtopic.
Append-only quiz attempts with score, model notes, and optional question text.
Subtopic state snapshots with mastery, ease factor, interval, next review date, and streak.
Server-side SM-2 scheduling so LLM clients never calculate intervals.
MCP tools for reads, writes, and hierarchy management.
Public-safe MCP initialization instructions that guide clients through the review loop and data boundaries.
MCP prompts for due reviews, study-plan creation, progress review, and account data requests.
Postgres persistence for production and SQLite fallback for local development.
Per-user data isolation using the authenticated token subject.
Repo-local Codex plugin packaging for development and workspace installs.
Related MCP server: acheron-mcp-server
Local Setup
python3.11 -m venv .venv
. .venv/bin/activate
python -m pip install -e ".[dev]"Run
interview-prep-mcpBy default the server uses stdio transport and stores data in data/interview_prep.sqlite3.
Useful environment variables:
Variable | Default | Description |
|
| SQLite database path. |
| unset | Postgres connection URL. Takes precedence over SQLite when set. |
|
| FastMCP transport, for example |
|
| Host for HTTP transports. |
|
| Port for HTTP transports. |
| unset | Enables approval-secret OAuth for ChatGPT Developer Mode when set. |
| unset | Enables static bearer-token auth when set and OAuth is unset. |
|
| Allows unauthenticated HTTP only for non-public development. |
| unset | Enables public OIDC/JWT bearer-token verification when set. |
|
| JWKS endpoint for validating OIDC access tokens. |
| unset | JWT audience required for public OIDC launch, usually |
|
| JWT claim used as the stable study owner subject. |
|
| Required access-token scopes for MCP tool calls. |
|
| Name shown on public informational pages. |
|
| Support/privacy contact shown on public pages. |
|
| In-memory per-subject MCP tool-call limit per service instance. |
|
| Owner subject used for local unauthenticated runs and simple single-subject auth. |
Multi-User Architecture
The public-ready data model scopes all studies by owner_subject, and all topic, subtopic, attempt, and review-state access is validated through that owning study. MCP tools do not accept a user_id; hosted requests derive the subject from the OAuth or bearer token so clients cannot select another account by passing an id.
For public deployments, configure OIDC_ISSUER_URL and related OIDC settings so access tokens are issued by a real identity provider and each user gets a stable owner_subject.
The included OAuth approval-secret flow remains best suited to private or invite-only deployments.
Remote HTTP transports refuse to start without OAuth or bearer auth unless MCP_ALLOW_UNAUTHENTICATED_HTTP=true is explicitly set for non-public development.
Tools
The server exposes the PRD tool surface:
Tool | Purpose |
| Return all active studies. |
| Return topics within a study. |
| Return subtopics within a topic with current mastery. |
| Return due review items, optionally scoped to a study. |
| Return attempts, trend, and scheduling state for one subtopic. |
| Export all studies, topics, subtopics, attempts, and review state for the authenticated user. |
| Hard-delete all study data for the authenticated user after explicit confirmation. |
| Record a score and notes, then update SM-2 scheduling. |
| Add a study. |
| Add a topic under a study. |
| Add a subtopic under a topic. |
| Edit subtopic name or description. |
| Soft-delete a study. |
| Soft-delete a topic. |
| Soft-delete a subtopic. |
Prompts
The server also exposes MCP prompts for common workflows:
Prompt | Purpose |
| Start a due-review session and log each attempt. |
| Create or extend a study hierarchy with approval before writes. |
| Summarize due work, weak spots, and trends using read tools. |
| Route export and deletion requests through the right account-data tools. |
Test
python -m unittest discover -s testsBefore packaging or submitting a public release, run the combined local gate:
python3 scripts/release_check.pyTo produce a shareable plugin archive for review or manual distribution:
python3 scripts/package_plugin.pyTo produce a machine-readable OpenAI app submission packet:
python3 scripts/build_submission_packet.pyTo produce a machine-readable MCP contract snapshot:
python3 scripts/build_mcp_contract_snapshot.pyTo compare a previous reviewed snapshot against a new build:
python3 scripts/diff_mcp_contract.py previous-mcp-contract-snapshot.json dist/mcp-contract-snapshot.jsonTo update plugin distribution metadata when moving to a custom domain:
python3 scripts/manage_public_urls.py --base-url https://interview-prep.example.com --write --checkThe same release gate runs in GitHub Actions on pull requests, pushes to main and public-facing-version, and manual workflow dispatch. The workflow uploads the plugin archive, OpenAI submission packet, MCP contract snapshot, and public launch docs as CI artifacts.
Deployment Notes
The PRD calls for one hosted remote MCP server reachable by Claude and ChatGPT. This repo supports that path through FastMCP and uses Postgres when DATABASE_URL is configured.
The included Dockerfile runs the server with MCP_TRANSPORT=streamable-http and binds to 0.0.0.0. SQLite remains available for local development or small single-volume deployments.
railway.json pins Railway deployment settings for the Dockerfile builder, /healthz platform healthcheck, and restart policy.
See docs/deployment.md for remote MCP URLs, OAuth, bearer-token auth, and client connection examples.
See docs/public-launch.md for the recommended public hosting, database, auth, OpenAI app submission, Claude connector, and Codex plugin plan.
See docs/public-auth.md, docs/oidc-provider-setup.md, and docs/production-env.example for the external OIDC provider contract, setup runbook, and production environment template.
The hosted service also serves public review/support pages:
/for a product overview and MCP endpoint./privacyfor privacy disclosures./termsfor service terms./supportfor contact and troubleshooting./healthzfor non-secret service health metadata.
See docs/openai-submission.md for app review metadata and test prompts.
After deploying, run the public endpoint verifier:
python3 scripts/release_check.py
python3 scripts/check_production_config.py
python3 scripts/verify_public_deployment.py https://your-app.example.com
MCP_AUTH_TOKEN=... python3 scripts/verify_authenticated_mcp.py https://your-app.example.com/mcpTo seed reviewer-safe demo data:
DATABASE_URL=... python3 scripts/seed_demo_data.py --subject reviewer-demo --with-attemptsCodex Plugin
This repo includes a Codex plugin bundle at plugins/interview-prep-mcp and a repo marketplace at .agents/plugins/marketplace.json. The plugin points Codex at the hosted Railway MCP endpoint and bundles a skill that guides study-review workflows.
If Codex does not discover the repo marketplace automatically, add it from the repo root:
codex plugin marketplace add .For a shareable archive, run python3 scripts/package_plugin.py. The generated dist/interview-prep-mcp-<version>.plugin.zip contains the plugin manifest, MCP server config, skill, assets folder, and folder indexes.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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.
Related MCP Connectors
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables conversation history sharing between ChatGPT and Claude with secure multi-user support. Allows users to save, load, search, and manage conversations across different AI platforms with cloud deployment options.5-
- AlicenseAqualityDmaintenanceCross-surface persistent memory for Claude. Bridges context between Claude Chat, Code, and Cowork via local SQLite with full-text search.6216MIT

MyAITwin MCPofficial
FlicenseNot gradedqualityDmaintenancePersonal RAG database and semantic search built from inside your AI chat. Store knowledge, voice, and skills; Claude and ChatGPT create work that sounds like you.-- AlicenseAqualityDmaintenanceEnables Claude to remember conversations and learn over time by storing and recalling messages, memory abstracts, and recent history using a local SQLite database.42172MIT
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/bemnetbeshah/interview-and-learning-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server