Skip to main content
Glama
iwaokimura

mcp-cinii

by iwaokimura

mcp-cinii

MCP for CINII API

An MCP server that exposes CiNii Research search capabilities to LLM clients such as Claude Code.

Tools

search_cinii

Search CiNii Research for academic articles, books, grants, and research data.

Parameter

Type

Default

Description

query

string

Search keywords (e.g. "機械学習" or "machine learning")

count

int

20

Number of results (1–200)

start

int

1

1-based offset for pagination

lang

string

"ja"

Response language: "ja" or "en"

resource_type

string

""

Filter: "Article", "Book", "Dissertation", "Data", "Research Project", or "" (all)

Returns CiNii Research JSON-LD response.

get_cinii_item

Retrieve metadata for a single CiNii Research item by its ID.

Parameter

Type

Default

Description

item_id

string

CiNii Research CRID from the item URL (e.g. "1971993809790115224")

lang

string

"ja"

Response language: "ja" or "en"

Returns JSON-LD metadata for the item.

Related MCP server: CiNii MCP Server

Installation

pip install mcp-cinii

Configuration

CiNii Research's OpenSearch API requires an application ID (appid). Register as a developer and obtain one at CiNii - API User Registration, then set it via the CINII_APP_ID environment variable. If unset, requests are sent without appid (may be subject to stricter rate limits).

Usage with Claude Code

claude mcp add --transport stdio cinii -e CINII_APP_ID=<your-appid> -- mcp-cinii

Development

uv sync --group dev
uv run pytest

Available Tools

2 tools
get_cinii_itemA

Retrieve metadata for a single CiNii Research item by its ID.

Args: item_id: The CiNii Research CRID, e.g. "1971993809790115224". This is the numeric part that appears after "https://cir.nii.ac.jp/crid/" in the item URL. lang: Response language, "ja" (Japanese) or "en" (English). Default "ja".

Returns: JSON-LD metadata for the item as a formatted JSON string.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoja
item_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states the tool retrieves metadata and returns JSON-LD as a formatted string. Although no annotations are provided, the description sufficiently conveys that this is a read-only operation. It could mention error handling or rate limits but is adequate for a simple retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, using 'Args:' and 'Returns:' sections to separate parameter details and output information. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, an output schema exists (mentioned), and the description covers required parameters, optional parameters with defaults, and the return format. It is complete for an agent to correctly invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description fully compensates by explaining the item_id parameter (CRID, example, URL context) and the lang parameter (default, values). This adds substantial semantic value beyond the bare property definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Retrieve metadata for a single CiNii Research item by its ID', specifying the action, resource, and scope. It implicitly differentiates from the sibling tool 'search_cinii', which presumably searches for multiple items, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates the tool is for retrieving a single item by ID, which implies usage when the ID is known. However, it does not explicitly contrast with the sibling 'search_cinii' or provide when-not-to-use guidance, so it falls short of a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_ciniiA

Search CiNii Research for academic articles, books, grants, and data.

Args: query: Search keywords (e.g. "機械学習" or "machine learning"). count: Number of results to return (1–200, default 20). start: 1-based result offset for pagination (default 1). lang: Response language, "ja" (Japanese) or "en" (English). Default "ja". resource_type: Filter by resource type. One of "Article", "Book", "Dissertation", "Data", "Research Project", or "" (all types).

Returns: JSON-LD response from CiNii Research as a formatted JSON string.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoja
countNo
queryYes
startNo
resource_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It covers parameters and return format, but omits potential issues like rate limits, authentication, or error conditions. It explains it's a search (likely read-only) but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with a clear title sentence and well-structured Arg list. Every sentence provides useful information, and there is no unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters and an output schema (though not shown), the description covers parameters well and states the return format. It lacks information on error handling or prerequisites, but for a search tool this is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds significant meaning: it explains each parameter's purpose, defaults, valid ranges (e.g., count 1–200), and the resource_type options. However, it could be more detailed for enums or exact formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search'), the resource ('CiNii Research'), and the scope ('academic articles, books, grants, and data'), distinguishing it from the sibling 'get_cinii_item' which likely retrieves a single item.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives. It implies broad search, but lacks direct comparison to 'get_cinii_item' or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 2 tool updatesv0.1.0
    • First observedget_cinii_item
    • First observedsearch_cinii

TDQS

A4.4/5.0

Scored across 2 tools

Disambiguation5/5

get_cinii_item retrieves a single item by ID, while search_cinii performs keyword-based searches with filters. These are clearly distinct operations with no overlap.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (get_cinii_item, search_cinii) using snake_case, with 'cinii' as the common domain prefix.

Tool Count5/5

Two tools is appropriate for a focused academic search and retrieval server. It covers the essential operations without being too few or too many.

Completeness4/5

The tool set covers search with filtering and per-item retrieval. Minor gaps include lack of browse or citation export, but core functionality for accessing CiNii Research is well-covered.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    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
    A
    maintenance
    Enables querying Japan's national academic database, CiNii Research, for articles, books, dissertations, KAKEN projects, and researcher profiles via seven MCP tools.
    7
    2
    MIT