Skip to main content
Glama
khushisonwane23

AI Research Assistant MCP

AI Research Assistant MCP

MCP 기반 AI 연구 어시스턴트로, 학술 논문을 발견, 이해, 비교, 정리하는 데 사용됩니다.

서버는 논문 발견을 위해 arXiv에 연결하고, 연구 지향적 분석을 위해 Gemini를 사용합니다. 연구자들이 논문을 찾는 것에서부터 방법론, 한계, 잠재적 연구 공백을 이해하는 데까지 나아갈 수 있도록 설계되었습니다.

기능

🔎 논문 검색

연구 주제나 키워드를 사용하여 arXiv를 검색합니다.

서버는 다음을 반환합니다:

  • 논문 제목

  • 저자

  • 초록

  • 발행일

  • 업데이트 날짜

  • arXiv URL

  • PDF URL

📄 논문 조회

arXiv ID 또는 URL을 사용하여 특정 논문에 대한 상세 정보를 조회합니다.

📝 논문 요약

다음을 포함하는 구조화된 연구 지향적 요약을 생성합니다:

  • 연구 문제

  • 제안된 접근법

  • 주요 결과

  • 주요 기여

  • 이 연구가 중요한 이유

⚖️ 논문 비교

다음 측면에서 여러 논문을 비교합니다:

  • 연구 문제

  • 핵심 방법

  • 모델/검색 아키텍처

  • 데이터셋 또는 평가

  • 결과

  • 강점

  • 약점

  • 차이점

  • 공통 발견 사항

  • 연구 기회

🔬 방법론 분석

논문의 방법론을 추출하고 설명합니다. 포함 사항:

  • 연구 목표

  • 아키텍처

  • 주요 기법

  • 사용된 데이터

  • 훈련/검색 과정

  • 평가 방법

  • 기술 구성 요소

⚠️ 한계 분석

다음 항목에 대해 논문을 분석합니다:

  • 명시적 한계

  • 방법론적 약점

  • 평가 한계

  • 데이터셋 한계

  • 일반화 우려

  • 계산적 우려

  • 향후 연구 질문

어시스턴트는 논문에 명시적으로 뒷받침된 한계와 사용 가능한 정보에서 추론된 잠재적 연구 질문을 구분합니다.

💡 연구 공백 발견

연구 주제와 여러 논문이 주어지면 잠재적 연구 공백을 식별하고 다음을 제공합니다:

  • 공백

  • 문헌에서의 증거

  • 공백이 중요한 이유

  • 가능한 연구 질문

  • 가능한 실험

  • 기대 기여

시스템은 검증되지 않은 공백을 확립된 사실로 제시하지 않도록 지시받습니다.

💾 연구 라이브러리

논문을 로컬에 저장하여 개인 연구 라이브러리를 만들 수 있습니다.

사용 가능한 작업은 다음과 같습니다:

  • 논문 저장

  • 저장된 논문 목록

  • 저장된 논문 검색

저장된 논문은 saved_papers.json에 저장됩니다.

Related MCP server: LitSynth MCP Server

아키텍처

             AI Client
                │
                │ MCP
                ▼
      ┌─────────────────────┐
      │  AI Research        │
      │  Assistant Server   │
      └──────────┬──────────┘
                 │
         ┌───────┴────────┐
         │                │
         ▼                ▼
       arXiv            Gemini
    Paper Search      AI Analysis
         │                │
         └───────┬────────┘
                 ▼
          Research Insights

서버는 FastMCP로 구현되며 연구 기능을 MCP 도구로 노출합니다.

MCP 도구

현재 서버는 다음을 제공합니다:

search_papers() get_paper() summarize_paper() compare_papers() extract_methodology() extract_limitations() find_research_gaps() save_paper() list_saved_papers() search_saved_papers()

기술 스택

  • Python 3.11+

  • FastMCP

  • Model Context Protocol (MCP)

  • arXiv API

  • Google Gemini API

  • Requests

  • JSON 기반 로컬 저장소

프로젝트 구조

research-assistant/
│
├── src/
│   └── research_assistant/
│       └── __init__.py
│
├── server.py
├── pyproject.toml
├── README.md
├── .gitignore
└── .python-version

설정

다음 명령으로 프로젝트 의존성을 설치합니다:

uv sync

Gemini API 키를 환경 변수로 설정합니다:

GEMINI_API_KEY=your_api_key

API 키나 .env 파일을 GitHub에 커밋하지 마십시오.

서버 실행

MCP 서버를 로컬에서 실행합니다:

uv run server.py

MCP Inspector로 테스트

실행:

uv run fastmcp dev inspector server.py

그런 다음 MCP Inspector를 사용하여 사용 가능한 도구를 테스트하고 응답을 확인할 수 있습니다.

예시 워크플로우

일반적인 연구 워크플로우는 다음과 같을 수 있습니다:

연구 주제 ↓ 논문 검색 ↓ 관련 논문 선택 ↓ 논문 세부 정보 조회 ↓ 논문 요약 ↓ 논문 비교 ↓ 방법론 분석 ↓ 한계 분석 ↓ 잠재적 연구 공백 식별 ↓ 중요한 논문 저장

예를 들어: text "Find papers about retrieval augmented generation and identify potential research gaps."

어시스턴트는 문헌을 검색하고, 관련 논문을 조회하고, 분석하고, 사용 가능한 논문 정보를 사용하여 잠재적 연구 방향을 식별할 수 있습니다.

연구 초점

이 프로젝트는 생성형 AI 및 검색 증강 생성(RAG) 연구에 특히 관심을 두고 개발되고 있습니다.

잠재적인 향후 연구 워크플로우에는 다음을 연구하는 것이 포함됩니다:

  • CRAG

  • Self-RAG

  • RAG 평가

  • 검색 품질

  • 환각 감소

  • 의미론적 검색

  • 상충되는 증거

  • 연구 논문 비교

  • 문헌 공백 발견

현재 상태

🚧 활발한 개발 중

현재 기능은 다음에 중점을 둡니다:

논문 발견 → 논문 분석 → 논문 비교 → 연구 공백 탐색 → 개인 논문 라이브러리

향후 버전에서는 더 깊은 논문 수준 분석, 전체 텍스트 연구, 저장된 논문에 대한 검색, 더 고급 연구 워크플로우로 확장할 수 있습니다.

저자

Khushi Sonwane

생성형 AI, MCP, 학술 연구 워크플로우, RAG 시스템을 탐구하는 실습 프로젝트로 구축되었습니다.

Available Tools

10 tools
compare_papersB

Compare multiple research papers.

Each paper should contain:

  • title

  • abstract

ParametersJSON Schema
NameRequiredDescriptionDefault
papersYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only specifies input requirements (each paper should have title and abstract) but does not explain what the comparison produces, whether it is a read-only analysis, or any side effects. The agent cannot anticipate the output or side effects from the description alone.

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 extremely concise, with a front-loaded purpose and a clear list of required fields. Every sentence earns its place; there is no fluff or redundancy. The structure is effective for quick parsing.

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

Completeness2/5

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

The description is minimal and lacks essential context for correct invocation. It does not explain what kind of comparison is performed (e.g., similarity scoring, thematic overlap), how many papers are expected (though 'multiple' implies at least two), or any potential limitations. While the presence of an output schema may cover return values, the description does not prepare the agent for making a suitable comparison request.

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?

The schema description coverage is 0%, so the description is the only source of parameter meaning. It adds valuable semantics by specifying that each paper object must contain 'title' and 'abstract', which constrains the otherwise permissive schema (array of arbitrary objects). This helps the agent construct valid input, though it could go further by indicating optional fields or the expected number of papers.

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

Purpose4/5

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

The description states a clear verb ('Compare') and resource ('research papers'), which distinguishes it from sibling tools like summarize_paper or extract_methodology that focus on single-paper analysis. However, it does not specify what aspect is compared (e.g., abstracts, methodology, findings), leaving some ambiguity about the tool's exact scope.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or context signals that would help an agent decide between compare_papers and other tools like get_paper or summarize_paper. The verb 'compare' implies a general use case, but no direct guidance is given.

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

extract_limitationsA

Identify limitations and weaknesses mentioned or implied by the provided paper information.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
abstractYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description says 'identify', implying a read-only analysis, but does not explicitly state that the tool makes no modifications, nor does it mention any permissions, limitations, or side effects. It also does not hint at the output format, though an output schema exists.

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 a single clear sentence that front-loads the purpose. It contains no filler or redundant phrases and is appropriately concise for the tool's simplicity.

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?

For a simple extraction tool with only two string parameters and an output schema available, the description covers the essential context: it identifies limitations from paper information, implying the inputs are the title and abstract. It does not specify edge cases or expectations beyond that, but given the simplicity, this is adequate. The presence of an output schema mitigates the need to describe return values.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain the parameters, but it does not. It refers generically to 'provided paper information' without explicitly naming 'title' and 'abstract' or clarifying their role. The schema itself is simple (two strings), and the description adds no detail about how these inputs are used or any constraints on them.

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 tool's function: identifying limitations and weaknesses in provided paper information. It uses a specific verb ('identify') and resource ('paper information'), and it is distinct from siblings like extract_methodology or summarize_paper, which focus on different aspects.

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 intended use is implied by the tool's name and description—if an agent needs limitations, this is the obvious choice. However, there is no explicit guidance on when to use this tool over alternatives, nor any conditions that would make it inappropriate. The usage context is clear but not stated.

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

extract_methodologyC

Extract the methodology and technical approach from a paper.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
abstractYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The one-line description does not state whether this is a read-only operation, whether the paper must already be retrieved/known to the system, whether it returns a structured or narrative result, or any limitations of the extraction. For a tool with zero annotation coverage, this is a meaningful gap.

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?

A single sentence with no filler; every word contributes to the stated purpose. It is appropriately front-loaded and free of redundancy.

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

Completeness2/5

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

Despite having an output schema and only two parameters, the description is under-specified. It omits the wider context an agent needs: whether this operates on papers already in the system, how it relates to sibling extraction tools like extract_limitations, and what distinguishes its behavior from summarize_paper. A slightly richer description would materially improve call success.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter detail — title and abstract are documented only as bare strings. The phrase 'from a paper' loosely suggests these identify the source paper, but the description does not explain their format, relationship, or required content. The description fails to compensate for the missing schema documentation.

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

Purpose4/5

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

The description states a specific verb ('Extract') and resource ('methodology and technical approach from a paper'), making the tool's job clear. However, it does not distinguish itself from the sibling extract_limitations, which shares the same extraction pattern — an agent must infer the difference from the resource type alone.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. It neither mentions extract_limitations, summarize_paper, or find_research_gaps, nor states any conditions or exclusions. Usage timing is only implied by the verb-noun phrasing, 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.

find_research_gapsC

Analyze multiple papers and identify potential research gaps.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes
papersYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'analyze,' which implies a non-destructive operation, but it doesn't explicitly state whether it modifies state, what side effects exist, or how it handles the papers (e.g., reading vs. fetching). This is minimal.

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 a single, front-loaded sentence that communicates the core action and outcome without any wasted words. It's appropriately concise for a tool that might need more detail but doesn't have it.

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

Completeness2/5

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

Given the tool has 2 parameters, no annotations, 0% schema coverage, and an output schema (whose content is unknown), the description is insufficient. It fails to tell the agent how to construct the 'papers' input, what the output will look like, or any constraints on the analysis. More context is needed for effective use.

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

Parameters1/5

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

Schema coverage is 0%, and the description provides no explanation of the parameters. It doesn't clarify what 'topic' should be, how 'papers' should be structured (even though the schema allows any objects), or any required properties within those objects. The description completely fails to compensate for the lack of schema documentation.

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 verb 'analyze' and the resource 'multiple papers' with the specific goal of identifying research gaps. This distinguishes it from siblings like compare_papers (comparison) and extract_limitations (limitations extraction), so an agent can tell them apart.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives. It doesn't mention any conditions or contrast with siblings, leaving the agent to infer when research-gap analysis is appropriate versus other paper-analysis tools.

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

get_paperA

Retrieve detailed information about a specific arXiv paper.

Example: get_paper("2402.19473")

ParametersJSON Schema
NameRequiredDescriptionDefault
arxiv_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Retrieve' implies a read operation with no side effects, and the example shows input format, but nothing is disclosed about behavior on invalid IDs, response shape, or network dependence. Adequate but thin for a tool with zero annotation support.

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?

One purposeful sentence plus a runnable example, with the core purpose front-loaded. No wasted words; the example earns its place by clarifying parameter format.

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?

For a simple single-parameter retrieval tool with an output schema present (so return values needn't be spelled out), the description covers the essential contract: what it does and what input it expects. Slightly light on usage guidance, but essentially complete for this complexity level.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It does not describe arxiv_id in prose, but the example '2402.19473' concretely demonstrates the expected arXiv ID format. This adds value beyond the bare string type, though it stops short of explaining accepted variants (e.g., with/without version suffix).

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?

States a specific verb (Retrieve) and resource (detailed information about a specific arXiv paper). The qualifier 'specific' plus the example distinguishes it from siblings such as search_papers (finding papers) and summarize_paper (summarizing). An agent can tell it apart from the search/extraction siblings without opening schemas.

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?

Usage context is only implied: 'specific arXiv paper' suggests this is for fetching details for a known ID rather than searching, but no explicit when-to-use, when-not-to-use, or named alternatives are given. It doesn't route away from search_papers or list_saved_papers the way an explicit note would.

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

list_saved_papersB

Return all papers saved in the research library.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the basic function. It does not mention potential behaviors such as pagination, ordering, rate limits, or the possibility of a large response set, leaving the agent without expectations for edge cases.

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

Conciseness4/5

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

The description is one short sentence with no fluff. It front-loads the essential action and resource, making it easy to parse. It could be slightly more detailed, but for a parameterless list operation it is appropriately concise.

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

Completeness3/5

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

For a simple list operation with an output schema present, the description is mostly adequate. However, it lacks context about when to prefer this over 'search_saved_papers' or any notes on scale/performance, which would help an agent decide between tools confidently. The absence of usage guidance reduces completeness.

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?

This tool has zero parameters, so the schema is vacuous. Per the rubric, a 0-param tool earns a baseline of 4; there is nothing to add parameter-wise, and the description doesn't attempt to mislead.

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

Purpose4/5

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

The description states the verb 'Return' and the resource 'all papers saved in the research library', making the primary purpose clear. It implies a comprehensive listing, which distinguishes it from the 'search_saved_papers' sibling that filters saved papers, though it doesn't explicitly name the alternative.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives like 'search_saved_papers'. The description simply states what it does without context on scenarios where listing all saved papers is appropriate or when a search would be better.

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

save_paperC

Save a research paper to the local research library.

ParametersJSON Schema
NameRequiredDescriptionDefault
paperYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing side effects. 'Save' only implies a write to the library; it does not disclose behavior on duplicate papers, whether the paper is validated for required fields, whether existing entries are replaced or merged, or what outcome is returned on success/failure. There is an output schema present, but the description itself reveals almost no behavioral context.

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

Conciseness4/5

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

The description is a single front-loaded sentence with zero waste, appropriately sized for a one-parameter tool. It loses a point only because it is so terse that it borders on under-specification for a persistence operation.

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

Completeness2/5

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

For a simple save operation with an output schema present, the return format does not need explanation. However, the open paper parameter is entirely unexplained, and with no annotations or schema coverage the description leaves a meaningful gap: an agent cannot know what constitutes a valid or complete paper to save. The low complexity is the only thing preventing a score of 1.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does nothing to compensate. The only parameter, paper, is an open object (additionalProperties: true), yet the description never hints at what fields an agent should populate (title, authors, content, URL, metadata, etc.). With the schema being permissive, an agent has no guidance on constructing a valid paper object.

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

Purpose4/5

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

The description states a specific verb (save) and resource (research paper) plus a destination (local research library), which is clear. It also distinguishes the tool from its purely read/transform siblings (search_papers, get_paper, summarize_paper, compare_papers), since saving is the only write-persist operation. It drops one point because 'research library' is somewhat vague about what the library is or where it lives.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as list_saved_papers, search_saved_papers, or get_paper. Nothing states whether the paper should come from a prior search_papers/get_paper call, whether it overwrites on duplicate, or when a user should save vs. just retrieve. The usage context is only implied by the verb 'save'.

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

search_papersB

Search academic papers on arXiv.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesResearch topic or keywords.
max_resultsNoNumber of papers to return.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

There are no annotations to fall back on, and the description does not disclose any behavioral traits beyond the basic action. It does not mention pagination, result format, rate limits, or any side effects. For a search tool, this is a minimal disclosure leaving the agent without knowledge of what to expect from the call.

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 a single sentence that states the core function without any wasted words. It is appropriately sized for a simple search tool and the information is front-loaded in the opening phrase.

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's simplicity, the description is largely complete: it identifies the domain (arXiv) and the action. The schema already covers parameter details and there is an output schema, so the description need not elaborate on return values. However, it could improve by noting the distinction from saved-paper search, but that is a usage guideline gap rather than a completeness gap.

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

Parameters3/5

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

The input schema has 100% description coverage for both parameters (`query` and `max_results`), so the baseline is 3. The description adds no extra meaning about the parameters; it does not, for example, explain how to structure a good query or what the default result count implies.

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 states a specific verb ('Search') and a specific resource ('academic papers on arXiv'). It clearly identifies the domain (arXiv) and distinguishes from sibling tools that search saved papers or perform other actions. The purpose is unambiguous.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not mention when to use this tool versus alternatives like `search_saved_papers`, nor any exclusions or prerequisites. An agent receives no indication of the appropriate context for choosing this tool.

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

search_saved_papersC

Search through papers saved in the local research library.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the action ('Search through papers') without clarifying whether it is read-only, what kinds of queries are supported, pagination behavior, or any result constraints. The lack of detail leaves the agent to assume typical search semantics, which is insufficient.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no unnecessary words. It is efficient and to the point, though it sacrifices depth for brevity. The structure is appropriate for a simple tool but lacks the informative detail that would warrant a higher score.

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

Completeness2/5

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

The tool has an output schema, but the description fails to convey essential context such as the distinction from sibling tools like 'list_saved_papers' or 'search_papers', the scope of the search, or potential limitations. For a search tool with one parameter and an output schema, more clarity on what is searched and how it differs from alternatives is expected.

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

Parameters2/5

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

The schema has 0% description coverage, and the description provides no additional meaning about the 'query' parameter beyond the verb 'Search'. It does not specify whether it accepts full-text keywords, metadata filters, or any query syntax, leaving the agent to guess the expected input format.

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

Purpose4/5

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

The description states a clear verb ('Search') and a specific resource ('papers saved in the local research library'), making the tool's purpose immediately understandable. It does not explicitly differentiate from sibling 'search_papers', which likely searches a broader set, but the phrase 'saved in the local research library' adequately scopes it.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'search_papers' or 'list_saved_papers'. The description implies a use case but does not state explicit conditions, exclusions, or alternatives. An agent must infer the appropriate context.

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

summarize_paperC

Generate a research-oriented summary of a paper.

The summary covers:

  • Problem

  • Approach

  • Results

  • Contribution

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
abstractYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for disclosing behavior. It only states what the summary covers, omitting any mention of side effects, read-only nature, or limitations (e.g., dependence on the provided abstract). It does not contradict annotations because none exist, but it fails to convey critical behavioral context.

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 tight and front-loaded: the core action appears first, followed by a clear bullet list of content areas. There is no filler or redundant phrasing, making it efficient and easy to parse.

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

Completeness2/5

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

The tool has a complex generative output and two simple inputs, but the description omits operational details like how the abstract should be formatted, whether the summary uses only the abstract or the full paper, and any constraints on input quality. Even though an output schema exists (not shown), the description leaves too much unspecified for reliable invocation.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must explain the parameters. It does not mention `title` or `abstract` at all, leaving their roles and expected formats entirely to inference. This is a critical gap that forces the agent to guess what data to pass.

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

Purpose4/5

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

The description clearly states that the tool generates a research-oriented summary of a paper and lists the four covered sections (Problem, Approach, Results, Contribution). This gives an unambiguous purpose, though it does not explicitly differentiate it from sibling tools like extract_methodology or compare_papers.

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 implies that the tool is for creating a general summary, but it never explicitly says when to prefer it over alternatives such as extract_limitations or find_research_gaps. There is no guidance on prerequisites or scenarios that would route an agent here versus other tools.

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. 10 tool updatesv0.1.0
    • First observedcompare_papers
    • First observedextract_limitations
    • First observedextract_methodology
    • First observedfind_research_gaps
    • First observedget_paper
    • First observedlist_saved_papers
    • First observedsave_paper
    • First observedsearch_papers
    • First observedsearch_saved_papers
    • First observedsummarize_paper

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation5/5

Each tool addresses a distinct research task: searching external papers, retrieving details, summarizing, comparing, extracting methodology, managing a personal library, identifying limitations, finding gaps, and saving papers. No two tools overlap in intent; even summarize_paper and extract_methodology focus on different aspects (overall summary vs. specific technical approach).

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., search_papers, get_paper, list_saved_papers, find_research_gaps). The verbs clearly describe the action and the nouns the target, making the naming predictable and easy to parse.

Tool Count5/5

With 10 tools, the server is well-scoped for a research assistant. Each tool serves a necessary function in the search-analyze-save pipeline, and the count is neither sparse nor bloated, matching the domain scope appropriately.

Completeness4/5

The tool surface covers the core research workflow: search, retrieve, summarize, compare, extract methodology, identify limitations, find gaps, and manage a saved library. The only minor omission is a removal/delete operation for saved papers, but this does not create a dead end for typical use cases.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI-powered academic paper discovery, search, and analysis from arXiv with advanced features like semantic search, citation network analysis, and multi-format exports (BibTeX, RIS, JSON, CSV). Provides intelligent research assistance through specialized AI prompts for summarization, trend tracking, and literature review automation.
    17
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables intelligent academic paper discovery through ArXiv search and AI-powered semantic similarity analysis. Helps researchers find and rank the most relevant papers using natural language queries and state-of-the-art sentence transformers.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables searching, downloading, and managing academic papers from arXiv.org through natural language interactions. Provides tools for paper discovery, PDF downloads, and local paper collection management.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Manages arXiv papers: search, download, analyze, and save AI-generated summaries. Enables AI assistants to interact with the arXiv platform.
    MIT