Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Search Jellyseerr/Overseerr, check availability, and create guarded media requests.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
SEERR_BASE_URL, SEERR_API_KEY, SEERR_REQUEST_TIMEOUT_MS, MCP_LOG_LEVELต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"seerr": {
"command": "npx",
"args": [
"-y",
"@cyanheads/seerr-mcp-server"
],
"env": {
"SEERR_BASE_URL": "ใส่ค่าของคุณ",
"SEERR_API_KEY": "ใส่ค่าของคุณ",
"SEERR_REQUEST_TIMEOUT_MS": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add seerr --env SEERR_BASE_URL='ใส่ค่าของคุณ' --env SEERR_API_KEY='ใส่ค่าของคุณ' --env SEERR_REQUEST_TIMEOUT_MS='ใส่ค่าของคุณ' --env MCP_LOG_LEVEL='ใส่ค่าของคุณ' -- npx -y @cyanheads/seerr-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"seerr": {
"command": "npx",
"args": [
"-y",
"@cyanheads/seerr-mcp-server"
],
"env": {
"SEERR_BASE_URL": "ใส่ค่าของคุณ",
"SEERR_API_KEY": "ใส่ค่าของคุณ",
"SEERR_REQUEST_TIMEOUT_MS": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"seerr": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/seerr-mcp-server"
],
"env": {
"SEERR_BASE_URL": "ใส่ค่าของคุณ",
"SEERR_API_KEY": "ใส่ค่าของคุณ",
"SEERR_REQUEST_TIMEOUT_MS": "ใส่ค่าของคุณ",
"MCP_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
SEERR_REQUEST_TIMEOUT_MS envMCP_LOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub cyanheads ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: SEERR_BASE_URL, SEERR_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.0) เข้า registry 9 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
@cyanheads/seerr-mcp-server Search Jellyseerr/Overseerr, check availability, and create guarded media requests via MCP. STDIO or Streamable HTTP. 6 Tools • 1 Resource • 1 Skill
Request movies and shows through Jellyseerr or Overseerr. Search titles, confirm the exact match, check availability and request status, and submit a request for Radarr or Sonarr to fulfill. Your Seerr instance keeps control of permissions, quotas, and routing.
| Tool | Description |
|---|---|
seerr_search_media | Search movies and TV by title; returns ranked matches with TMDB ID, year, overview, and decoded availability when Jellyseerr already tracks the title. The required first step before requesting. |
seerr_get_media | Fetch exact movie/show details by TMDB ID + media type to confirm the title before a write; for TV, a per-season summary or one season's episode list. |
seerr_list_requests | List recent requests with status/type/requester filters; echoes the applied filters and decodes every numeric status. Titles are opt-in via includeTitles. |
seerr_request_media | Guarded write. Previews the request payload by default (mode: preview); creates the request only on mode: request, and only after an accepted confirmation. |
seerr_request_status | Fetch one request by ID — title, decoded request + media availability (incl. 4K), requester, routing summary, and a state-tuned next-step hint. |
seerr_service_options | Summarize configured Radarr/Sonarr services, default quality profiles, and instance capability flags (4K, partial requests, specials, media server). Filesystem paths redacted unless includePaths. |
| Resource | Description |
|---|---|
seerr://request/{requestId} | Read-once summary of one request — decoded status, media availability, requester, and routing. Mirrors seerr_request_status. |
All request data is also reachable via tools — request enumeration is the job of seerr_list_requests (the tool-only access path).
| Skill | Description |
|---|---|
seerr-guide | Gates for reading availability and request state (regular vs 4K tracks, what openRequest reports), requesting seasons and Specials, who owns server-made requests, the confirmation round, and what a refused submit means. Served as skill://seerr-guide/SKILL.md. |
seerr_search_media toolmediaType: movie | tv | all; people are excluded. page is 1–1000; limit is 1–20, default 10.status / status4k for tracked titles. Empty results return [] with a guidance notice.language selects localized titles and overviews.seerr_get_media toolseasonNumber for a per-season summary, or pass one to fetch that season's episode list (season 0 is Specials)media_not_found with a search-recovery hint (Jellyseerr's raw HTTP 500 is classified in the service layer)seerr_list_requests toolfilter, mediaType, and requestedById; sort by added or modified, ascending or descending. take is 1–100, default 20; skip selects the offset.{ id, displayName }, and an enrichment trailer with applied filters.includeTitles: true joins media titles once per distinct title (default off); unresolved rows retain their data and are disclosed in the notice.seerr_request_media toolmode: preview (default) returns the resolved title and exact POST /request payload without writing. mode: request asks for confirmation bound to the same caller, title and payload; declined, cancelled or invalid answers return request_cancelled.seasons: "all" or a list such as [1, 2]; season 0 (Specials) requires special episodes to be enabled. Instance capability checks run before any POST; existing requests appear in output and duplicate rejections return duplicate_request.serverId, profileId, rootFolder, languageProfileId. Omit them to use Jellyseerr's defaults.seerr_request_status toolrequestId from seerr_request_media's created.requestId or seerr_list_requests. A missing request returns request_not_found.requestStatus, mediaStatus / mediaStatus4k, requester { id, displayName }, routing (serverId, profileName, is4k), and stateGuidance.title on each call; it is absent when no tmdbId exists or the lookup fails.seerr_service_options toolmovie4kEnabled, series4kEnabled, partialRequestsEnabled, specialEpisodesEnabled), and service IDs, defaults and quality profiles.includePaths: true exposes root-folder paths and free space; both are omitted by default.seerr://request/{requestId} resourcerequestId from seerr_request_media or seerr_list_requests; a missing request returns request_not_found.seerr_request_status, including redaction and a title join. title is absent when no tmdbId exists or the lookup fails; resources take no per-read options.Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
HTTP requires stateful sessions for 2025-era confirmation rounds; explicit MCP_SESSION_MODE=stateless fails startup. Consent records expire after ten minutes and changed or replayed records ask again. Redemption excludes concurrent retries in one process; request creation makes one POST attempt without automatic retries. Cross-instance read-and-delete is not atomic: use shared strongly consistent filesystem, Supabase or Cloudflare D1 storage for routed retries, and account for duplicate-submission races; Cloudflare KV is unsuitable for consent records.
Seerr-specific:
{ id, displayName }; operator email, Plex/Jellyfin tokens, and serviceUrl never reach output; filesystem paths are opt-in via includePaths{ raw, label } everywhere, forward-compatible with new Jellyseerr status codesAgent-friendly output:
media_not_found, request_not_found, seasons_required, four_k_not_enabled, duplicate_request, and more carry a recovery hint so callers can branch and retry without parsing proseAdd the following to your MCP client configuration file, pointing SEERR_BASE_URL at your own Jellyseerr or Overseerr instance and supplying its API key.
{
"mcpServers": { "seerr-mcp-server": { "type": "stdio", "command": "bunx", "args": ["@cyanheads/seerr-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info", "SEERR_BASE_URL": "http://localhost:5055", "SEERR_API_KEY": "your-api-key" } } } }
Or with npx (no Bun required):
{
"mcpServers": { "seerr-mcp-server": { "type": "stdio", "command": "npx", "args": ["-y", "@cyanheads/seerr-mcp-server@latest"], "env": { "MCP_TRANSPORT_TYPE": "stdio", "MCP_LOG_LEVEL": "info", "SEERR_BASE_URL": "http://localhost:5055", "SEERR_API_KEY": "your-api-key" } } } }
For Streamable HTTP, set the transport and start the server:
MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 SEERR_BASE_URL=http://localhost:5055 SEERR_API_KEY=your-api-key bun run start:http
git clone https://github.com/cyanheads/seerr-mcp-server.git
cd seerr-mcp-server
bun install
cp .env.example .env
All configuration is validated at startup via Zod schemas in src/config/server-config.ts. Key environment variables:
| Variable | Description | Default |
|---|---|---|
SEERR_BASE_URL | Required. Base URL of the Jellyseerr/Overseerr instance, e.g. http://localhost:5055. The service appends /api/v1 — no /api/v1 suffix, no trailing slash. | — |
SEERR_API_KEY | Required. Jellyseerr API key (Settings → General → API Key). Sent as the X-Api-Key header. | — |
SEERR_REQUEST_TIMEOUT_MS |
ตัดมาแค่ช่วงต้น อ่านต่อใน repo