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はReadeckのJSON作成APIを生のHTMLのhtmlフィールド付きで使用します(base64/data-URIは動作しません)。ブラウザのUser-Agentを送信してWAF(例: Cloudflareエラー1010)にブロックされないようにし、短時間ポーリングして新しいブックマークのidword_countreading_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モードで必須(フェイルクローズのベアラー)。

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