AI-Scholarly-Mode
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AI-Scholarly-ModeFind recent peer-reviewed articles on CRISPR gene editing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AI-Scholarly-Mode
A Model Context Protocol (MCP) Server that enables AI assistants to operate in a specialized "scholarly mode," restricting them to exclusively use scholarly article search and retrieval tools powered by Springer Nature's Open Access API.
Overview
This MCP server allows users to engage in research-driven conversations with AI assistants (like Claude) while ensuring the AI only accesses peer-reviewed academic articles from Springer Nature's open access collection.
Related MCP server: ResearchMCP
Features
Scholarly Mode Toggle - Enable/disable scholarly-only mode for AI conversations
Article Search - Search Springer Nature's open access collection with custom queries
Article Retrieval - Fetch full article content in structured JSON format (converted from JATS XML)
MCP Protocol - Seamless integration with Claude and other MCP-compatible AI assistants
Installation
# Clone the repository
git clone https://github.com/adarshrkumar/AI-Scholarly-Mode.git
cd AI-Scholarly-Mode
# Install dependencies
npm install
# Build the project
npm run buildConfiguration
API Key Setup
You need a Springer Nature API key to use this server.
Obtain an API key from Springer Nature Developer Portal
Create a
.envfile in the project root:SPRINGER_API_KEY=your_api_key_here
Usage
Running the Server
# Production
npm start
# Development
npm run devMCP Client Configuration
Add this server to your MCP client configuration. For Claude Desktop, add to your config:
{
"mcpServers": {
"scholarly-mode": {
"command": "node",
"args": ["path/to/AI-Scholarly-Mode/dist/index.js"]
}
}
}Available Tools
Tool | Description |
| Activates scholarly mode, restricting AI to use only Springer search tools |
| Deactivates scholarly mode, returning AI to normal operation |
| Searches Springer for articles matching a query. Parameters: |
| Retrieves full article content by ID. Parameters: |
Tech Stack
TypeScript - Type-safe development
@modelcontextprotocol/sdk - MCP server framework
xml-js - JATS XML to JSON conversion
Zod - Schema validation
dotenv - Environment variable management
Project Structure
AI-Scholarly-Mode/
├── index.ts # Main MCP server implementation
├── springer.ts # Springer API integration
├── ConsoleManagement.ts # Console output utilities
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── dist/ # Compiled outputAuthor
Created by adarshrkumar for Playlab.ai
License
ISC
Available Tools
4 toolsget_articles_listD
Get articles list
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| articles_per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It fails to mention whether the operation is read-only, destructive, or what the output format is. The agent has no information about side effects, rate limits, or authorization needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise but achieves this at the cost of all informative content. Under-specification is not conciseness; every sentence should earn its place, and here there is only a single tautological phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two parameters, no output schema, and no annotations, the description is woefully incomplete. An agent cannot determine the return format, pagination behavior, or how to form a valid query. The description fills none of the gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no information about the parameters. 'query' is unexplained (e.g., search syntax, fields) and 'articles_per_page' lacks constraints (e.g., min, max, default). The description adds zero value beyond the bare schema names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description 'Get articles list' is a tautology that merely restates the tool name. It does not specify the source, type, or criteria for articles, and fails to distinguish from the sibling tool 'get_springer_article_data' which likely provides article data from a specific source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines provided. The description does not indicate when to use this tool versus alternatives like 'get_springer_article_data' or the scholarly mode tools. The agent receives no context about prerequisites or appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_springer_article_dataD
Get Springer article data
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as idempotency, side effects, or required authentication. The name suggests a read operation, but this is not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (5 words) but fails to convey essential information. While not verbose, it is under-specified and does not earn its place because it omits critical details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one required parameter and no output schema, the description is insufficient. It does not explain the input semantics, return type, or any contextual cues, making it hard for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' is a string with no further description. Schema description coverage is 0%, and the description adds no meaning such as whether 'id' is a DOI, article number, or other identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get Springer article data' identifies the resource ('Springer article data') and a generic verb ('Get'), but fails to specify what kind of data is retrieved (e.g., metadata, full text). It distinguishes from sibling 'get_articles_list' only by implication, not explicit mention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_articles_list' or when it is appropriate to call. The description does not mention any prerequisites or context, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scholarly-mode-startA
Start scholarly mode. This tool returns a systemPrompt for you to use while you are in scholarly mode.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool returns a systemPrompt for use in scholarly mode, which is the key behavioral output. Although no annotations exist, the description offers clear state information. It could be more explicit about side effects like state reset on repeated calls, but is adequate for a simple toggle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action and followed by the return value. Every word earns its place; no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description explains the tool's purpose and return value. It adequately covers the basic context, though mentioning that the prompt should be used as a system message would improve completeness. Overall, it is sufficient for a simple mode switch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description correctly reflects this by not mentioning any parameters, and schema coverage is 100%. No additional clarification is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool starts scholarly mode and distinguishes it from the sibling tool scholarly-mode-stop. The verb 'start' and resource 'scholarly mode' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_articles_list or scholarly-mode-stop. It lacks context about prerequisites or conditions for starting scholarly mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scholarly-mode-stopA
Stop scholarly mode. This tool returns a systemPrompt for you to use while you are not in scholarly mode.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It reveals that the tool returns a systemPrompt, which is a key behavioral detail. However, it does not explain what 'scholarly mode' entails, what side effects occur (e.g., losing scholarly context), or whether the tool requires any permissions. Transparency is adequate but could be richer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two sentences. The first sentence front-loads the core purpose, and the second adds essential information about the return value. No extraneous words, every sentence is valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, so the description sufficiently covers its purpose and output. However, it does not explain the concept of 'scholarly mode' or how it relates to sibling tools like 'scholarly-mode-start'. For a complete context, some reference to the start tool or mode semantics would be helpful, but the description is still adequate for a minimal tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema coverage is 100% (empty). The description adds meaning beyond the schema by specifying the return value (systemPrompt). This helps an agent understand the tool's output, which the schema does not address. Scores above baseline 3 due to added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Stop scholarly mode'. It uses a specific verb 'stop' and resource 'scholarly mode', and distinguishes itself from its sibling 'scholarly-mode-start' by being the inverse operation. No confusion about its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context by mentioning the returned systemPrompt to use when not in scholarly mode. However, it does not explicitly state when to use this tool versus alternatives (e.g., just ignoring scholarly mode) or mention any prerequisites or conditions. More explicit guidance would improve clarity.
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.
4 tool updates
v1.0.0- First observed
get_articles_list - First observed
get_springer_article_data - First observed
scholarly-mode-start - First observed
scholarly-mode-stop
TDQS
Scored across 4 tools
The mode toggling tools (start/stop) and article tools (list/data) are clearly distinct in purpose. However, without detailed descriptions, an agent might confuse 'get_articles_list' with 'get_springer_article_data' if it needs a general list but picks the Springer-specific one.
Naming styles are inconsistent: 'scholarly-mode-start' uses hyphens and verb-noun order, while 'get_articles_list' and 'get_springer_article_data' use underscores and get-prefix. This mixed convention reduces predictability.
With 4 tools, the set is well-scoped for a scholarly mode server: two for mode management and two for article retrieval. No unnecessary tools, and the count is appropriate for the domain.
The tool set covers the essential lifecycle: enabling/disabling the mode and retrieving article data. Minor gaps exist, such as no search or query refinement tools, but core workflows are supported.
Maintenance
Related MCP Connectors
Ground answers in scientific literature. Search full text, evaluate trust, access full-text articles
Search peer-reviewed papers and research methodology guidance from your AI agent.
Search 340M+ academic papers — citation graphs, semantic similarity, and AI literature reviews.
AI research grounded in 300M scientific works — every citation a verifiable DOI.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search across multiple academic databases (PubMed, arXiv, bioRxiv, medRxiv, Semantic Scholar) through a unified interface. Supports advanced filtering, metadata retrieval, PDF downloads, and comprehensive research workflows with citation analysis.5-
- FlicenseAqualityDmaintenanceEnables AI-powered academic research by searching and retrieving research papers from OpenAlex database. Supports searching by keywords/topics and fetching full abstracts for detailed paper analysis.6-
- AlicenseNot gradedqualityFmaintenanceEnables comprehensive academic research through the Semantic Scholar API, including paper search, author discovery, citation network analysis, and full-text access from arXiv and Wiley sources.23 npm28ISC
- AlicenseAqualityCmaintenanceSearches and retrieves academic papers from open access sources like arXiv, Semantic Scholar, and PubMed, with full text access via arXiv PDFs, PubMed Central, and Unpaywall.2MIT