Skip to main content
Glama
nii-research-mcp

nii-research-mcp

by koizumikento

nii-research-mcp

CiNii Researchの論文・研究データと、KAKENの科研費・研究者情報を調べるMCPサーバーです。MCP、CLI、Pythonライブラリから同じ機能を使えます。

準備 · MCP登録 · CLI · Python · 移行手順

準備

Python 3.12以上、uv、Gitが必要です。

git clone https://github.com/koizumikento/nii-research-mcp.git
cd nii-research-mcp
uv sync --locked

各自が登録したNIIのアプリケーションIDを使います。CiNii Researchには CINII_APP_ID、KAKENには KAKEN_APP_ID を設定してください。

$env:CINII_APP_ID = "YOUR_CINII_APP_ID"
$env:KAKEN_APP_ID = "YOUR_KAKEN_APP_ID"

macOSやLinuxでは次のように設定します。

export CINII_APP_ID="YOUR_CINII_APP_ID"
export KAKEN_APP_ID="YOUR_KAKEN_APP_ID"

Related MCP server: cinii-mcp

MCPクライアントに登録する

設定例の /absolute/path/to/nii-research-mcp をクローン先の絶対パスに置き換えます。Windowsでは C:/projects/nii-research-mcp のように書けます。

Codex

codex mcp add nii-research-mcp --env CINII_APP_ID=YOUR_CINII_APP_ID --env KAKEN_APP_ID=YOUR_KAKEN_APP_ID -- uv --directory "/absolute/path/to/nii-research-mcp" run --locked nii-research-mcp
codex mcp list

新しいセッションで /mcp を開いて接続状態を確認します。

Claude Desktop / Cursor

Claude DesktopはOSに応じて次のファイルに設定します。

  • Windowsは %APPDATA%/Claude/claude_desktop_config.json

  • macOSは ~/Library/Application Support/Claude/claude_desktop_config.json

Cursorはプロジェクト内の .cursor/mcp.json を使います。mcpServers に次の項目を追加し、クライアントを再起動してください。

{
  "mcpServers": {
    "nii-research-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/nii-research-mcp",
        "run",
        "--locked",
        "nii-research-mcp"
      ],
      "env": {
        "CINII_APP_ID": "YOUR_CINII_APP_ID",
        "KAKEN_APP_ID": "YOUR_KAKEN_APP_ID"
      }
    }
  }
}

uv が見つからない場合は、command に実行ファイルの絶対パスを指定してください。

ツール

データごとの入力条件、結果、出典と利用条件は、表のリンク先に記載しています。

ツール

データと操作の説明

search_articles

CiNii Research

search_records

CiNii Research

get_record

CiNii Research

search_projects

KAKEN

search_researchers

KAKEN

get_project

KAKEN

CLIで使う

クローン先で実行します。取得結果はUTF-8のJSONとして標準出力に書き出します。

uv run nii-research-mcp cinii search-articles --query 地震 --limit 3
uv run nii-research-mcp kaken search-projects --query 防災 --limit 3

引数の説明は、各サブコマンドに --help を付けて確認できます。

Pythonで使う

自分のPythonプロジェクトの依存関係に追加します。

uv add "git+https://github.com/koizumikento/nii-research-mcp.git@main"

次のコードを example.py に保存し、uv run python example.py で実行します。

import asyncio

from nii_research_mcp import search_articles

result = asyncio.run(search_articles(query="地震", limit=3))
print(result)

ツールと同じ名前の非同期関数を利用できます。すでにイベントループがある場合は、直接 await してください。

出典と利用条件

コードはMITライセンスです。データは実行時に各提供元から取得します。取得データには、データ別の説明に記載した提供元の利用条件が適用されます。

開発

uv sync --locked
uv run ruff check .
uv run ty check
uv run pytest
uv build

Available Tools

6 tools
get_projectA
Read-onlyIdempotent

Look up an exact KAKEN project or area number, optionally prefixed with JP.

Inputs: project_number (required). Returns: object

get_recordA
Read-onlyIdempotent

Get selected CiNii Research metadata for a CRID returned by search.

Inputs: crid (required). Returns: object

search_articlesC
Read-onlyIdempotent

Search CiNii Research for article metadata. Pass next_start to read the next page.

Inputs: query (required), limit, start. Returns: object

search_projectsC
Read-onlyIdempotent

Search KAKEN research projects by keyword. Use next_start to read the next page.

Inputs: query (required), limit, start. Returns: object

search_recordsC
Read-onlyIdempotent

Search CiNii Research across all records or restrict to the specified record kind.

Inputs: query (required), kind, limit, start. Returns: object

search_researchersC
Read-onlyIdempotent

Search KAKEN researchers by name and optionally by institution.

Inputs: name (required), limit, start, affiliation. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 6 tools

    Disambiguation4/5

    Most tools are clearly separated by resource and action: get_project vs. search_projects, search_records vs. get_record, and search_researchers are distinct. The main overlap is search_articles versus search_records, since search_records can apparently search across all record kinds including articles, but the descriptions make the specialized role of search_articles reasonably clear.

    Naming Consistency5/5

    All six tools follow a consistent verb_noun naming pattern in snake_case: get_project, search_articles, search_records, get_record, search_projects, search_researchers. The singular/plural distinction between get_record and search_records is natural and not confusing.

    Tool Count5/5

    Six tools are well-scoped for a research metadata server covering CiNii and KAKEN lookup operations. Each tool has a clear place: search and get for projects/records, plus targeted searches for articles, projects, and researchers without excessive surface area.

    Completeness4/5

    The surface covers the core read-only research workflows: article/record search, record retrieval by CRID, project search and exact project lookup, and researcher search. Minor gaps remain, such as no dedicated get_researcher by ID and no article-specific get tool, but get_record likely covers retrieval by CRID and agents can work around the researcher gap.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      Enables searching and retrieving academic articles from CiNii, Japan's largest bibliographic database, with support for advanced filtering, sorting, and search range options.
      1
      1
      Apache 2.0
    • A
      license
      A
      quality
      B
      maintenance
      Enables querying Japan's national academic database, CiNii Research, for articles, books, dissertations, KAKEN projects, and researcher profiles via seven MCP tools.
      11
      3
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables searching CiNii Research for academic articles, books, grants, and research data, and retrieving metadata for individual items.
      2
      MIT