学术论文检索API

提供对CiNii数据库的学术论文检索功能,支持基础搜索和高级筛选。

  • by suzuuuuu09
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 suzuuuuu09/cinii-mcp-server

使用说明

CiNii MCP 服务器

设置

uv sync --no-dev

请设置目录路径和 CINII_APP_ID.

{
  "mcpServers": {
    "cinii-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "<YOUR_MCP_SERVER_DIRECTORY>",
        "run",
        "server.py"
      ],
      "env": {
        "CINII_APP_ID": "<YOUR_CINII_APP_ID>"
      },
    }
  }
}

API密钥注册

  1. 访问 CiNii API注册
  2. 查找并访问“CiNii Web API开发人员注册”链接。
  3. 访问后,将显示注册表。填写必要的信息并提交申请。
  4. 提交后,您的申请ID将通过电子邮件发送给您。

用法

Python API

from lib.cinii import CiNiiClient, SortOrder, SearchRange

client = CiNiiClient(appid="your_app_id")

# Basic search
results = client.advanced_search({
    "query": "機械学習",
    "max_results":  10
})

# Advanced search with filters
results = client.advanced_search({
    "query": "Deep Learning",
    "max_results": 20,
    "sortorder": SortOrder.PUBLICATION_YEAR_DESC,  # Publication year, descending
    "range": SearchRange.HAS_BODY_IN_CINII,        # The full text is available on CiNii.
    "year_from": 2020,
    "year_to": 2024
})

# Or you can also use numeric values for the search Options
results = client.advanced_search({
    "query": "Deep Learning",
    "max_results": 20,
    "sortorder": 1,  # Publication year, descending
    "range": 1,      # The full text is available on CiNii.
    "year_from": 2020,
    "year_to": 2024
})

排序顺序选项

  • SortOrder.PUBLICATION_YEAR_DESC (1) :出版年份递减
  • SortOrder.PUBLICATION_YEAR_ASC (2) :出版年份递增
  • SortOrder.TITLE_DESC (3) :标题降序
  • SortOrder.TITLE_ASC (4) :标题升序
  • SortOrder.JOURNAL_DESC (5) :日记递减
  • SortOrder.JOURNAL_ASC (6) :日记账升序
  • SortOrder.CITATION_DESC (7) :引用次数递减

搜索范围选项

  • SearchRange.ALL (0):全部
  • SearchRange.HAS_BODY_IN_CINII (1) :尸体存在于CiNii
  • SearchRange.HAS_BODY_OR_LINK (2) :Body存在于CiNii中,或者链接存在于链接的服务中