Skip to main content
Glama
spences10

MCP JinaAI Reader Server

by spences10

mcp-jinaai-reader


⚠️ 공지사항

이 저장소는 더 이상 유지되지 않습니다.

이 도구의 기능은 이제 여러 MCP 도구를 하나의 통합 패키지로 결합한 mcp-omnisearch 에서 사용할 수 있습니다.

대신 mcp-omnisearch를 사용하세요.


Jina.ai의 Reader API를 LLM과 통합하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 문서화 및 웹 콘텐츠 분석에 최적화된 효율적이고 포괄적인 웹 콘텐츠 추출 기능을 제공합니다.

Related MCP server: Jina AI Remote MCP Server

특징

  • 📚 Jina.ai Reader API를 통한 고급 웹 콘텐츠 추출

  • 🚀 빠르고 효율적인 콘텐츠 검색

  • 📄 구조가 보존된 완전한 텍스트 추출

  • 🔄 LLM에 최적화된 깔끔한 형식

  • 🌐 문서를 포함한 다양한 콘텐츠 유형 지원

  • 🏗️ 모델 컨텍스트 프로토콜 기반

구성

이 서버를 사용하려면 MCP 클라이언트를 통한 구성이 필요합니다. 다음은 다양한 환경에 대한 예시입니다.

클라인 구성

Cline MCP 설정에 다음을 추가하세요.

지엑스피1

WSL 구성을 사용한 Claude Desktop

WSL 환경의 경우 Claude Desktop 구성에 다음을 추가하세요.

{
	"mcpServers": {
		"jinaai-reader": {
			"command": "wsl.exe",
			"args": [
				"bash",
				"-c",
				"JINAAI_API_KEY=your-jinaai-api-key npx mcp-jinaai-reader"
			]
		}
	}
}

환경 변수

서버에는 다음 환경 변수가 필요합니다.

  • JINAAI_API_KEY : Jina.ai API 키 (필수)

API

서버는 구성 가능한 매개변수를 사용하여 단일 MCP 도구를 구현합니다.

읽기_URL

Jina.ai Reader를 사용하여 모든 URL을 LLM 친화적인 텍스트로 변환하세요.

매개변수:

  • url (문자열, 필수): 처리할 URL

  • no_cache (부울, 선택 사항): 최신 결과에 대해 캐시를 사용하지 않습니다. 기본값은 false입니다.

  • format (문자열, 선택 사항): 응답 형식("json" 또는 "stream")입니다. 기본값은 "json"입니다.

  • timeout (숫자, 선택 사항): 웹 페이지 로드를 기다리는 최대 시간(초)

  • target_selector (문자열, 선택 사항): 특정 요소에 초점을 맞추는 CSS 선택기

  • wait_for_selector (문자열, 선택 사항): 특정 요소를 기다리는 CSS 선택기

  • remove_selector (문자열, 선택 사항): 특정 요소를 제외하는 CSS 선택기

  • with_links_summary (boolean, 선택 사항): 응답 끝에서 모든 링크를 수집합니다.

  • with_images_summary (boolean, 선택 사항): 응답이 끝날 때 모든 이미지를 수집합니다.

  • with_generated_alt (부울, 선택 사항): 캡션이 없는 이미지에 대체 텍스트를 추가합니다.

  • with_iframe (boolean, 선택 사항): 응답에 iframe 콘텐츠 포함

개발

설정

  1. 저장소를 복제합니다

  2. 종속성 설치:

npm install
  1. 프로젝트를 빌드하세요:

npm run build
  1. 개발 모드에서 실행:

npm run dev

출판

  1. package.json의 버전 업데이트

  2. 프로젝트를 빌드하세요:

npm run build
  1. npm에 게시:

npm publish

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

특허

MIT 라이센스 - 자세한 내용은 LICENSE 파일을 참조하세요.

감사의 말

Available Tools

1 tool
read_urlB

Convert any URL to LLM-friendly text using Jina.ai Reader

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to process
no_cacheNoBypass cache for fresh results
formatNoResponse format (json or stream)json
timeoutNoMaximum time in seconds to wait for webpage load
target_selectorNoCSS selector to focus on specific elements
wait_for_selectorNoCSS selector to wait for specific elements
remove_selectorNoCSS selector to exclude specific elements
with_links_summaryNoGather all links at the end of response
with_images_summaryNoGather all images at the end of response
with_generated_altNoAdd alt text to images lacking captions
with_iframeNoInclude iframe content in response

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic function without disclosing behavioral traits like rate limits, authentication needs, error handling, or performance characteristics. It mentions the external service (Jina.ai Reader) but doesn't explain implications of using a third-party service.

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, efficient sentence that clearly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality, making every word earn its place.

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 complex tool with 11 parameters and no output schema, the description is insufficient. It doesn't explain what 'LLM-friendly text' means in practice, doesn't describe the response format, and provides no guidance on parameter interactions or error cases. The lack of output schema increases the need for more descriptive context.

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 100%, providing comprehensive parameter documentation. The description adds no parameter-specific information beyond the schema, maintaining the baseline score. It doesn't explain relationships between parameters or provide usage examples.

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 purpose with specific verb ('Convert') and resource ('any URL') while specifying the method ('using Jina.ai Reader') and output format ('LLM-friendly text'). It distinguishes this as a URL-to-text conversion tool with no siblings to differentiate from.

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 usage context ('Convert any URL to LLM-friendly text') but provides no explicit guidance on when to use this tool versus alternatives, prerequisites, or limitations. With no sibling tools, the baseline is adequate but lacks specific usage scenarios.

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. 1 tool updatev1.0.0
    • First observedread_url

TDQS

B3.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool's purpose is clearly defined and distinct by default.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare against. The tool name 'read_url' follows a clear verb_noun pattern.

Tool Count2/5

One tool is too few for a server with a purpose that could reasonably support more operations, such as handling different URL types or providing metadata extraction. This minimal set feels thin and under-scoped for the domain.

Completeness2/5

The server's domain appears to be URL content reading, but the single tool only covers basic text conversion. There are obvious gaps, such as no tools for handling errors, extracting structured data, or managing different content formats, which limits agent effectiveness.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Integrates Jina.ai's Grounding API with LLMs for real-time, fact-based web content grounding and analysis, enhancing LLM responses with precise, verified information.
    1
    31 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to Jina AI's web reading, search, embeddings, and reranking capabilities. Enables URL content extraction, web/arXiv/image search, document deduplication, and relevance ranking through natural language.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides web content extraction, search capabilities (web, arXiv, SSRN, images), semantic deduplication, and reranking through Jina AI's Reader, Embeddings, and Reranker APIs.
    1
    Apache 2.0