grad-agent MCP server
io.github.i-ninte/grad-agent·v0.2.9·4 starsAutonomous MCP agent for grad school applications: prof discovery, cold emails, SOP, tracking.
4 stars57 downloads/wk
Reviews
Write oneNobody has reviewed grad-agent yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
grad-agent tools (38, 7 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_targetdelete_postwrite actiondiscover_profsFan out arXiv + OpenReview for recent papers in `area` (nlp|llm|ml|cv|ai4health|africa or raw query). Returns candidates with authors as prof leads.
draft_articleDraft a blog post. Requires blog.enabled: true in profile.yaml.
draft_cold_emailwrite actionDraft a cold email. Saves to drafts/, returns preview + banned_hits.
draft_sopDraft a Columbia-style SOP and compile to PDF. Returns {tex, pdf}.
find_prof_pageWeb search for a professor's lab page / email.
followups_dueProfs emailed `days`+ ago with no reply and no nudge yet, each with a drafted follow-up ready to review and send.
get_letterheadReturn the currently configured letterhead settings from ~/.grad-agent/.env.
ingest_repliesRead-only IMAP scan: detect professor replies and tag the outreach log. Needs IMAP creds in .env (defaults to Gmail + SMTP credentials).
install_skillsSymlink the bundled `lor-writing` and `sop-writing` skills into ~/.claude/skills/ so Claude Code / Claude Desktop pick them up.
interview_prepGenerate a one-page interview brief for a prof who replied: their recent papers summarised, likely questions, your talking points, questions to ask.
list_pipelinestatus: '' (all) | new | drafted | sent | replied | rejected | silent
list_postslist_programslist_projects_in_catalogReturn the current unified catalog (seed + synced).
list_scholarshipsExternal scholarships from scholarships.yaml, optionally filtered by eligibility region (US, Canada, UK, EU, Asia, Africa, Australia).
load_profileLoad and cache CV + transcript. Call once per session.
lor_addlor_marklor_outstandingmark_statusoutcome_reportResponse-rate report from your tagged outcomes: totals, by area, by project.
outreach_log_viewShow the last N rows of the outreach xlsx.
outreach_mark_followupRecord that you sent the follow-up nudge, so the prof is never nudged twice.
outreach_mark_responseTag a prof's reply. outcome: positive | negative | no_response | interview. These tags feed the matcher: projects that earn replies rank up in future runs.
outreach_mark_sentpublish_articlewrite actionrun_daily_batchwrite actionRun the daily outreach: pick n unseen profs in `area` (or today's rotation), match to your strongest project, draft dashless cold emails, log to xlsx, and email the batch to your review inbox.
run_program_batchwrite actionDeadline-driven batch: verify + draft for faculty of one program from programs.yaml instead of arXiv discovery. Use before application deadlines.
s2_cache_invalidateSelectively purge the Semantic Scholar cache. `query` matches author names and ids (substring). Use everything=True to wipe the whole cache. Use after a prof's S2 record changes (new affiliation, merged record).
send_draft_to_mewrite actionEmails the draft file to your inbox (NOTIFY_TO).
set_letterheadSet (or clear) the letterhead / company logo used when compiling a Letter of Recommendation to LaTeX.
skipped_log_viewAudit trail of skipped leads: who was rejected, at which stage (identity / faculty-gate / region / dedup / no-papers), and the specific mismatch that failed (e.g. 'identity ambiguous: 2 comparable candidates').
sync_catalogExtend the project catalog. source in {all, github, huggingface, local}.
upcoming_deadlinesupcoming_scholarship_deadlinesupdate_articlewrite action
Public scan report
scanner v0.1.9 · 2026-09-25 · same rubric, same numbers if you re-run it
- Code scan40 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How grad-agent compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 68% of 4,460 AI and agents servers
- Tools
- 38
- the typical AI and agents server has 6
- Tools that change things
- 18%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 4
- more than 77% of 2,711 AI and agents servers
- Downloads a week
- 57
- more than 47% of 1,538 AI and agents servers with a package
What its tools let an agent do: 26 read · 1 create · 5 change · 1 delete · 2 send or post · 3 run or deploy
Release history: 2 versions in the registry since 2026-07-14, latest 2026-09-25, typically one every 73 days.
Install grad-agent in Claude Code, Cursor or VS Code
claude mcp add grad-agent -- uvx grad-agent
What the publisher says
From the grad-agent repository's README, as published. We do not edit it. Read it on GitHub
grad-agent
<!-- mcp-name: io.github.i-ninte/grad-agent -->
An autonomous MCP agent that helps you apply to fully funded MS and PhD programs.
Discover and draft
- Discovers professors on arXiv in your research areas, or deadline-driven per program (runprogrambatch)
- Resolves each professor's identity by anchoring on the trigger paper's canonical Semantic Scholar authorId, not the name string — name collisions like "Wei Zhang" are structurally impossible to confuse
- Refuses to draft when identity cannot be anchored; the specific mismatch (e.g. identity ambiguous: 2 comparable candidates, h=40 vs h=38) is persisted to a skipped sheet for audit
- Verifies each candidate is actually faculty (h-index and paper-count gates)
- Filters by region (target_regions: [US, Canada] in your profile; keyword table + homepage TLD + LLM fallback)
- Scrapes their lab page for a recruiting signal + email address
- Matches them to your strongest shipped project (tag overlap + TF-IDF semantic layer + learned response-rate bias)
- Drafts a specific, fact-checked cold email: Claude Haiku writes a hook spanning the prof's recent papers, then a second call verifies every claim against the abstracts and rewrites anything unsupported
- Scores each draft 1 to 10 for fit, with a one-line reason, so you can triage in seconds
- Freshness warnings on every draft: cross-checks the S2 affiliation against the prof's live homepage (flags MISMATCH if they may have moved labs) and flags researchers who have not published in 2+ years
Learn and follow through
- Detects professor replies via read-only IMAP and tags the log automatically
- Learns from outcomes: projects that earn replies rank up in future matching (outcome_report shows what works)
- Drafts follow-up nudges for profs silent 10+ days; never nudges the same prof twice
- Generates an interview prep one-pager when a prof replies: their papers summarised, likely questions, your talking points
Track everything
- Compiles per-school SOPs to PDF (LaTeX), versioned so no draft is ever overwritten
- Tracks outreach, LOR requests, program deadlines, and external scholarships (Mastercard, Commonwealth, Fulbright, Rhodes, and more) in xlsx/yaml
- Emails every draft to your inbox for review; nothing is ever sent to a professor without you
Bundled Claude Code / Claude Desktop skills
Installing grad-agent ships a set of Anthropic Skills you can invoke from any Claude client that supports them (Claude Code, Claude Desktop, MCP-aware IDEs). grad-agent init symlinks them into ~/.claude/skills/ automatically; to (re)install without running init, use grad-agent install-skills (add --force to replace existing entries, or --target to link elsewhere).
- sop-writing — rules for MS/PhD Statement of Purpose drafting, synthesized from MIT CommLab, MIT CAPD, Berkeley Grad Div, Harvard GSAS, Stanford, and CS-faculty guides. Pairs with the LaTeX SOP compile step.
- lor-writing — rules for letters of recommendation, including the common case where the applicant ghost-drafts a letter for a recommender to sign. Encodes multi-letter differentiation, recommender realism, HHMI bias hygiene, and a banned-phrase regex sweep. Supports an optional letterhead / company logo via the LORLETTERHEADPATH env var (with LORLETTERHEADWIDTH, default 2.2in) so the LaTeX compile drops your image into the top of the letter — leave it unset for a plain top block the recommender can paste onto their own letterhead. grad-agent init will prompt for the letterhead path interactively; to change it later (or swap letterheads between recommenders) run grad-agent set-letterhead /path/to/image.png --width 2.5in (pass no path to clear it).
- Cold-email drafter (gradagent/drafters/coldemail.py) — rewritten around PhD outreach best-practices (specific paper anchor, one concrete overlap, no un-anchored superlatives, no "I read your paper" claims).
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
grad-agent: common questions
- Is grad-agent MCP server safe?
- Mostly: it is graded B (83/100). Read the grad-agent safety report
- How do I install grad-agent?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does grad-agent need an API key?
- Yes. The registry entry asks for
ANTHROPIC_API_KEY,SMTP_PASSWORD,GITHUB_TOKEN,HF_TOKEN. - Is grad-agent maintained?
- The last commit was 40 days ago (2026-09-25). The latest release is v0.2.9.
- What can I use instead of grad-agent?
- Servers from other publishers that do the same job: Alibaba Cloud DashScope — Qwen MCP server, World Model MCP server and NVIDIA Elements MCP server.
- How does grad-agent compare with other AI and agents MCP servers?
- safety score 83/100 (higher than 68% of 4,460 AI and agents servers); tools 38 (the typical AI and agents server has 6); tools that change things 18% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to grad-agent
Same job from other publishers: the closest match first, then the best rated.
- Alibaba Cloud DashScope — QwenAlibaba Cloud DashScope MCP: Qwen chat, embeddings, and model discovery on your own account.not reviewedEstablishedB
World Model MCPPersistent 3D/2D spatial world model for AI agents with dynamic velocity and entity tracking.not reviewedEstablishedA- NVIDIA ElementsNVIDIA Elements UI design system and agent tools for AI/ML, robotics, and autonomous vehicles.not reviewedEstablishedA