研究兔
一个帮助学生进行真正学术研究的MCP服务器。它同时搜索ArXiv、Semantic Scholar、OpenAlex和PubMed,与Claude一起分析文献,发现研究空白,并构建论证框架——所有这些都基于具有可验证网址的真实论文。
没有幻觉引用。没有虚构的摘要。真实的来源,真实的分析。
快速开始
安装和构建
npm install
npm run build使用Claude Desktop进行配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"research-rabbit": {
"command": "node",
"args": ["/path/to/research-rabbit/dist/index.js"],
"env": {
"ANTHROPIC_API_KEY": "your-api-key-here"
}
}
}
}使用游标配置
添加到光标MCP设置中:
{
"research-rabbit": {
"command": "node",
"args": ["/path/to/research-rabbit/dist/index.js"],
"env": {
"ANTHROPIC_API_KEY": "your-api-key-here"
}
}
}直接运行
ANTHROPIC_API_KEY=your-key node dist/index.js工具参考
search_papers
同时搜索多个学术数据库并返回真实的论文元数据。
参数:
query(字符串,必填):搜索查询。具体点——包括人口、方法、结果。sources(数组,可选):要搜索哪些数据库。选项:"arxiv","semantic_scholar","openalex","pubmed"默认值:全部四个。limit(数字,可选):要返回的论文。范围:1-25。默认值:10。yearFrom(数字,可选):最早出版年份。
例子:
{
"query": "social media depression teenagers longitudinal",
"sources": ["semantic_scholar", "pubmed"],
"limit": 10,
"yearFrom": 2018
}退货: 纸张对象数组 id, source, title, authors, year, abstract, citationCount, doi, url, openAccessPdfUrl.
______________________________________________________________________
summarize_paper
使用Claude从摘要中生成论文的结构化摘要。确定主要主张、方法论、关键证据和局限性,并评估其与学生主题的相关性。
参数:
paperId(string):纸张ID来自search_papers结果。title(string):论文标题。abstract(string):全文摘要。topic(string):学生的研究主题(用于评估相关性)。
例子:
{
"paperId": "pubmed:38293847",
"title": "Instagram use and adolescent depression: a longitudinal study",
"abstract": "Background: ...",
"topic": "mental health effects of social media on teenagers"
}退货: PaperSummary 和 mainClaim, methodology, keyEvidence[], limitations[], relevanceToTopic.
______________________________________________________________________
map_literature
分析一组论文,生成该领域的结构化地图。确定研究人员同意的内容、不同意的地方、方法论上的紧张关系,以及思维如何随着时间的推移而演变。
参数:
papers(数组,必填):2-20个纸质对象search_papers.topic(string,必填):研究主题。
退货: LiteratureMap 和 consensus[], debates[], methodologicalTensions[], temporalTrends[]每个条目都引用了使用\[1\]、\[2\]符号的特定论文。
______________________________________________________________________
find_gaps
确定文学没有研究什么——学生的原创贡献可以在哪里存在。按类型对差距进行分类,并标记置信水平。
参数:
papers(数组,必填):2-20个纸质对象。topic(string,必填):研究主题。
退货:
gaps[]:每个缺口都有description,type(人口/时间/方法/地理/理论/其他),confidence(高/中/低),以及rationale.originalContributionAngles[]:学生可以添加什么的具体建议。
______________________________________________________________________
build_argument
为研究论文构建一个结构化的论证框架。将现有证据映射到支持论点,用反驳来预测反驳论点,并确定学生仍然需要的缺失证据。
参数:
topic(string):研究课题。thesis(string):学生的论文陈述。papers(数组,必填):1-20个用于取证的纸质对象。
退货:
argumentScaffold:thesisStatement,supportingArguments[](每个与claim,evidence[],paperIds[]),counterarguments[](每个与claim,rebuttal,paperIds[]),suggestedStructure[].missingEvidence[]学生还需要找到什么。
______________________________________________________________________
format_citation
使用真实元数据以APA、MLA或芝加哥风格格式化论文。仅格式化从返回的纸张 search_papers --从不发明引用。
参数:
paper:来自的纸质对象search_papers.style:"apa","mla",或"chicago".
退货: 格式化引用字符串。
示例输出(APA):
Twenge, J., Haidt, J. (2019). This is our chance to stop social media from harming teen girls' mental health. Semantic Scholar. https://www.semanticscholar.org/paper/abc123______________________________________________________________________
search_and_summarize
一个研究助理。搜索所有数据库,总结热门论文,绘制文献地图,并在一次工具调用中找到空白。最适合快速适应新话题。
参数:
query(string,必填):研究主题或问题。depth("quick"|"thorough",可选):"quick"搜索5篇论文;"thorough"用完全差距分析搜索10。违约:"quick".
退货: 组合对象与 papers[], summaries[], literatureMap, gaps.
______________________________________________________________________
研究方法入门
什么是文献综述?
文献综述是对已经写过的关于你的主题的系统调查。它做了三件事:
- 绘制地形图 --研究了什么,由谁研究,用什么方法研究
- 显示知识状态 --什么已经解决,什么正在争论
- 识别差距 --什么还没有研究,你的工作适合哪里
一篇强有力的文献综述不是一系列总结。这是一个综合,为为什么你的研究问题很重要而尚未得到回答提供了一个案例。
如何发现研究差距
研究差距是文献尚未回答的问题。差距有几种类型:
- 人口差距:研究只调查了一个人口群体(例如,只有成年人,只有美国人)
- 时间间隙:这一现象最近没有得到研究,或者长期影响尚不清楚
- 方法差距:大多数研究使用调查;没有人做过定性访谈,反之亦然
- 地理差距:西方国家的研究结果可能不适用于其他地方
- 理论差距:现有的框架不能很好地解释一种现象
- 互动差距:两个变量已经分别研究过,但从未一起研究过
使用 find_gaps 为了自动识别这些,然后通过检查文献中是否存在差距来进行验证。
如何构建研究论证
研究论点有四个部分:
- 论文:你的核心主张(你所争论的是真的)
- 授权:为什么索赔很重要(为什么任何人都应该关心)
- 证据:支持您主张的文件
- 反驳:对你的论文最强烈的反对意见,以及你的回应
使用 build_argument 生成一个脚手架,然后用你自己的分析来填充它。该工具将告诉您缺少哪些证据,以便您知道下一步要搜索什么。
______________________________________________________________________
示例工作流程:心理健康和社交媒体
第一步:定位
search_and_summarize(
query="social media mental health adolescents depression anxiety",
depth="thorough"
)这将返回10篇论文,总结每篇论文,绘制文献图,并找出差距。现在,您已经了解了主要的争论(相关性证据与因果证据,被动使用与主动使用),并可以看到哪些人群的研究不足。
第二步:从特定角度深入研究
差距分析表明,“对男孩和女孩的影响”研究不足。具体搜索:
search_papers(
query="social media depression gender differences adolescents boys girls",
sources=["pubmed", "semantic_scholar"],
limit=10,
yearFrom=2015
)第三步:总结关键论文
对于每篇有实质性摘要的论文:
summarize_paper(
paperId="pubmed:38293847",
title="...",
abstract="...",
topic="gender differences in social media effects on adolescent mental health"
)第四步:绘制针对不同性别的文献地图
map_literature(
papers=[...the papers from Step 2...],
topic="gender differences in social media and adolescent mental health"
)第五步:起草论文并构建论点
build_argument(
topic="social media and adolescent mental health",
thesis="Passive consumption of Instagram harms girls' self-esteem more than boys' due to appearance-related social comparison, while active social use affects both genders equally",
papers=[...all collected papers...]
)输出显示了哪些论文支持每一个子索赔,哪些证据仍然缺失(例如,“按性别操纵主动与被动使用的实验研究”)。
第6步:为参考文献列表设置引用格式
format_citation(paper={...}, style="apa")______________________________________________________________________
负责任的使用
此工具保证什么
- 所有论文均实时从真实的学术API中提取
- 每篇论文都包含一个可验证的URL
- 差距置信水平明确(高/中/低)
- 分析被标记为人工智能解释,而不是地面真相
你应该一直做什么
- 点击
url你引用的任何论文,以验证它的存在,并说明摘要所声称的内容 - 对于重要论点,请阅读整篇论文,而不仅仅是摘要
- 在最终提交之前,对照官方风格指南核对引文
- 对待
confidence: "low"差距是调查的假设,而不是既定的事实
学术诚信
此工具可帮助您更快地查找和分析真实文献。它不会为你写论文,也永远不应该。综合、论证和原始分析必须是你的。利用人工智能捏造消息来源是学术不诚实;使用人工智能发现和理解真实来源是很好的研究实践。
______________________________________________________________________
API来源
| 数据库 | 覆盖范围 | 最适合 |
|---|---|---|
| ArXiv | 计算机科学、数学、物理、经济学预印本 | STEM、前沿研究 |
| 语义学者 | 跨学科,2亿多篇论文 | 引用次数,开放获取 |
| OpenAlex | 跨学科,超过2.5亿件作品 | 社会科学、人文科学 |
| PubMed | 生物医学和生命科学 | 医学、临床研究 |
所有API都是免费的,基本使用不需要身份验证。语义学者可能会限制大量使用;服务器通过从其他来源返回结果来优雅地处理这一点。
______________________________________________________________________
发展
# Install dependencies
npm install
# Run in development (no build step)
npm run dev
# Build
npm run build
# Run built version
npm start要求:Node.js 18+, ANTHROPIC_API_KEY 环境变量。
