MCP Paper Verification
一个全面的学术论文验证MCP服务,用于检查Markdown格式论文的各种问题和不规范之处。
功能特性
🔍 验证项目
- 罗列情况检查
- 检测段落是否过短或过于稀疏 - 识别列表式内容模式 - 计算内容密度和稀疏度得分
- 刻板印象检查
- 检测常见的学术模板用语(如"首先,"、"其次,"等) - 识别过度使用的加粗标题模式 - 分析表达方式的多样性
- LaTeX公式格式检查
- 检测未包装的希腊字母和数学符号 - 确保数学表达式使用proper LaTeX格式 - 验证公式的Markdown兼容性
- 文献引用检查
- 验证引用格式是否为标准的[@key]格式 - 检查引用键是否在bib文件中存在 - 统计引用数量和唯一性
- 图片链接检查
- 确保使用绝对路径而非相对路径或网络链接 - 验证图片文件是否实际存在 - 检查图片引用格式
- 代码块检查
- 检测并报告任何代码块(学术论文中不应包含) - 包括围栏代码块、行内代码和缩进代码块
- 引用数量统计
- 统计论文中的独立引用数量 - 根据学术标准检查(默认:15个以上引用) - 提供智能警告和上下文感知的建议 - 处理各种论文类型和特殊要求
- 参考文献真实性验证
- 通过Google Serper API搜索验证参考文献是否真实存在 - 检查bib文件格式和完整性 - 提供验证统计
安装和配置
前提条件
- Python 3.10+
- 有效的Serper API密钥(用于参考文献验证)
安装
- 克隆或下载项目到本地
- 进入项目目录:
cd mcp-paper-verification- 使用uv安装依赖:
uv install环境配置
设置Serper API密钥:
export SERPER_API_KEY="your_serper_api_key_here"或者在.env文件中设置:
SERPER_API_KEY=your_serper_api_key_here使用方法
作为MCP服务器启动
uv run mcp-paper-verificationMCP客户端配置
Claude Desktop配置
在~/.config/claude-desktop/claude_desktop_config.json中添加:
{
"mcpServers": {
"mcp-paper-verification": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-paper-verification", "run", "mcp-paper-verification"],
"env": {
"SERPER_API_KEY": "your_serper_api_key_here"
}
}
}
}Cherry Studio配置
{
"name": "mcp-paper-verification",
"serverName": "PaperVerificationServer",
"command": "uv",
"args": ["--directory", "/path/to/mcp-paper-verification", "run", "mcp-paper-verification"],
"env": {
"SERPER_API_KEY": "your_serper_api_key_here"
}
}可用工具
1. verify_paper_comprehensive
综合验证论文的所有方面:
- 参数:
- md_file_path: Markdown论文文件路径 - bib_file_path: BibTeX文件路径(可选) - serper_api_key: Serper API密钥(可选) - generate_markdown_report: 是否生成Markdown报告(默认:true)
2. verify_sparse_content_only
仅检查内容稀疏情况:
- 参数:
- md_file_path: Markdown论文文件路径
3. verify_stereotype_content_only
仅检查刻板印象表达:
- 参数:
- md_file_path: Markdown论文文件路径
4. verify_reference_count_only
仅检查引用数量统计:
- 参数:
- md_file_path: Markdown论文文件路径 - min_references: 建议的最少引用数量(默认:15)
5. verify_bib_references_only
仅验证参考文献真实性:
- 参数:
- bib_file_path: BibTeX文件路径 - serper_api_key: Serper API密钥(可选)
6. health_check
健康检查服务状态
示例使用
在MCP客户端中调用
验证这篇论文:/path/to/paper.md,bib文件在:/path/to/references.bib输出示例
验证完成后,服务会返回:
- 验证摘要:各项检查的通过/失败状态
- 详细结果:每项检查的具体问题列表
- Markdown报告:格式化的详细报告,包含:
- 问题的具体位置和描述 - 修改建议 - 统计信息
验证标准
高质量学术论文应该:
✅ 内容密度:段落应有足够长度和实质内容 ✅ 表达多样性:避免过度使用模板化表达 ✅ 格式规范:数学公式使用标准LaTeX语法 ✅ 引用规范:使用[@key]格式且在bib文件中存在 ✅ 引用数量:适当的引用数量(完整论文通常需要15个以上) ✅ 资源完整:图片使用绝对路径且文件存在 ✅ 内容纯净:不包含代码块等无关内容 ✅ 参考可靠:引用的文献真实存在且可验证
API参考
详细的API文档请参考MCP工具定义,所有工具都遵循标准的MCP协议。
故障排除
常见问题
- Serper API错误:确保API密钥正确且有足够配额
- 文件路径问题:使用绝对路径避免相对路径问题
- 编码问题:确保文件使用UTF-8编码
日志查看
服务运行时会输出详细日志,包括:
- 验证进度
- API调用状态
- 错误信息和建议
开发和扩展
项目结构:
mcp-paper-verification/
├── src/mcp_paper_verification/
│ ├── __init__.py
│ ├── server.py # MCP服务器
│ └── verifier.py # 验证逻辑
├── tests/ # 测试文件
├── pyproject.toml # 项目配置
└── README.md添加新的验证功能
- 在
verifier.py中的PaperVerifier类中添加新方法 - 在
server.py中添加对应的MCP工具 - 更新
generate_report函数以包含新检查项
许可证
MIT License
贡献
欢迎提交问题报告和功能请求!
