inspirehep-mcp
## inspirehep-mcp
INSPIRE-HEP (`https://inspirehep.net`) の文献検索を提供する、Python 製の MCP サーバーです。
## Features
- `inspirehep_search_by_title`: タイトル文字列で論文検索
- `inspirehep_search_by_fulltext`: 本文(full text)キーワードで論文検索
- `inspirehep_search_by_author`: 著者名で論文検索
- どちらのツールもデフォルトで巨大コラボ論文を除外(`large_collaboration=false`)
- 返却項目を最小化してコンテキスト消費を抑制
- `title`
- `authors`
- `abstract`
- `year`
- `citation_count`
- `arxiv_url` (存在する場合のみ)
## Setup
```bash
uv sync
```
## Run (stdio MCP server)
```bash
uv run inspirehep-mcp
```
or
```bash
uvx --from git+https://github.com/hajifkd/inspirehep-mcp inspirehep-mcp
```
## Run with MCP Inspector
```bash
npx -y @modelcontextprotocol/inspector uv run inspirehep-mcp
```
ターミナルに表示される URL をブラウザで開いてテストできます。
## Tool Inputs
共通:
- `large_collaboration` (default: `false`)
- `sort_by_citation` (default: `true`)
- `true`: citation数順
- `false`: 日付の新しい順
- `year` (optional, 例: `2020`)
- `limit` (default: `20`)
タイトル検索:
- `title` (required)
本文検索:
- `fulltext` (required)
著者検索:
- `author` (required, string配列)
## Test
```bash
uv run pytest
```
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: searching by author, full text, or title. There is no overlap in functionality, and an agent can easily tell them apart based on the search parameter.
All tool names follow a consistent pattern: 'inspirehep_search_by_' followed by the search parameter (author, fulltext, title). This verb_noun structure is uniform and predictable throughout the set.
With only 3 tools, the server feels thin for a literature search domain. While the tools cover basic search methods, the scope is limited, and more operations (e.g., filtering, sorting, or retrieving specific records) might be expected for a comprehensive search interface.
The tool surface is severely incomplete for a literature search server. It only offers search functionality without any way to retrieve, update, or manage records (e.g., get_by_id, list_results, or advanced filtering). This creates significant gaps that could lead to agent failures when trying to perform full workflows.