Skip to main content
Glama
jerpint

paperpal

by jerpint

페이퍼팔

문헌 검토 검색 및 작성을 지원하는 MCP 확장

Claude와의 대화를 확인하여 무엇을 할 수 있는지 알아보세요.

작동 원리

paperpal LLM 학생들에게 arxivHugging Face 논문 에 대한 접근 권한을 제공합니다. 좋아하는 LLM(예: Claude)과 자연스럽게 대화를 나누며 paperpal의 안내를 받을 수 있습니다.

다음을 수행할 수 있습니다.

  • 논문에 대해 논의하다

  • 새로운 논문을 찾아보세요

  • 문헌 검토를 위한 아이디어 정리

  • 등.

물론, 이 도구는 각 부분의 합만큼 훌륭합니다. LLM도 여전히 환각을 경험할 수 있고, 의미 검색은 결코 완벽하지 않습니다.

Related MCP server: arxivsub-mcp

빠른 시작

MCP 서버와 상호 작용할 수 있는 방법은 다양합니다.

클로드 데스크톱 앱

Claude Desktop App에 MCP 서버를 처음 사용하는 경우 https://modelcontextprotocol.io/quickstart/user를 참조하세요.

먼저, 이 저장소를 로컬로 복제합니다.

지엑스피1

다음으로, 앱에 확장 프로그램을 추가합니다. 구성 파일(macOS에서는 ~/Library/Application Support/Claude/claude_desktop_config.json )을 열고 확장 프로그램에 다음을 추가합니다.

예를 들어 MacOS의 경우:

{
  "mcpServers": {
    "paperpal": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/<username>/paperpal",
        "run",
        "paperpal.py"
      ]
    }
  }
}

Claude 데스크톱 앱을 다시 시작하면 나타납니다.

커서

Cursor에 MCP 서버를 처음 사용하는 경우 https://docs.cursor.com/context/model-context-protocol#remote-development를 참조하세요.

먼저, 이 저장소를 로컬로 복제합니다.

git clone https://github.com/jerpint/paperpal

프로젝트 루트의 .cursor/mcp.json 파일에 다음을 추가합니다.

{
  "mcpServers": {
    "paperpal": {
      "command": "/Users/jeremypinto/.cargo/bin/uv",
      "args": [
        "--directory",
        "/Users/jeremypinto/paperpal",
        "run",
        "paperpal.py"
      ]
    }
  }
}

Available Tools

2 tools
fetch_paper_details_from_arxivB

Get the Arxiv info for a list of papers.

Args:
    arxiv_ids (list[str] | str): The IDs of the papers to get the Arxiv info for, e.g. ["2503.01469", "2503.01470"]
ParametersJSON Schema
NameRequiredDescriptionDefault
arxiv_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/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 states the tool fetches info but doesn't describe key behaviors like whether it's a read-only operation, error handling for invalid IDs, rate limits, or authentication needs. This is a significant gap for a tool with no annotation coverage.

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 appropriately sized and front-loaded, with the main purpose stated first and parameter details following. It uses two sentences efficiently, with no wasted words, making it easy to parse quickly.

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?

Given the tool's low complexity (1 parameter) and the presence of an output schema, the description is somewhat complete but has gaps. It covers the basic purpose and parameter usage but lacks behavioral details and usage guidelines. With an output schema, it doesn't need to explain return values, but overall it's only minimally adequate.

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 description adds meaningful semantics beyond the input schema. The schema has 0% description coverage, but the description explains that 'arxiv_ids' can be a list or string and provides an example (e.g., ["2503.01469", "2503.01470"]), clarifying usage. With only one parameter, this compensates well for the low schema coverage.

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 the tool's purpose: 'Get the Arxiv info for a list of papers.' It specifies the verb ('Get') and resource ('Arxiv info'), making it understandable. However, it doesn't explicitly differentiate from the sibling tool 'semantic_search_papers_on_huggingface', which appears to be a search tool rather than a direct fetch by ID, so it misses full sibling distinction.

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 guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool or any other context for usage, such as prerequisites or scenarios where this tool is preferred over others. This leaves the agent without explicit direction on tool selection.

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

semantic_search_papers_on_huggingfaceB

Search for papers on HuggingFace using semantic search.

Args:
    query (str): The query term to search for. It will automatically determine if it should use keywords or a natural language query, so format your queries accordingly.
    top_n (int): The number of papers to return. Default is 10, but you can set it to any number.

Returns:
    str: A list of papers with the title, summary, ID, and upvotes.
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_nNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/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. It mentions that the query 'will automatically determine if it should use keywords or a natural language query,' which adds some context about the tool's behavior. However, it lacks details on rate limits, authentication needs, error handling, or what happens with invalid inputs, which are important for a search tool.

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 appropriately sized and front-loaded, with the core purpose stated first. The Args and Returns sections are structured clearly, though the 'Returns' section could be more concise (e.g., listing fields without full sentences). Overall, it's efficient with minimal waste.

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 moderate complexity (2 parameters, no annotations, but with an output schema), the description is reasonably complete. It explains the parameters and return format, and the output schema likely covers the return structure in detail. However, it could benefit from more behavioral context (e.g., search scope, limitations) to be fully comprehensive.

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 description adds significant meaning beyond the input schema, which has 0% description coverage. It explains that 'query' can be keywords or natural language and will be automatically interpreted, and it specifies the default and flexibility for 'top_n'. This compensates well for the schema's lack of descriptions, though it doesn't cover all possible edge cases (e.g., query length limits).

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 the tool's purpose: 'Search for papers on HuggingFace using semantic search.' This specifies the verb (search), resource (papers on HuggingFace), and method (semantic search). However, it doesn't explicitly differentiate from the sibling tool 'fetch_paper_details_from_arxiv' (which appears to fetch details rather than search), so it doesn't reach the highest score.

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 guidance on when to use this tool versus alternatives. While it mentions semantic search, it doesn't explain when to prefer this over keyword-based search or the sibling tool. There's no mention of prerequisites, limitations, or typical use cases, leaving the agent with minimal context for selection.

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

TDQS

B3.3/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one fetches details for specific Arxiv papers by ID, while the other performs semantic searches on HuggingFace. There is no overlap in functionality or ambiguity between them.

Naming Consistency5/5

Both tools follow a consistent snake_case naming pattern with descriptive verb_noun structures (fetch_paper_details_from_arxiv and semantic_search_papers_on_huggingface). The naming is predictable and readable throughout.

Tool Count2/5

With only two tools, the server feels under-scoped for a paper-related domain. It lacks basic operations like listing papers, filtering, or managing collections, which limits its utility for comprehensive paper handling tasks.

Completeness2/5

The toolset is severely incomplete for paper management. It covers fetching details and searching, but misses essential CRUD operations (e.g., saving, organizing, or annotating papers) and lacks integration between the two sources, leaving significant gaps in workflow coverage.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables reviewing and managing AI research paper candidates from arXiv, Semantic Scholar, and Hugging Face Daily Papers, scored against personal interests, via MCP tools in Claude Desktop or Cowork.
    9
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables searching arXiv and top AI conferences, finding related papers, generating research insights, and managing a personal library via MCP tools.
    5
    51
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables searching arXiv papers, extracting paper information, listing paper topics, and generating structured research prompts through MCP tools, resources, and prompts.
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables LLMs to search arXiv, extract and analyze paper content, and build a personal semantically-searchable research library with saved papers and notes.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jerpint/paperpal'

If you have feedback or need assistance with the MCP directory API, please join our Discord server