TaShan SciSpark - Academic Research Assistant MCP Server
Project description
TaShan SciSpark
TaShan SciSpark 是一个强大的学术研究助手,基于 MCP (Model Context Protocol) 协议构建,为研究人员提供全面的论文分析和研究支持服务。
🌟 核心功能
- 🔍 论文搜索: 基于关键词的学术论文检索,支持多个学术数据库
- 🏷️ 关键词提取: 从文本中智能提取技术关键词和研究要点
- 💡 研究想法生成: AI驱动的研究创意生成,帮助发现新的研究方向
- 📝 研究评审: 专业的研究想法评估和改进建议
- 📄 论文压缩: 学术论文内容的智能摘要和核心信息提取
- 🤖 MCP集成: 完全兼容Claude Desktop,提供无缝的AI助手体验
🚀 快速开始
使用 uvx 安装和运行(推荐)
uvx 是一个现代的 Python 包管理工具,可以直接运行 Python 应用程序而无需手动安装。
安装 uvx
# 使用 pip 安装 uvx
pip install uvx
# 或使用 pipx 安装
pipx install uvx
直接运行 TaShan SciSpark
# 启动 MCP 服务器(STDIO 传输,用于 Claude Desktop)
uvx tashan-scispark mcp
# 启动 MCP 服务器(HTTP 传输)
uvx tashan-scispark mcp --transport http --port 8000
# 启动 Celery 工作进程
uvx tashan-scispark worker
# 显示版本信息
uvx tashan-scispark --version
# 显示帮助信息
uvx tashan-scispark --help
传统安装方式
从源码安装
# 克隆仓库
git clone https://github.com/tashan-scispark/tashan-scispark.git
cd tashan-scispark
# 安装依赖
pip install -e .
# 运行服务器
tashan-scispark mcp
使用 pip 安装
# 从 PyPI 安装(即将支持)
pip install tashan-scispark
# 运行服务器
tashan-scispark mcp
🔧 配置
环境变量
创建 .env 文件并配置以下环境变量:
# API 密钥配置
QWEN_API_TOKEN=your_qwen_api_token
DEEPSEEK_API_KEY=your_deepseek_api_key
# Redis 配置(用于 Celery)
REDIS_URL=redis://localhost:6379/0
# 输出路径配置
OUTPUT_PATH=./output
Claude Desktop 集成
如果使用 STDIO 传输模式,需要在 Claude Desktop 配置文件中添加:
{
"mcpServers": {
"tashan-scispark": {
"command": "uvx",
"args": ["tashan-scispark", "mcp"],
"env": {
"QWEN_API_TOKEN": "your_token_here"
}
}
}
}
📖 使用方法
命令行界面
# 基本用法
tashan-scispark mcp # 启动 MCP 服务器
tashan-scispark worker # 启动 Celery 工作进程
tashan-scispark --version # 显示版本信息
# MCP 服务器选项
tashan-scispark mcp --transport stdio # STDIO 传输(默认)
tashan-scispark mcp --transport http # HTTP 传输
tashan-scispark mcp --host 0.0.0.0 # 指定主机地址
tashan-scispark mcp --port 8080 # 指定端口
# 详细日志
tashan-scispark -v mcp # 启用详细日志输出
Python 模块方式
# 作为 Python 模块运行
python -m tashan_scispark mcp
# 在代码中使用
from tashan_scispark import run_mcp_server
run_mcp_server()
MCP 工具函数
通过 Claude Desktop 或其他 MCP 客户端,您可以使用以下工具:
search_papers(keyword, limit)- 搜索学术论文extract_keywords(text)- 提取关键词generate_research_idea(keyword, paper_count)- 生成研究想法review_research_idea(topic, draft)- 评审研究想法compress_paper_content(title, abstract, content)- 压缩论文内容get_task_status(task_id)- 获取任务状态get_server_info()- 获取服务器信息
🏗️ 项目结构
tashan-scispark/
├── tashan_scispark/ # 主包目录
│ ├── __init__.py # 包初始化
│ ├── __main__.py # 模块入口点
│ ├── cli.py # 命令行接口
│ ├── mcp_server.py # MCP 服务器实现
│ ├── celery_worker.py # Celery 工作进程
│ ├── research_engine.py # 研究引擎核心
│ └── app/ # 应用模块
│ ├── api/ # API 接口
│ ├── core/ # 核心功能
│ ├── task/ # 任务处理
│ └── utils/ # 工具函数
├── pyproject.toml # 项目配置
├── README.md # 项目说明
└── requirements_mcp.txt # 依赖列表
🔄 开发模式
本地开发
# 克隆仓库
git clone https://github.com/tashan-scispark/tashan-scispark.git
cd tashan-scispark
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
pytest
# 代码格式化
black tashan_scispark/
isort tashan_scispark/
# 类型检查
mypy tashan_scispark/
构建和发布
# 构建包
python -m build
# 发布到 PyPI(需要配置凭据)
python -m twine upload dist/*
🤝 贡献
欢迎贡献代码!请遵循以下步骤:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
🆘 支持
如果您遇到问题或有疑问:
- 📧 邮箱: support@tashan-scispark.com
- 🐛 问题反馈: GitHub Issues
- 📖 文档: 项目文档
🙏 致谢
感谢所有为 TaShan SciSpark 项目做出贡献的开发者和研究人员!
Python文件和编码规约
.py文件编码为utf-8
Git 贡献提交规范
feat增加新功能fix修复问题/BUGstyle代码风格相关无影响运行结果的perf优化/性能提升refactor重构revert撤销修改test测试相关docs文档/注释chore依赖更新/脚手架配置修改等ci持续集成types类型定义文件更改wip开发中
启动服务
启动 Celery Worker
方式一:使用优化启动脚本(推荐)
Windows系统:
# 直接运行批处理文件
start_celery_worker.bat
# 或使用Python脚本
python start_celery_worker.py
Linux/Mac系统:
python start_celery_worker.py
方式二:传统启动方式
python -m celery -A app.task.paper_assistant worker --pool=solo -l info
注意: 推荐使用方式一,它包含了内存优化配置,能够有效防止内存爆炸问题。
MCP工具异步任务支持
重要提醒: 当使用MCP工具中的异步功能(如研究想法生成)时,必须先启动Celery Worker:
# 启动Celery Worker以支持异步任务
python start_celery_worker.py
异步MCP工具包括:
generate_research_idea- 生成研究想法(需要Celery Worker支持)get_task_status- 获取异步任务状态
如果未启动Celery Worker,异步MCP工具将无法正常工作。建议在使用MCP服务器前先启动Celery Worker。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tashan_scispark-1.0.8.tar.gz.
File metadata
- Download URL: tashan_scispark-1.0.8.tar.gz
- Upload date:
- Size: 62.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6963308d74ea88c05447d7eab45cca6e93870edad1261c9f9c1832b502fbfa2b
|
|
| MD5 |
5bf9db557eb2f96d87f3a23418085f75
|
|
| BLAKE2b-256 |
d137b9b703238490f71034b3ee3f29a22998ee8a64edb6458cfc4c15389fa75d
|
File details
Details for the file tashan_scispark-1.0.8-py3-none-any.whl.
File metadata
- Download URL: tashan_scispark-1.0.8-py3-none-any.whl
- Upload date:
- Size: 68.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
beb554ef2cb4f1e165403d00dfa5f7750823221de8c57fcda7142e64e84323da
|
|
| MD5 |
37aaba17015ce461fe878a42052fc20b
|
|
| BLAKE2b-256 |
65bae5c3f9c38348d84fa7f865d7ecd31e8021de8b826bd72715b572f9de3f89
|