Professor Fit MCP
Provides access to DBLP publication records, homepage URLs, and current affiliation for computer science researchers.
Optional integration for query intent analysis using LLM, including topic/domain split, synonym expansion, and spell correction.
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., "@Professor Fit MCPfind ML professors for PhD at US R1 universities"
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.
Professor Fit MCP
帮 PhD 申请者匹配教授的 MCP server。输入研究兴趣关键词,输出带溯源与置信度的「教授匹配度」表格。
设计理念
轻服务器(Thin Server):server 只做「LLM 做不到的事」——联网取数据、跨源整合、结构化输出;语义 fit 判断交给调用方的 client LLM(Claude / Cursor)。
OpenAlex 为主干:免费、无需 API key、自带作者消歧与 h-index
多源交叉验证:OpenAlex(指标/论文/concepts)+ DBLP(主页 URL / 首发年)+ 个人主页(职称/email/lab)
诚实数据:每个关键字段带
source与confidence,拿不到就标unknown,绝不编造零 key 默认可用:核心路径无需任何 API key
Related MCP server: LitSynth MCP Server
安装
推荐使用 uv(需要 Python 3.10+):
uv venv --python 3.12
uv pip install -e ".[dev]"或使用 pip:
pip install -e .Cursor 配置
在 ~/.cursor/mcp.json 中添加(Windows 路径示例):
{
"mcpServers": {
"professor-fit": {
"command": "D:\\path\\to\\ProfessorFitMCP\\.venv\\Scripts\\professor-fit-mcp.exe",
"env": {
"OPENALEX_EMAIL": "your@email.com"
}
}
}
}Claude Desktop 配置
在 claude_desktop_config.json 中添加:
{
"mcpServers": {
"professor-fit": {
"command": "python",
"args": ["-m", "professor_fit_mcp.server"],
"env": {
"OPENALEX_EMAIL": "your@email.com"
}
}
}
}
OPENALEX_EMAIL可选——填写后 OpenAlex 进入「礼貌池」,速率更高。
使用
推荐:一键搜索(带 topic/domain 优先级)
直接用 find_professors,一次完成「意图分析 → 搜索 → 详情 → 排序 → 生成 Markdown 表格」:
帮我找 mev + defi 方向的美国 R1 院校教授Cursor / Claude 会自动拆分 topic vs domain 并调用:
find_professors(
keywords=["MEV", "DeFi"],
topic_keywords=["MEV", "maximal extractable value", "frontrunning"],
domain_keywords=["DeFi", "decentralized finance", "blockchain"],
topic_weight=3.0, # topic 命中的论文得分 ×3
domain_weight=1.0, # domain 命中的论文得分 ×1
regions=["US"],
institution_tier=["R1"],
limit=30,
since_year=2018,
)关键词优先级:topic_keywords 中的查询命中权重 ×3,确保做 MEV 的人排名远高于泛 DeFi/blockchain 研究者。Cursor 的 Claude 会从 tool docstring 中理解 topic/domain 语义,自动拆分——无需额外 LLM 成本。
返回 Markdown 表格并自动保存(路径在 saved_to 中)。
兼容模式
不提供 topic/domain 时仍可工作(向后兼容):
find_professors(
keywords=["MEV", "DeFi"],
regions=["US"],
limit=10,
)此时 server 自动分析意图:
若配置了
LLM_API_KEY→ 调用 LLM 分析 topic/domain否则 → 规则回退(多词短语=topic,单词=domain)
进阶:分步调用
需要精细控制时,可单独调用底层工具:
1. search_professors(keywords=[...], topic_keywords=[...], domain_keywords=[...], regions=["US"])
2. get_professor_details(professor_id="A5023888391")
3. rank_fit(user_interests={"keywords": [...]}, professors=[...])
4. export_table(professors=[...], format="markdown", output_path="results.md")工具
搜索与排序
工具 | 功能 |
| 推荐入口:一键完成 搜索→详情→排序→导出,结果自动沉淀到资料库 |
| 按研究方向粗筛候选教授(OpenAlex works→authors) |
| 多源详情聚合(OpenAlex + DBLP + 主页),自动写入资料库 |
| 短语匹配粗排 + 打包精排材料供 client LLM 判断 |
| 输出表格,默认 |
资料库管理
工具 | 功能 |
| 手动更新教授档案字段(主页、职位、PI 状态、研究 tag、notes) |
| 写入 WebSearch 证据并触发多源交叉验证合并 |
| 查看资料库统计、按姓名/学校/tag/验证状态查询,或查看单个教授完整档案+证据 |
| 导出资料库为 |
筛选参数
regions:US,UK/GB,JP,KR,DE,CA,AU,SG,HK,ASIA,ALLinstitution_tier:R1(美),HK5(港五校),Russell(英),Go8(澳),U15(加),TU9(德),Imperial(日),SKY(韩)topic_keywords:核心研究课题(教授必须直接做这个方向)。高评分权重。domain_keywords:领域上下文(教授在这个大领域中工作)。低评分权重。topic_weight/domain_weight:topic/domain 查询的得分倍数(默认 3.0 / 1.0)required_keywords:领域锚点(命中任一即保留)。不传时自动推断;传[]关闭闸门min_relevance:最低相关分阈值(0.0–1.0)since_year:论文起始年份(默认 current_year - 7)
精度与召回
关键词优先级:topic 查询命中的论文得分是 domain 的 3-4.5 倍,确保核心研究方向的人排名靠前,不被宽泛领域的高产作者冲淡。
召回:搜索按「topic/domain 分组查询 + 领域同义词扩展(最多 8 条)+ 深翻页(5 页×100)+ 并发解析作者(上限 200 人)」展开候选池。
机构准确性(五级回退):
OpenAlex
last_known_institutionsOpenAlex 历年
affiliations(5 年窗口)论文级 authorship 中标注的机构(最及时)
DBLP 策展 affiliation(人工维护,最准确)
InstitutionClassifier 模糊匹配
精度闸门:默认按领域核心词做 ANY-match 过滤,排除邻域误报。
主页发现策略
1. DBLP person record 的 <url> 标签 ← server,排除 scholar/orcid 等聚合站
2. OpenAlex 作者 homepage(若有) ← server,免费
3. 仍无 → 返回 homepage_search_query + ← 交 client(Cursor/Claude)的 web search
homepage_resolution 指令 补全个人/院系主页(多数教授都有主页)find_professors 的返回里含 homepage_resolution.needed 列表,client 应对其中每个 search_query 做 web 搜索补全主页(顺带可验证职称/当前任职)。
教授资料库
每次搜索/查详情会自动将教授档案写入本地 SQLite 数据库 professor_profiles.db(路径可通过 PROFESSOR_PROFILES_DB_PATH 环境变量配置)。
资料库存储:
身份:姓名、学校、国家、tier、职位、是否 PI
指标:h-index、citations、works_count、近 3 年论文
研究内容:OpenAlex concepts、研究方向 tags、最近论文(JSON)
主页:URL + 来源 + 验证时间
验证状态:
verified/needs_review/unverified
多源交叉验证
WebSearch 证据通过 add_web_search_evidence 写入,自动与 OpenAlex/DBLP 数据合并。合并按来源优先级进行:
主页 URL:院系 faculty page > 个人主页 > DBLP > OpenAlex
职位/PI:faculty page > 个人主页 > 启发式推断
机构:faculty page > OpenAlex affiliations > DBLP
来源冲突时标记 needs_review,不静默覆盖。
查看资料库
profiles_inspect() # 统计概览
profiles_inspect(name="Ari Juels") # 按姓名搜索
profiles_inspect(openalex_id="A5023888391") # 完整档案+证据
profiles_export(format="json", output_path="db.json") # 导出为文件开发
# 运行测试
uv run pytest tests/ -v环境变量
变量 | 必须 | 说明 |
| 否 | 填写后进入 OpenAlex 礼貌池,速率更高 |
| 否 | 资料库路径(默认 |
| 否 | Markdown 结果保存目录(默认项目根) |
| 否 | LLM 意图分析(仅 fallback 路径需要,Cursor 中不需要) |
| 否 | LLM API 地址(默认 OpenAI,兼容 Deepseek 等) |
| 否 | LLM 模型名(默认 |
数据源
数据源 | 角色 | API key |
OpenAlex | 主干:指标/机构/concepts/论文/作者消歧 | 否 |
DBLP | CS 发表记录、主页 URL、当前机构、首发年(全量并发查询) | 否 |
个人主页 | best-effort:职称/email/lab/招生信号 | 否 |
院校分级 | 内置 JSON(R1/HK5/Russell 等) | 否 |
LLM(可选) | 查询意图分析:topic/domain 拆分 + 同义词扩展 + 拼写纠错 | 可选 |
professor_profiles.db | 本地资料库:持久化档案 + WebSearch 证据 + 交叉验证 | 否 |
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/Wrennnn2/ProfessorFitMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server