Server data from the Official MCP Registry
Autonomous MCP agent for grad school applications: prof discovery, cold emails, SOP, tracking.
Autonomous MCP agent for grad school applications: prof discovery, cold emails, SOP, tracking.
The grad-agent MCP server is a sophisticated application for graduate program outreach with reasonable core functionality, but contains several security concerns that warrant attention. Key issues include: (1) hardcoded shebang path exposing developer's local system path, (2) environment variable loading from .env files without validation, (3) broad network access with minimal input sanitization on web scraping and API calls, (4) sensitive credential handling in email configuration without encryption, and (5) potential path traversal vulnerabilities in file operations. While the server implements safeguards against unauthorized email sending (drafts reviewed before sending), the overall security posture requires hardening for production use. Supply chain analysis found 13 known vulnerabilities in dependencies (1 critical, 3 high severity). Package verification found 1 issue.
6 files analyzed · 25 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: ANTHROPIC_API_KEY
Environment variable: SMTP_SERVER
Environment variable: SMTP_PORT
Environment variable: SMTP_USERNAME
Environment variable: SMTP_PASSWORD
Environment variable: SMTP_FROM
Environment variable: GITHUB_TOKEN
Environment variable: HF_TOKEN
Environment variable: GRAD_AGENT_HOME
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-i-ninte-grad-agent": {
"env": {
"HF_TOKEN": "your-hf-token-here",
"SMTP_FROM": "your-smtp-from-here",
"SMTP_PORT": "your-smtp-port-here",
"SMTP_SERVER": "your-smtp-server-here",
"GITHUB_TOKEN": "your-github-token-here",
"SMTP_PASSWORD": "your-smtp-password-here",
"SMTP_USERNAME": "your-smtp-username-here",
"GRAD_AGENT_HOME": "your-grad-agent-home-here",
"ANTHROPIC_API_KEY": "your-anthropic-api-key-here"
},
"args": [
"grad-agent"
],
"command": "uvx"
}
}
}From the project's GitHub README.
An autonomous MCP agent that helps you apply to fully funded MS and PhD programs.
Runs as a stdio MCP server for Claude Code / Claude Desktop / any MCP client, or as a plain CLI.
Published on:
grad-agentio.github.i-ninte/grad-agentPick one:
# Recommended for MCP clients (Claude Desktop, Claude Code, etc.)
uvx grad-agent server # single-shot, no persistent install
# Persistent CLI install
pipx install grad-agent
# Or in a venv
python3 -m venv .venv && source .venv/bin/activate
pip install grad-agent
grad-agent init
This writes:
~/.grad-agent/profile.yaml — your identity, projects, preferences~/.grad-agent/programs.yaml — target programs (seeded)~/.grad-agent/.env — secrets templateFill in ~/.grad-agent/.env:
ANTHROPIC_API_KEY=sk-ant-...
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=you@gmail.com
SMTP_PASSWORD=<gmail app password>
SMTP_FROM=you@gmail.com
# Optional:
GITHUB_USERNAME=your-gh
GITHUB_TOKEN=github_pat_...
HF_USERNAME=your-hf
Fill in the important bits of ~/.grad-agent/profile.yaml:
name, identity_line, portfoliocv_path, transcript_path (absolute paths)degree_status: bachelors | masters (drives PhD eligibility gating)target_term, target_degreeresearch_areas: [nlp, ai4health, ...]seed_projects: 3 to 10 flagship projects with name, pitch, link, tagsThen:
grad-agent sync # scan projects (GitHub + HF + local)
grad-agent run # one batch, drafts land in your inbox
Three commands, in order:
pipx install grad-agent
pipx ensurepath # opens ~/.local/bin on PATH
claude mcp add grad-agent grad-agent server
Prefer a zero-install one-liner? Skip pipx and use uvx:
claude mcp add grad-agent uvx grad-agent server
Then in a new Claude Code session:
/mcp
You should see grad-agent connected with ~25 tools. Before it does anything useful, run grad-agent init (or uvx grad-agent init) and fill in ~/.grad-agent/.env and ~/.grad-agent/profile.yaml as described in the setup section above.
If you skipped pipx ensurepath, grad-agent register-claude prints an absolute-path variant of the command that works without PATH changes.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"grad-agent": {
"command": "uvx",
"args": ["grad-agent", "server"]
}
}
}
The uvx command needs no prior install. If you already ran pipx install grad-agent,
you can use "command": "grad-agent", "args": ["server"] instead.
Any other MCP client (Cursor, Zed, Windsurf) uses the same manifest shape; just
point them at uvx grad-agent server.
The package ships a launchd plist template. To fire every day at 08:00:
cp /path/to/grad_agent/templates/com.gradagent.daily.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.gradagent.daily.plist
Every morning: 3 verified faculty leads, hooks fact-checked against paper abstracts, in your inbox for review.
| Tool | Purpose |
|---|---|
run_daily_batch(n, area) | Full pipeline: verify → recruiting → hook + verify → draft → log |
outreach_log_view(limit) | Show last N rows of the outreach xlsx |
outreach_mark_sent(prof, uni) | Flag a row as actually sent to the prof |
sync_catalog(source) | Pull projects from github, hf, or local |
list_projects_in_catalog() | Show every project the matcher can see |
list_programs() | Your target programs |
upcoming_deadlines(days) | Any program deadline in the next N days |
lor_add / lor_outstanding / lor_mark | Recommendation-letter tracker |
draft_cold_email(...) | Manual per-prof draft |
draft_sop(...) | Compile a Columbia-style SOP PDF for one school |
send_draft_to_me(path) | Ship any draft file to your review inbox |
discover_profs(area) | arXiv + OpenReview scan (raw candidates, no verification) |
Blog publishing tools (publish_article, update_article, ...) are gated behind blog.enabled: true in profile.yaml and are specific to the author's Turso-backed Next.js portfolio. Most users can ignore them.
degree_status is bachelors, PhD programs that require an MSc first are filtered out.pdflatex on PATH if you want SOP PDFs (macOS: MacTeX; Ubuntu: texlive-latex-recommended)Everything is under ~/.grad-agent/ by default, or $GRAD_AGENT_HOME if set:
~/.grad-agent/
profile.yaml identity + preferences
programs.yaml target programs
.env secrets (gitignored)
data/
outreach_log.xlsx every prof surfaced or drafted
lor_log.xlsx recommendation-letter tracker
catalog.json synced projects (GitHub + HF + local)
db.sqlite drafts + status
drafts/ per-school SOP + email drafts
MIT licensed. PRs welcome for: more program templates, non-Gmail SMTP presets, non-arXiv source adapters, and better prof-verification heuristics.
Kwabena Obeng · i-ninte.github.io/portfolio/
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.