A MCP server project
Project description
CSarXiv Context Server
一个专门用于从CSarXiv.org(中国社会科学预印本平台)获取社科基金申报代码的Model Context Protocol (MCP) 服务器。
功能特性
📋 社科基金申报代码
- 从CSarXiv.org静态主页获取当年社科基金项目申报代码
- 支持DJ、DJA、DJB等新格式代码解析
- 按学科分类查询和展示申报代码
- 提供申报代码建议和分析
- 智能解析多种代码格式(表格、列表、文本等)
📚 学科分类
- 完整的社会科学学科分类体系
- 从A到V的学科代码对照表,包含新增的DJ分类
- 支持按分类筛选相关申报代码
安装
前提条件
- Python 3.13+
- uv 包管理器(推荐)或 pip
- 稳定的网络连接(访问CSarXiv.org)
使用 uv 安装
# 克隆项目
git clone <repository-url>
cd CSarXivContextServer
# 安装依赖
uv sync
# 运行服务器
uv run csarxivcontextserver
使用 pip 安装
# 克隆项目
git clone <repository-url>
cd CSarXivContextServer
# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 安装依赖
pip install -e .
# 运行服务器
csarxivcontextserver
MCP 客户端配置
Claude Desktop 配置
在 Claude Desktop 的配置文件中添加:
{
"mcpServers": {
"csarxiv": {
"command": "uv",
"args": ["run", "csarxivcontextserver"],
"cwd": "/path/to/CSarXivContextServer"
}
}
}
其他 MCP 客户端
对于其他支持 MCP 的客户端,使用以下命令启动服务器:
csarxivcontextserver
可用功能
资源 (Resources)
csarxiv://funding-codes- 社科基金申报代码
工具 (Tools)
- get-funding-codes - 获取社科基金项目申报代码
- 参数:
category(可选,如DJ、FX、GL等)
- 参数:
提示模板 (Prompts)
- analyze-funding-codes - 分析社科基金申报代码
- 参数:
research_area(可选)
- 参数:
使用示例
获取所有申报代码
使用工具 get-funding-codes 获取所有社科基金申报代码
获取特定分类代码
使用工具 get-funding-codes,参数 category 为 "DJ",获取中共党史党建学相关代码
分析申报代码
使用提示模板 analyze-funding-codes,参数 research_area 为 "党史研究"
主要学科代码示例
从CSarXiv.org获取的实际学科代码包括:
DJ - 中共党史党建学
- DJ: 中共党史党建学
- DJA: 党史
- DJB: 党建
- DJC: 中共党史党建学其他学科
FX - 法学
- FX: 法学
- FXA: 理论法学
- FXB: 法律史学
- FXC: 部门法学
- FXD: 国际法学
- FXE: 法学其他学科
GL - 管理学
- GL: 管理学
- GLA: 管理思想史
- GLB: 管理学理论与方法
- GLC: 战略与决策管理
- 等等...
注:完整的代码列表通过工具动态获取,包含数百个学科代码
技术架构
依赖项
mcp>=1.9.1- Model Context Protocol 核心库aiohttp>=3.9.0- 异步HTTP客户端beautifulsoup4>=4.12.0- HTML解析lxml>=4.9.0- XML/HTML解析器requests>=2.31.0- HTTP请求库
核心组件
CSarXivClient- 网站内容解析客户端- MCP 服务器实现
- 异步HTTP请求处理
- 基于CSS选择器的精确HTML解析
解析策略
服务器基于实际HTML结构进行解析:
- 学科组解析 - 查找
discipline-group类的div元素 - 主分类解析 - 从
discipline-header中提取主分类代码和名称 - 子分类解析 - 从
subdiscipline元素中提取子分类代码和名称 - 数据整理 - 按代码排序并去重
支持的代码格式:
DJ - 中共党史党建学(主分类)DJA: 党史(子分类)FX - 法学(主分类)FXA: 理论法学(子分类)
开发
项目结构
CSarXivContextServer/
├── src/
│ └── csarxivcontextserver/
│ ├── __init__.py
│ └── server.py
├── examples/
│ └── usage_example.py
├── pyproject.toml
├── README.md
├── claude_desktop_config.json
└── uv.lock
贡献指南
- Fork 项目
- 创建功能分支
- 提交更改
- 创建 Pull Request
注意事项
网络访问
- 需要稳定的网络连接访问 CSarXiv.org
- 建议配置合适的超时设置
- 遵守网站的访问频率限制
数据准确性
- 解析结果依赖于网站的HTML结构
- 网站结构变化可能影响数据提取
- 基于CSS选择器的解析策略,准确可靠
- 支持主分类和子分类的完整解析
使用限制
- 仅用于学术研究和教育目的
- 遵守CSarXiv.org的使用条款
- 不得用于商业用途
许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。
联系方式
- 作者:bai-z-l
- 邮箱:b@iziliang.com
更新日志
v0.1.0
- 初始版本发布
- 专注于社科基金申报代码获取
- 基于实际HTML结构的精确解析
- 支持DJ、FX、GL等学科代码格式
- 移除错误的分类对照表,使用动态数据
- 增强解析的准确性和可靠性
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 csarxivcontextserver-0.1.0.tar.gz.
File metadata
- Download URL: csarxivcontextserver-0.1.0.tar.gz
- Upload date:
- Size: 34.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7b76b3807a547ce47d5e7843eb8272ae5ab33139842c6c13b7edb71ec2003d5
|
|
| MD5 |
18a302a78ffa3843d8f4eb2501240f87
|
|
| BLAKE2b-256 |
6920f30cdc2039fb7436cef2f1b14bcaf093e8102c14327bff349e0c045e40f3
|
File details
Details for the file csarxivcontextserver-0.1.0-py3-none-any.whl.
File metadata
- Download URL: csarxivcontextserver-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64315ec03713e767302e94ffe76620ee51b8f21936978b3be671ca3b0676df07
|
|
| MD5 |
08001e37caa0c42eb1b41bd1ff1aab64
|
|
| BLAKE2b-256 |
d0550f07d9b09d96e319c249a1552651ac21907c6c4dc4dbd2d8705f110dd569
|