kaken-mcp-server
MCP server for querying the Japanese KAKEN database of scientific research grants, enabling search of projects and researchers via Claude.
README
kaken-mcp-server
科学研究費助成事業データベース(KAKEN)の公式 OpenSearch API を Claude から利用するためのローカル MCP サーバ。claude_desktop_config.json の env 経由で KAKEN_APPID を渡せるため、Win/Mac の Claude Desktop で確実に動作する。
提供ツール:
| ツール名 | 用途 |
|---|---|
kaken_search_projects |
研究課題を多条件で検索(kw/qa/qb/qg/qh/qm/qc/qd/qe/qf/s1/s2/o1/od) |
kaken_search_researchers |
研究者を検索(kw/qg/qm/qh/qq/qs/qe/qd) |
kaken_get_project |
課題番号から1件の詳細取得 |
kaken_get_researcher_grants |
研究者番号から関与全課題を取得(業績把握用) |
0. インストール方法(3通り)
すべての方法で、先に CiNii API 利用登録 でアプリケーションID(appid)を取得しておくこと。
A. Claude Desktop 拡張機能(.mcpb バンドル)— 推奨
Releases から kaken-mcp-server-x.y.z.mcpb をダウンロードし、ダブルクリック(または Claude Desktop の 設定 → 拡張機能 にドラッグ&ドロップ)。インストールダイアログで appid を入力するだけで使える。Node.js のインストールも不要(Claude Desktop 内蔵ランタイムで動作)。
.mcpb を自分でビルドする場合:
npm install
npm run build # tsc → dist/
node scripts/build-mcpb.mjs # kaken-mcp-server-x.y.z.mcpb を生成
Note:
npx @anthropic-ai/mcpb packは使わない。新しい mcpb CLI が生成する zip (ディレクトリエントリ無し・小構成)だと Claude Desktop のインストーラが "reply was never sent" で無応答になる。scripts/build-mcpb.mjsはインストール 実績のある形式(dist + production node_modules 同梱、dir エントリ + unix ファイル種別ビット付き zip)で生成する。 なおnpm run bundle(esbuild 単一ファイルserver/index.cjs)は Claude Code プラグイン用で、.mcpb には使わない。
B. Claude Code プラグイン(マーケットプレイス経由)
/plugin marketplace add masa-med-ai/kaken-mcp-server
/plugin install kaken-search@kaken-marketplace
appid は環境変数で渡す(シェルの rc ファイル等に設定):
export KAKEN_APPID="YOUR_APPID_HERE"
C. 手動セットアップ(claude_desktop_config.json)
以下の手順1〜3を参照。
1. 手動セットアップ
1-1. appid を取得
CiNii API 利用登録 でアプリケーションID(appid)を取得する。
1-2. このリポジトリを準備
git clone <this-repo> # または手動配置
cd kaken-mcp-server
npm install
npm run build
dist/index.js が生成される。
1-3. claude_desktop_config.json に登録
設定ファイルの場所:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
以下を追記する(既存の mcpServers がある場合はその中にマージ):
{
"mcpServers": {
"kaken": {
"command": "node",
"args": ["/絶対パス/kaken-mcp-server/dist/index.js"],
"env": {
"KAKEN_APPID": "YOUR_APPID_HERE"
}
}
}
}
Windows の例(パス区切りに注意。バックスラッシュは \\ でエスケープ):
{
"mcpServers": {
"kaken": {
"command": "node",
"args": ["C:\\Users\\<name>\\kaken-mcp-server\\dist\\index.js"],
"env": {
"KAKEN_APPID": "YOUR_APPID_HERE"
}
}
}
}
設定後、Claude Desktop を再起動するとツールが利用可能になる。
2. 動作確認
Claude に以下のように依頼すれば、自動的にツールが呼ばれる:
- 「KAKEN で AI 内視鏡の先行研究を調べて」
- 「研究者番号 80802743 の科研費業績を取得して」
- 「19K20626 の研究課題の詳細を見せて」
- 「昭和大学の消化器内科学分野の課題を年度別に集計して」
3. ツール仕様
kaken_search_projects
| 引数 | 型 | 説明 |
|---|---|---|
kw |
string | フリーワード検索(全フィールド対象) |
qa |
string | 研究課題名で検索 |
qb |
string | 研究課題番号(例: 19K20626) |
qg |
string | 研究者の姓名 |
qh |
string | 研究者の所属機関 |
qm |
string | 研究者番号(8桁) |
qc |
string | 研究種目(例: 若手研究) |
qd |
string | 審査区分/研究分野 |
qe |
string | 研究機関 |
qf |
string | キーワード |
s1 |
string | 助成開始年度 From |
s2 |
string | 助成終了年度 To |
o1 |
1-4 |
助成期間の検索条件(1=開始年度〈既定〉, 2=終了年度, 3=期間の一部, 4=全部) |
od |
1-5 |
ソート(1=適合度, 2=開始年新しい順〈既定〉, 3=古い順, 4=配分額多い順, 5=少ない順) |
rw |
integer | 1ページの件数(20/50/100/200/500、既定100。中間値は近い許容値に切り上げ) |
start |
integer | 開始位置(既定1) |
lang |
ja / en |
言語(既定 ja) |
format |
ai / table / json |
出力形式(既定 ai) |
kaken_search_researchers
kw, qg, qm, qh(現在の所属機関), qq(部局), qs(職名), qe, qd, rw, start, lang, format を受け取る。
研究者検索API(nrid.nii.ac.jp)は XML 非対応のため、内部では format=json で取得して
パースしている(研究課題検索は従来どおり XML)。取得可能な検索結果は最大1000件。
kaken_get_project
awardNumber(必須): KAKEN研究課題番号format:ai/json
kaken_get_researcher_grants
researcherNumber(必須): 研究者番号rw: 件数(既定200。一人の研究者の全課題を取得するため大きめ)format:ai/table/json
4. 出力形式
ai(既定)は AI に読ませやすい圧縮 Markdown:
## 1. [19K20626] IIIFとTEIを用いたオンライン翻刻支援システムの開発
- 研究代表者: 中村 覚(80802743)/ 東京大学 史料編纂所 / 助教
- 研究種目: 若手研究
- 研究期間: 2019-04-01 〜 2023-03-31
- 状態: 完了
- 配分額: 直接 ¥3,500,000 / 間接 ¥1,050,000 / 合計 ¥4,550,000
- キーワード: IIIF, TEI, 人文情報学
- URL: https://kaken.nii.ac.jp/grant/KAKENHI-PROJECT-19K20626/
table は Markdown のテーブル、json は構造化データ。
5. 開発
npm run dev # tsx で直接実行(ホットリロード相当)
npm run build # tsc でビルド
npm start # node でビルド済みを実行
6. 利用上の注意
- 短時間の大量アクセスを避けること(KAKEN 利用規約)
- APIで返る所属情報は採択時点のものであり、現在の所属とは異なる場合がある
- 検索結果の二次利用には KAKEN の利用規約を確認すること
参考
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。