Your access
Checking your access.
Quick start
- 1
Create a key
In Your access above, name a key after the machine you will use it on. You see the full key once, so copy it then.
- 2
Connect your agent
Pick your agent. This is a one-time setup on each machine.
claude mcp add --scope user --transport http prachub https://api.prachub.com/api/mcp \ --header "Authorization: Bearer YOUR_PRACHUB_KEY"
Run this once in your terminal.
Replace YOUR_PRACHUB_KEY with your key. Your access, above, fills it in for you when you create one. Other agents are under Set up by client.
- 3
Ask for a question
Start a new agent session and ask in plain English. Your agent finds the PracHub tools on its own, so there is nothing to learn beyond what to say.
What to ask
You talk, the agent decides which PracHub tool to call. These are the requests people use most. Click any line to copy it.
By company, role and round
Name where you are interviewing. Your agent filters the bank and skips anything you have already opened.
By topic or skill
Questions are tagged with topics, from broad areas like System Design down to Rate limiting or Window functions. A keyword searches the question text too, not just the title.
A specific question
Paste any PracHub question link, or use its name from a search result.
Let it choose
It draws from the most popular questions that match, and gives you a different set each time you ask.
Coding and SQL
This is where a coding agent beats a chat window: it can set up real files and run your code.
Grading and review
Your agent opens the question alone. Once you have answered, or when you ask, it fetches PracHub’s answer rubric and model solution, at no extra cost the same UTC day.
What a session looks like
The agent acts as your interviewer. It opens the question alone, and fetches the rubric and model solution once you have answered or ask for them.
- You
- Give me a Meta system design mock interview.
- Agent
- Searches PracHub for Meta system design questions you have not opened, and offers three.
- You
- The second one.
- Agent
- Opens it (1 question used) and presents the prompt the way an interviewer would. Asks how you want to scope it.
- You
- Ask clarifying questions, talk through your design, ask for a hint if you are stuck.
- Agent
- Fetches the rubric and model solution (free the same UTC day: the question is already open) and grades you: what you covered, what you missed, and what a stronger answer adds. Shows the model solution if you ask.
Set up by client
The same server works in every agent that connects to MCP servers over HTTP and can send a header. Open yours for the file it reads and the exact block to paste. Your key goes where it says YOUR_PRACHUB_KEY.
Claude CodeShowHide
One command in your terminal
claude mcp add --scope user --transport http prachub https://api.prachub.com/api/mcp \ --header "Authorization: Bearer YOUR_PRACHUB_KEY"
Registers the server for your user (add --scope project to share a project config instead). Confirm with "claude mcp list".
CodexShowHide
~/.codex/config.toml, plus an environment variable
# 1. Put the key in your shell profile (~/.zshrc or ~/.bashrc) export PRACHUB_API_KEY="YOUR_PRACHUB_KEY" # 2. Add this to ~/.codex/config.toml [mcp_servers.prachub] url = "https://api.prachub.com/api/mcp" bearer_token_env_var = "PRACHUB_API_KEY"
Codex reads the key from the environment, so it never sits in the config file. Open a new terminal after adding the export.
CursorShowHide
~/.cursor/mcp.json (or .cursor/mcp.json inside a project)
{
"mcpServers": {
"prachub": {
"url": "https://api.prachub.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_PRACHUB_KEY"
}
}
}
}Settings > MCP shows the server and its tools once the file is saved.
VS CodeShowHide
Your user mcp.json (Command Palette: MCP: Open User Configuration)
{
"servers": {
"prachub": {
"type": "http",
"url": "https://api.prachub.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_PRACHUB_KEY"
}
}
}
}Used by Copilot agent mode. Start the server from the MCP view or the Command Palette after saving.
WindsurfShowHide
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"prachub": {
"serverUrl": "https://api.prachub.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_PRACHUB_KEY"
}
}
}
}Windsurf calls a remote server "serverUrl". Refresh the MCP list in Cascade after saving.
Gemini CLIShowHide
~/.gemini/settings.json
{
"mcpServers": {
"prachub": {
"httpUrl": "https://api.prachub.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_PRACHUB_KEY"
}
}
}
}Gemini CLI calls a streamable HTTP server "httpUrl". Run "/mcp" inside the CLI to confirm it connected.
Any other MCP clientShowHide
Its MCP configuration file
{
"mcpServers": {
"prachub": {
"url": "https://api.prachub.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_PRACHUB_KEY"
}
}
}
}Three facts are all a client needs: the transport is HTTP, the URL above, and the Authorization header. Key names differ between clients and versions; the docs for yours will show the shape.
Not supported yet: custom connectors on the claude.ai website and in the Claude desktop app. They sign in with OAuth, which PracHub does not offer. Use Claude Code, in your terminal or in the desktop app’s Code tab.
The tools
You never call these yourself. They are listed so you know what your agent can and cannot do.
| Tool | Cost |
|---|---|
list_filtersThe exact company, role, round, category and topic names PracHub uses, so a search for "Facebook" finds Meta. | Free |
search_questionsFinds questions by company, role, category, topic, difficulty, round or keyword. Returns titles and one-line summaries, never the question itself. | Free |
pick_questionChooses for you: a few popular questions you have not seen, different each time. | Free |
get_questionOpens one question: the prompt, and starter code or tables. Asked again with include_solution=true, it adds the answer rubric and model solution for grading. | 1 question |
get_quotaHow many questions you have opened today and this month, and when each count resets. | Free |
Hidden test cases are never sent. Coding questions arrive with two sample cases; the full suite runs only in the PracHub console.
Usage and limits
You spend a question when your agent opens one. Nothing else counts. A whole mock interview on one question costs 1, however many hints and follow-ups it takes, because the conversation happens inside your agent and PracHub is only called when a question is opened.
| What your agent does | Cost |
|---|---|
| Opening a question for the first time that day | 1 question |
| Opening it again the same UTC day, with or without its rubric and model solution | Free |
| Searching, picking, listing filters, checking your quota | Free |
| Connecting, or restarting your agent | Free |
| Any request that is refused (not found, over a limit) | Free |
Your allowance
| Plan | A day | A month |
|---|---|---|
| Monthly | 25 | 100 |
| Quarterly | 40 | 250 |
| Yearly | 60 | 250 |
- Counts are of different questions. Lifetime members have the Yearly allowance.
- Days and months run on UTC. The daily count resets at 00:00 UTC, the monthly count on the 1st.
- Opening the same question on a later day uses that day’s allowance again, even just to fetch its solution after 00:00 UTC, but counts only once toward the month.
- There is also a cap of 10 new questions per 10 minutes, and 30 new questions an hour. Hitting either spends nothing.
- At a limit, everything you have already opened stays available.
Best practices
Let it interview you. Your agent opens the question without the model solution and fetches it once you have answered. Asking for the answer first turns a mock interview into reading.
Clarify before you solve. Ask about scale, constraints and what is in scope, out loud, the way you would with a person. Questions come with the clarifications interviewers expect.
Take one hint at a time. Say "one hint". Each question carries graded hints, smallest first, so you can get unstuck without being handed the approach.
Go deep, not wide. One question worked properly teaches more than ten skimmed. It also costs one question instead of ten.
Practice for the interview you actually have. Give the company, the role and the round. An onsite system design round and a phone screen are different exercises.
Solve coding questions in a real file. Ask the agent to set up the starter code and run the two sample cases. Then write more edge cases together: that is part of the interview.
Finish on PracHub. The full hidden test suite runs only in the PracHub console. When your solution passes the samples, submit it on the question page for the real verdict.
Ask for a strict grade, then redo the weak part. The rubric lists what a strong answer covers. Have the agent mark each item as covered, partial or missed, and answer the missed ones again.
Questions people ask
- Do questions I open in my agent count on the website?
- They show as seen on the site, so your progress is in one place, and the site’s own limits are unchanged. Browsing the website never spends agent questions.
- Does PracHub see my answers?
- No. The interview happens inside your agent. PracHub sees which questions were opened, by which key, and whether your agent fetched the model solution; never your answers.
- Can I use it on more than one machine?
- Yes: make one key per machine, up to three. A single key used from two places at once is revoked automatically, and you get an email saying so.
- Which agents work?
- Any agent that can connect to an MCP server over HTTP and send your key in an Authorization header: Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI and others. There is no PracHub extension to install. Custom connectors on the claude.ai website and in the Claude desktop app are not supported yet: they sign in with OAuth, and PracHub uses personal keys. Use Claude Code instead, in your terminal or in the desktop app’s Code tab.
- Is there a free version?
- Agent access comes with every paid plan. It is not part of the free tier or the trial.
- Are the questions the same as on the site?
- Yes: the same bank, with the same rubrics and model solutions, minus the hidden test cases, which only the PracHub console runs.
Troubleshooting
- The agent says authentication failed.
- Your agent will usually only say it could not connect; Codex also prints PracHub’s reason in that error. The usual causes: the key was not sent, is still the YOUR_PRACHUB_KEY placeholder, was copied only in part, or was revoked. For Codex, PRACHUB_API_KEY must be exported in the shell that starts it. Resetting your password or signing out everywhere also retires every key. Create a new one in Your access and update your config.
- It will not connect as a claude.ai or Claude desktop connector.
- Custom connectors in those apps sign in with OAuth, which PracHub does not offer, so they are not supported yet. Use Claude Code (included with Claude Pro, Max, Team and Enterprise), in your terminal or in the desktop app’s Code tab, or use Codex, Cursor or VS Code.
- Codex asks before every PracHub tool call.
- Quit and restart Codex so it reloads PracHub’s tool list. PracHub marks its tools as read-only or non-destructive, and Codex runs those without asking. If it still asks, check that your Codex config does not set an approval mode of "prompt" for this server, or choose "Allow for this session".
- We revoked one of your keys.
- It was used from two places at the same time, which we treat as a shared key. Create a new one in Your access and keep it on one machine; if you use two machines, make a key for each.
- The PracHub tools do not appear.
- Start a new agent session. In Claude Code, run "claude mcp list". In Codex, make sure PRACHUB_API_KEY is exported in the shell that launches it, then open a new terminal.
- "Agent access needs an active subscription."
- Your plan has lapsed, or you are on a free trial. Agent access comes with paid plans, and your key starts working again as soon as you renew.
- "Daily limit reached" or "Monthly limit reached."
- Every question you have already opened is still available. The message tells you when the count resets.
- "Slow down."
- There is a cap of 10 new questions per 10 minutes, and 30 new questions an hour. Hitting either spends nothing, and the message says when to try again.
- "A subscription set to cancel has 10 questions a day."
- Cancelling keeps your keys working until the end of the paid period, at 10 new questions a day instead of your plan's usual limit; the monthly limit is unchanged. Website access continues to the end of the paid period as before. If the subscription is reinstated before then, your plan's full daily limit comes back on the same keys.
- The agent showed the solution too early.
- Tell it: "Do not fetch the solution until I ask." Questions open without it, so it only has the solution once it has asked for it.
Still stuck? Email support@prachub.com from your account email.
Keys and account rules
- A key is personal, like your login. Sharing it is account sharing, which the Terms do not allow, and repeated sharing pauses premium access on the account.
- Let your agent use these tools, not the website. An assistant that browses the site or opens question pages in bulk with your signed-in session, in a browser it drives or in a desktop app, counts as automated access and can pause premium access on the account.
- Use one key per machine, up to three, and name them so you can tell them apart. A single key used from two places at the same time is revoked automatically, and you get an email saying why. Your account is not affected.
- You also get an email whenever a key is created on your account. If that was not you, use Sign out everywhere on your profile, which retires every key, and change your password.
- Keep it out of git. Prefer an environment variable such as
PRACHUB_API_KEYto a config file you might commit. - Lost a laptop, or pasted a key somewhere public? Revoke it in Your access. It stops working immediately.
- Resetting your password or signing out everywhere retires every key at once.
- Cancelling your subscription keeps agent access until the end of the paid period, at 10 questions a day; the monthly limit is unchanged, and website access continues to the end of the paid period too. If the subscription is reinstated before then, your plan's full daily limit comes back on the same keys.