Skip to main content
Glama
alozur
by alozur

Readeck MCP

Readeck 라이브러리를 AI 에이전트용 읽기/쓰기 지식 베이스로 바꿔주는 MCP 서버입니다. 에이전트가 생성한 HTML을 Readeck에 바로 저장하고(LLM이 자동 태깅), 나중에 해당 문서를 다시 검색하고 읽을 수 있습니다. FastMCP로 제작되어, 동일한 코드가 로컬 stdio 서버 또는 리버스 프록시 뒤의 원격 HTTP 서버로 실행됩니다.

기존 Readeck MCP(읽기 전용 리딩 어시스턴트)와 달리, 이 서버는 에이전트가 생성한 HTML을 수집하고 고정된 분류 체계에서 LLM으로 자동 라벨링합니다.

도구

도구

용도

readeck_save(html, title, labels?, url?, auto_label?)

원시 HTML을 읽을 수 있는 북마크로 저장. 라벨이 없으면 자동 라벨링.

readeck_read(query, only_own?, max_results?, max_chars?)

검색: 가장 일치하는 문서를 찾아 전체 읽기 텍스트 반환.

readeck_search(query, limit?)

라이브러리 검색(메타데이터만).

readeck_list_labels()

기존 라벨과 개수 나열.

readeck_save는 원시 HTML html 필드가 포함된 Readeck의 JSON 생성 API를 사용합니다(base64/data-URI는 작동하지 않음). WAF(예: Cloudflare 오류 1010)가 차단하지 않도록 브라우저 User-Agent를 전송하고, 새 북마크 id, word_count, reading_url을 반환하기 위해 잠시 폴링합니다.

Related MCP server: Doc Monitor MCP

자동 라벨링

labels 없이 readeck_save를 호출하면 LLM이 문서를 분류합니다. 설계상 주입에 강합니다: 모델은 고정된 분류 체계(LABEL_TAXONOMY)에서만 선택할 수 있고, 결과는 서버 측에서 해당 목록과 교차 검증되므로 어휘 외 라벨은 불가능합니다. 출처 라벨(ORIGIN_LABEL, 기본값 propio)은 LLM이 아닌 코드로 항상 추가됩니다.

공급자 중립적(OpenAI 호환 또는 Anthropic). Groq 같은 무료 티어에서도 작동합니다. gpt-oss 같은 추론 모델의 경우 넉넉한 LLM_MAX_TOKENS를 설정하면 서버가 자동으로 reasoning_effort: low를 전송합니다.

안전장치

  • 실패 시 폐쇄되는 HTTP 인증: HTTP 전송에서 모든 도구 호출은 Authorization: Bearer $MCP_AUTH_TOKEN(상수 시간 비교)이 필요합니다.

  • 입력 검증: HTML 크기 제한, 비-HTML 거부, URL 스킴 허용 목록, 라벨 정리 + 제한.

  • 프로세스당 토큰 버킷 속도 제한.

  • LLM 호출은 429/5xx에서 백오프로 재시도하고 우아하게 저하됩니다(라벨링은 최선 노력이며, 실패해도 저장을 차단하지 않음).

구성(환경)

변수

기본값

참고

READECK_URL

http://localhost:8000

Readeck 기본 URL.

READECK_TOKEN

필수. Readeck → 설정 → API 토큰.

READECK_MCP_TRANSPORT

stdio

stdio 또는 http.

READECK_MCP_HOST / READECK_MCP_PORT

0.0.0.0 / 8787

http 모드 전용.

MCP_AUTH_TOKEN

http 모드에서 필수(실패 시 폐기되는 bearer).

AUTO_LABEL

true

LLM 자동 라벨링 활성화.

ORIGIN_LABEL

propio

항상 추가되는 출처 라벨.

LABEL_TAXONOMY

config.py 참조

쉼표로 구분된 폐쇄 어휘.

MAX_AUTO_LABELS

3

문서당 최대 LLM 주제.

LLM_PROVIDER

anthropic

anthropic 또는 openai(OpenAI 호환).

LLM_BASE_URL

https://api.anthropic.com

openai의 경우 버전 접두사 포함(예: .../v1).

LLM_MODEL

claude-haiku-4-5

선택한 공급자의 모든 채팅 모델.

LLM_API_KEY

LLM 공급자 키.

LLM_MAX_TOKENS / LLM_TEXT_CHARS

2000 / 3000

출력 예산 / 전송되는 입력 텍스트.

로컬(stdio)

READECK_TOKEN=... uv run --script server.py --selftest   # smoke test

MCP 클라이언트(mcpServers)에 등록합니다. 예:

{
  "mcpServers": {
    "readeck": {
      "command": "uv",
      "args": ["run", "--script", "/path/to/readeck-mcp/server.py"],
      "env": { "READECK_URL": "https://readeck.example.com", "READECK_TOKEN": "..." }
    }
  }
}

원격(HTTP / Docker)

READECK_MCP_TRANSPORT=http로 실행합니다(Dockerfile 참조). 리버스 프록시/터널 뒤에 예: https://mcp-readeck.example.com에 배치합니다. Readeck과 함께 배치할 때는 READECK_URL=http://readeck:8000로 설정하여 공개 왕복을 건너뜁니다. 클라이언트를 엔드포인트로 지정합니다:

{
  "mcpServers": {
    "readeck": {
      "type": "http",
      "url": "https://mcp-readeck.example.com/mcp",
      "headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
    }
  }
}

참고: 엔드포인트 경로를 후행 슬래시 없이 사용하세요(/mcp/가 아닌 /mcp). 일부 프록시는 후행 슬래시 리디렉트를 307로 바꿔 스트리밍 가능한 HTTP 클라이언트를 깨뜨립니다.

엔드포인트를 노출하기 전에 항상 강력한 MCP_AUTH_TOKEN을 설정하세요. 토큰은 라이브러리에 대한 쓰기 액세스를 부여합니다.

라이선스

MIT

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

  • Shared knowledge base for AI agents. Semantic search across agents, no setup required — just a URL.

View all MCP Connectors

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/alozur/readeck-mcp'

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