체코-슬로바키아 영화 데이터베이스에서 영화, TV 시리즈, 제작자 및 사용자 평점에 대한 AI 클라이언트의 접근을 지원합니다.
다른 이름 bartholomej/node-csfd-api, node-csfd-api
- 스타
- 66
- Tools
- 8
- 다운로드, 30일
- —
- 최신 버전
- 5.16.0
- 마지막 커밋
- 2026년 11월 12일
- 라이선스
- MIT
ČSFD MCP란?
ČSFD은(는) MCP server입니다. 체코-슬로바키아 영화 데이터베이스에서 영화, TV 시리즈, 제작자 및 사용자 평점에 대한 AI 클라이언트의 접근을 지원합니다. 8개 도구를 제공합니다. 예: search, get_movie, get_creator.
프로젝트 README에서 생성된 요약
ČSFD MCP server 정보
이 MCP server는 체코-슬로바키아 영화 데이터베이스에서 영화 상세 정보, TV 시리즈 정보 및 제작자 약력을 가져올 수 있게 합니다. Claude Desktop과 같은 AI 클라이언트가 ČSFD 데이터베이스와 상호작용하여 필모그래피, 사용자 평점, 리뷰를 포함한 포괄적인 데이터를 검색할 수 있도록 지원합니다.
사용자는 영화, 시리즈 또는 특정 제작자에 대해 광범위한 검색을 수행하거나, 특정 ID 또는 slug를 사용하여 상세 정보를 조회할 수 있습니다. 또한 최고, 최악, 최다 즐겨찾기 또는 가장 논란이 되는 콘텐츠와 같은 특화된 차트에 접근할 수 있습니다. 이 server는 Node.js 환경에서 사용하도록 설계되었으며, Docker 컨테이너를 통해 배포하여 로컬 또는 원격 워크플로우에 쉽게 통합할 수 있습니다.
활용 사례
- 1영화 콘텐츠 검색검색어를 사용하여 데이터베이스 내의 영화, TV 시리즈 또는 특정 사용자를 찾습니다.
- 2제작자 약력 조회감독 또는 배우의 약력과 전체 필모그래피를 포함한 상세 정보를 가져옵니다.
- 3영화 인기 차트 분석커뮤니티 순위를 기반으로 평점이 가장 높거나 낮은 영화 및 시리즈를 식별합니다.
- 4특정 영화 메타데이터 가져오기장르, 제작 국가, 출연진 등 특정 영화에 대한 상세 메타데이터를 가져옵니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
ČSFD MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 ČSFD MCP 설치
$ claude mcp add node-csfd-api -- npx -y node-csfd-apiCursor에 ČSFD MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"node-csfd-api": {
"command": "npx",
"args": [
"-y",
"node-csfd-api"
]
}
}
}VS Code에 ČSFD MCP 설치
.vscode/mcp.json
{
"servers": {
"node-csfd-api": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"node-csfd-api"
]
}
}
}VS Code CLI에 ČSFD MCP 설치
$ code --add-mcp '{"name":"node-csfd-api","type":"stdio","command":"npx","args":["-y","node-csfd-api"]}'Claude Desktop에 ČSFD MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"node-csfd-api": {
"command": "npx",
"args": [
"-y",
"node-csfd-api"
]
}
}
}Codex에 ČSFD MCP 설치
$ codex mcp add node-csfd-api -- npx -y node-csfd-apiCodex config.toml에 ČSFD MCP 설치
~/.codex/config.toml
[mcp_servers.node-csfd-api] command = "npx" args = ["-y", "node-csfd-api"]
Gemini CLI에 ČSFD MCP 설치
$ gemini mcp add -s user node-csfd-api npx -- -y node-csfd-apiGemini settings.json에 ČSFD MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"node-csfd-api": {
"command": "npx",
"args": [
"-y",
"node-csfd-api"
]
}
}
}ČSFD MCP 도구 8
README에서 감지됨searchget_movieget_creatorget_userget_user_ratingsget_user_reviewsget_cinemasget_chart
| search | — | |
| get_movie | — | |
| get_creator | — | |
| get_user | — | |
| get_user_ratings | — | |
| get_user_reviews | — | |
| get_cinemas | — | |
| get_chart | — |
자동 검사
2026년 11월 12일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용검사되지 않음
- 파괴적인 도구에 라벨 표시됨통과
- 모델에 대한 숨겨진 지침 없음통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음통과
README
GitHub에서 보기CSFD API 🎬 + CSFD Export 💾 + CSFD MCP 🤖
Modern TypeScript NPM library for scraping CSFD.CZ. Scraper, API Rest Server, Exporter and MCP Server in one package. (unofficial)
Features • Installation • Quick Start • API Reference • CLI • MCP Server • Docker
✨ Features
- 🎯 Type-safe - Full TypeScript support with type definitions
- 🧪 Well-tested - ~100% code coverage
- 🚀 Universal - Works in Node.js, browsers, and serverless environments
- 🐳 Docker ready - Pre-built Docker images available
- 🍺 Homebrew support - Easy globally installed CLI via Homebrew tap
- 🤖 MCP Server - Use CSFD data directly within LLMs like Claude Desktop
- 🔄 Modern API - Promise-based with async/await support
- 📦 Few dependencies - Lightweight and efficient
Supported Platforms
- Node.js (ESM & CommonJS)
- Browsers (with CORS considerations)
- Docker containers
- macOS/Linux CLI (via Homebrew)
- MCP Server (Claude Desktop, etc.)
- Serverless (Firebase Functions, AWS Lambda, CloudFlare Workers, etc.)
- Chrome Extensions
- React Native (Yes, with Expo too!)
📦 Installation
npm install node-csfd-api
# yarn add node-csfd-api
# pnpm add node-csfd-api
🚀 Quick Start
import { csfd } from 'node-csfd-api';
// Fetch movie details
const movie = await csfd.movie(535121);
console.log(movie.title); // "Na špatné straně"
// Search for content
const results = await csfd.search('Tarantino');
console.log(results.movies, results.tvSeries, results.users);
// Get creator info
const creator = await csfd.creator(2120);
console.log(creator.name); // "Quentin Tarantino"
// Get user ratings
const ratings = await csfd.userRatings('912');
console.log(ratings);
// Get user reviews
const reviews = await csfd.userReviews('195357-verbal');
console.log(reviews);
📖 Table of Contents
- Movie Details
- Search
- Creators
- Charts
- User
- User Ratings
- User Reviews
- Language & Request Options
- Error Handling
- Browser Verification Cookie
- CLI Tools
- MCP Server
- Docker Support
- REST API
- Development
📚 API Reference
Movie
Retrieve comprehensive information about a movie or TV series by its ČSFD ID.
Method: csfd.movie(id: number | string, options?: CSFDOptions): Promise<CSFDMovie>
The ID can be a number, a slug ('535121-na-spatne-strane') or a full ČSFD URL. The same works for creators and users.
import { csfd } from 'node-csfd-api';
// Using async/await
const movie = await csfd.movie(535121);
// Alternatively, using promises
csfd.movie(535121).then((movie) => console.log(movie));
{
id: 535121,
title: 'Na špatné straně',
year: '2018',
descriptions: [
'Otupělý policejní veterán Ridgeman (Mel Gibson)...',
'Brett je policajt tesne ...'
],
genres: [ 'Krimi', 'Drama', 'Thriller' ],
type: 'film',
url: 'https://www.csfd.cz/film/535121',
origins: [ 'USA', 'Kanada' ],
colorRating: 'good',
rating: 73,
ratingCount: 6654,
photo: '//image.pmgstatic.com/cache/resized/w1326/files/images/film/photos/162/980/162980090_bbffbb.jpg',
trivia: ['Když Henry (Tory Kittles) se svým mladším bratrem...', 'Ve filmu se střídají...'],
titlesOther: [
{ country: 'USA', title: 'Dragged Across Concrete' },
{ country: 'Kanada', title: 'Dragged Across Concrete' },
{ country: 'Slovensko', title: 'Na zlej strane' },
{ country: 'Austrálie', title: 'Dragged Across Concrete' },
{ country: 'Velká Británie', title: 'Dragged Across Concrete' }
],
poster: 'https://image.pmgstatic.com/cache/resized/w1080/files/images/film/posters/163/579/163579352_bf8737.jpg',
creators: {
directors: [
{
id: 87470,
name: 'S. Craig Zahler',
url: 'https://www.csfd.cz/tvurce/87470-s-craig-zahler/'
}
],
actors: [
{
id: 1,
name: 'Mel Gibson',
url: 'https://www.csfd.cz/tvurce/1-mel-gibson/'
}
],
basedOn: [],
writers: [
{
id: 87470,
name: 'S. Craig Zahler',
url: 'https://www.csfd.cz/tvurce/87470-s-craig-zahler/'
}
],
music: [
{
id: 203209,
name: 'Jeff Herriott',
url: 'https://www.csfd.cz/tvurce/203209-jeff-herriott/'
}
],
producers: [
{
id: 320006,
name: 'Sefton Fincham',
url: 'https://www.csfd.cz/tvurce/320006-sefton-fincham/'
}
]
},
vod: [
{
title: 'Voyo',
url: 'https://voyo.nova.cz/filmy/4604-na-spatne-strane'
},
{
title: 'DVD',
url: 'https://filmy.heureka.cz/na-spatne-strane-dvd/#utm_source=csfd.cz&utm_medium=cooperation&utm_campaign=csfd_movies_feed'
}
],
tags: ['město', 'sledování'],
premieres: [
{
country: 'Česko',
format: 'Na Blu-ray',
date: '07.08.2019',
company: 'Magic Box'
},
{
country: 'USA',
format: 'V kinech',
date: '22.03.2019',
company: 'Lionsgate US'
}
]
}
Search
Search for movies, TV series, creators and users across the ČSFD database.
Method: csfd.search(query: string, options?: CSFDOptions): Promise<CSFDSearch>
import { csfd } from 'node-csfd-api';
const results = await csfd.search('bart');
// Access different result types
console.log(results.movies); // Array of movies
console.log(results.tvSeries); // Array of TV series
console.log(results.users); // Array of users
[
{
id: 19653,
title: 'Black Bart',
year: '1975',
url: 'https://www.csfd.cz/film/19653-black-bart/',
type: 'tv-film',
colorRating: 'bad',
poster: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
origins: ['USA'],
creators: {
directors: [{
id: 87470,
name: 'S. Craig Zahler',
url: 'https://www.csfd.cz/tvurce/87470-s-craig-zahler/'
}],
actors: [{
id: 1,
name: 'Mel Gibson',
url: 'https://www.csfd.cz/tvurce/1-mel-gibson/'
}]
}
}
],
tvSeries: [
{
id: 71924,
title: 'Království',
year: 1994,
url: 'https://www.csfd.cz/film/71924-kralovstvi/',
type: 'series',
colorRating: 'good',
poster: 'https://image.pmgstatic.com/cache/resized/w60h85/files/images/film/posters/166/708/166708064_2da697.jpg',
origins: ['Dánsko'],
creators: []
}
],
users: [
{
id: 912,
user: 'BART!',
userRealName: 'Lukáš Barták',
avatar: 'https://image.pmgstatic.com/cache/resized/w45h60/files/images/user/avatars/000/281/281554_1c0fef.jpg',
url: 'https://www.csfd.cz/uzivatel/912-bart/'
}
]
Creators
Get detailed information about a creator including their biography and filmography.
Method: csfd.creator(id: number | string, options?: CSFDOptions): Promise<CSFDCreator>
import { csfd } from 'node-csfd-api';
const creator = await csfd.creator(2120); // Quentin Tarantino
console.log(creator.name); // Name
console.log(creator.bio); // Biography
console.log(creator.films); // Filmography
console.log(creator.birthday); // Birth date
// ... many more properties, see example
{
id: 2120,
name: 'Quentin Tarantino',
birthday: '27.03.1963',
birthplace: 'Knoxville, Tennessee, USA',
photo: 'https://image.pmgstatic.com/cache/resized/w100h132crop/files/images/creator/photos/164/515/164515525_b98f8a.jpg',
age: 58,
bio: 'Quentin Tarantino se narodil 27. března roku 1963 v americkém Knoxville teprve šestnáctileté Connie Tarantinové. Své jméno Quentin dostal podle matčiny oblíbené televizní postavy Quinta ze seriálu "Gunsmoke". Quentinův otec byl jistý Tony Tarantino, který rodinu opustil když byl Quentin ještě malinký. Jeho dětství a dospívání ovlivnily nejen filmy, ale pop kultura obecně. Televizní seriály, komiksy, populární hudba, to vše jako mladý hltal ve velkém a stále neměl…',
films: [
{
id: 527699,
title: 'Tenkrát v Hollywoodu',
year: 2019,
colorRating: 'good'
},
{
id: 362228,
title: 'Osm hrozných',
year: 2015,
colorRating: 'good'
},
{
id: 294824,
title: 'Nespoutaný Django',
year: 2012,
colorRating: 'good'
},
{
id: 117077,
title: 'Hanebný pancharti',
year: 2009,
colorRating: 'good'
},
{
id: 229384,
title: 'Grindhouse: Auto zabiják',
year: 2007,
colorRating: 'average'
},
{
id: 178904,
title: 'Sin City - město hříchu',
year: 2005,
colorRating: 'good'
},
{
id: 136304,
title: 'Kill Bill 2',
year: 2004,
colorRating: 'good'
},
{ id: 43483, title: 'Kill Bill', year: 2003, colorRating: 'good' },
{
id: 8850,
title: 'Jackie Brown',
year: 1997,
colorRating: 'good'
},
{
id: 7743,
title: 'Čtyři pokoje',
year: 1995,
colorRating: 'good'
},
{
id: 8852,
title: 'Pulp Fiction: Historky z podsvětí',
year: 1994,
colorRating: 'good'
}
]
}
Charts
ČSFD's charts of movies and series: the best and worst rated, the most favourited and the most controversial.
Method: csfd.chart(type: CSFDChartType, category: CSFDChartCategory, config?: CSFDChartConfig, options?: CSFDOptions): Promise<CSFDChartItem[]>
import { csfd } from 'node-csfd-api';
const best = await csfd.chart('movies', 'best'); // places 1–99
const worstSeries = await csfd.chart('series', 'worst', { limit: 10 });
const top300 = await csfd.chart('movies', 'best', { limit: 300 });
console.log(best[0].title); // Vykoupení z věznice Shawshank
console.log(best[0].rating); // 95.4
type:'movies'or'series'category:'best','worst','favorite'or'controversial'config.limit: how many places from the top. By default it's ČSFD's first page, places 1–99, in one request. Each further hundred takes another request, and the whole chart of 1000 places takes ten.
The favourite chart ranks by fans: its items have fans and no rating or ratingCount.
[
{
position: 1,
id: 2294,
title: 'Vykoupení z věznice Shawshank',
year: 1994,
url: 'https://www.csfd.cz/film/2294/prehled/',
type: 'film',
colorRating: 'good',
poster:
'https://image.pmgstatic.com/cache/resized/w1080/files/images/film/posters/162/505/162505167_735db9.jpg',
origins: ['USA'],
genres: ['Drama', 'Krimi'],
creators: {
directors: [
{
id: 2869,
name: 'Frank Darabont',
url: 'https://www.csfd.cz/tvurce/2869-frank-darabont/prehled/'
}
],
actors: [
{
id: 103,
name: 'Tim Robbins',
url: 'https://www.csfd.cz/tvurce/103-tim-robbins/prehled/'
},
{
id: 92,
name: 'Morgan Freeman',
url: 'https://www.csfd.cz/tvurce/92-morgan-freeman/prehled/'
}
]
},
rating: 95.4,
ratingCount: 116917,
fans: null
}
// …
];
User
Get a user's public ČSFD profile: nickname, real name, avatar, member since and totals.
Method: csfd.user(user: number | string, options?: CSFDOptions): Promise<CSFDUser>
import { csfd } from 'node-csfd-api';
const user = await csfd.user(912); // also '912-bart' or a profile URL
console.log(user.user); // Nickname
console.log(user.userRealName); // Real name
console.log(user.ratingsCount); // All ratings, not just the first page
{
id: 912,
user: 'BART!',
userRealName: 'Lukáš Barták',
avatar: 'https://image.pmgstatic.com/cache/resized/w100h132/files/images/user/avatars/000/281/281554_1c0fef.jpg',
url: 'https://www.csfd.cz/uzivatel/912-bart/',
location: 'Byen København, Hovedstaden, Dánsko',
about: 'Danskjävlar',
memberSince: '2003-03-15',
ratingsCount: 3132,
reviewsCount: 12,
fans: 54,
points: 31
}
Fields a profile doesn't show (no real name, no reviews yet) are null.
User Ratings
Retrieve user ratings from their ČSFD profile.
Method: csfd.userRatings(user: number | string, config?: CSFDUserRatingConfig, options?: CSFDOptions): Promise<CSFDUserRatings[]>
Basic Usage
import { csfd } from 'node-csfd-api';
// Latest ratings (first page, ~50 items)
const ratings = await csfd.userRatings('912-bart');
Advanced Options
// Get specific page
const page2 = await csfd.userRatings('912-bart', { page: 2 });
// Get all ratings (use with caution - rate limiting applies)
const allRatings = await csfd.userRatings('912-bart', {
allPages: true,
allPagesDelay: 2000 // 2 second delay between requests
});
// Filter by content type
const onlyMovies = await csfd.userRatings('912-bart', {
includesOnly: ['film']
});
const excludeEpisodes = await csfd.userRatings('912-bart', {
excludes: ['episode', 'season']
});
⚠️ Be considerate:
allPagessends one request per page. Keep a delay between them (allPagesDelay) so you don't put unnecessary load on ČSFD.
[
{
id: 812944,
title: 'David Attenborough: Život na naší planetě',
year: 2020,
type: 'film',
url: 'https://www.csfd.cz/film/812944-david-attenborough-zivot-na-nasi-planete/',
colorRating: 'good',
userDate: '2020-11-01',
userRating: 5
},
{
id: 912552,
title: 'Coronation',
year: 2020,
type: 'film',
url: 'https://www.csfd.cz/film/912552-coronation/',
colorRating: 'good',
userDate: '2020-10-28',
userRating: 4
}
];
CSFDUserRatingConfig
| Option | Type | Default | Description |
|---|---|---|---|
includesOnly |
CSFDFilmTypes[] |
null |
Include only specific content types (e.g., ['film', 'series']) |
excludes |
CSFDFilmTypes[] |
null |
Exclude specific content types (e.g., ['episode']) |
allPages |
boolean |
false |
Fetch all pages of ratings |
allPagesDelay |
number |
0 |
Delay between page requests in milliseconds |
page |
number |
1 |
Fetch specific page number |
onProgress |
(page: number, total: number) => void |
undefined |
Called on each page fetch — use for progress bars or logging |
📝 Note:
includesOnlyandexcludesare mutually exclusive. If both are provided,includesOnlytakes precedence.🔗 See CSFDFilmTypes definition
User Reviews
Retrieve detailed user reviews from their ČSFD profile.
Method: csfd.userReviews(user: number | string, config?: CSFDUserReviewsConfig, options?: CSFDOptions): Promise<CSFDUserReviews[]>
Basic Usage
import { csfd } from 'node-csfd-api';
// Get latest reviews
const reviews = await csfd.userReviews(195357);
Advanced Options
// Get specific page
const page2 = await csfd.userReviews(195357, { page: 2 });
// Get all reviews with rate limiting
const allReviews = await csfd.userReviews(195357, {
allPages: true,
allPagesDelay: 2000
});
// Filter by content type
const filtered = await csfd.userReviews(195357, {
excludes: ['episode', 'season']
});
[
{
id: 1391448,
title: 'Co s Péťou?',
year: 2025,
type: 'film',
url: 'https://www.csfd.cz/film/1391448-co-s-petou/prehled/',
colorRating: 'good',
userDate: '2025-11-27',
userRating: 4,
text: 'Co s Péťou? Inu, co by? Každý normální Sparťan by to okamžitě...',
poster:
'https://image.pmgstatic.com/cache/resized/w240h339/files/images/film/posters/170/492/170492173_1l3djd.jpg'
},
{
id: 1530416,
title: 'Kouzlo derby',
year: 2025,
type: 'film',
url: 'https://www.csfd.cz/film/1530416-kouzlo-derby/prehled/',
colorRating: 'average',
userDate: '2025-11-26',
userRating: 1,
text: 'Typické kolečkoidní sebevykradačské pásmo klišovitých...',
poster:
'https://image.pmgstatic.com/cache/resized/w240h339/files/images/film/posters/170/230/170230377_cimu90.jpg'
}
];
CSFDUserReviewsConfig
Same options as CSFDUserRatingConfig.
Language & Request Options
Every method accepts CSFDOptions as its last argument:
| Option | Type | Description |
|---|---|---|
language |
'cs' | 'en' | 'sk' |
Language of titles, genres etc. (default cs) |
request |
RequestInit |
Extra fetch options, e.g. custom headers or an abort signal |
import { csfd } from 'node-csfd-api';
// For a single call
const movie = await csfd.movie(535121, { language: 'en' });
const ratings = await csfd.userRatings(912, { page: 2 }, { language: 'sk' });
// For all subsequent calls
csfd.setOptions({ language: 'en' });
Error Handling
When a page can't be fetched, methods reject with a CsfdError. Its reason tells you why:
reason |
Meaning |
|---|---|
not-found |
The movie, creator or user doesn't exist (HTTP 404) |
blocked |
ČSFD declined the request, e.g. too many requests |
http |
ČSFD answered with another error status |
network |
The request didn't complete (offline, DNS, timeout, …) |
import { csfd, CsfdError } from 'node-csfd-api';
try {
await csfd.movie(999999999);
} catch (error) {
if (error instanceof CsfdError && error.reason === 'not-found') {
console.log(`Not found: ${error.url} (HTTP ${error.status})`);
}
}
Browser Verification Cookie
ČSFD sometimes asks visitors to complete a short browser verification. The library completes it automatically and reuses the resulting cookie for the following requests. The cookie is tied to your IP address and stays valid for about a week, so you can keep it between runs:
import { getAnubisCookie, resetAnubisCookie, setAnubisCookie } from 'node-csfd-api';
const cookie = getAnubisCookie(); // Save it, e.g. to a file or a database
setAnubisCookie(cookie); // Restore it on the next start
resetAnubisCookie(); // Forget it and verify again on the next request
💻 CLI Tools
This library ships with a CLI exposing several tools. Choose the installation method that fits your workflow.
Installation
Option A: npx (no installation required)
Runs directly via Node.js
npx node-csfd-api <command>
Option B: Homebrew (macOS & Linux)
brew install bartholomej/tap/csfd
Option C: Install script (macOS & Linux)
Installs the latest stable release as a standalone binary to
~/.local/bin/csfd.
curl -fsSL https://raw.githubusercontent.com/bartholomej/node-csfd-api/master/install.sh | bash
## Install specific version
# curl -fsSL https://raw.githubusercontent.com/bartholomej/node-csfd-api/master/install.sh | CSFD_VERSION=5.5.0 bash
Option D: Windows (manual download)
Download csfd-windows-x64.zip from the latest release, extract csfd.exe, and add it to your PATH.
⚠️ Windows may show a SmartScreen warning ("Windows protected your PC") because the binary is not code-signed. To proceed: click More info → Run anyway. Alternatively, right-click the
.exe→ Properties → check Unblock.
CLI Examples
💡 The examples below use
csfd(Options B, C & D). If you use npx, replace it withnpx node-csfd-api— e.g.npx node-csfd-api export ratings 912.
1. Search
csfd search tarantino
# npx node-csfd-api search tarantino
csfd search "blade runner" --json # raw JSON output
# npx node-csfd-api search "blade runner" --json
2. Movie Details
csfd movie 535121 # by ID
# npx node-csfd-api movie 535121
csfd movie "blade runner" # by title — searches and shows the top result
# npx node-csfd-api movie "blade runner"
csfd movie 535121 --json # raw JSON output, pipe-friendly
# npx node-csfd-api movie 535121 --json
3. User Profile
csfd user 912 # by ID, slug (912-bart) or profile URL
# npx node-csfd-api user 912
csfd user 912 --json # raw JSON output
# npx node-csfd-api user 912 --json
4. Export Ratings (CSV, JSON & Letterboxd)
Backup your personal user ratings. Use this tool just to keep a local copy of your data.
csfd export ratings 912 # CSV (default) -> <userId>-ratings.csv
# npx node-csfd-api export ratings 912
csfd export ratings 912 --json # JSON -> <userId>-ratings.json
# npx node-csfd-api export ratings 912 --json
csfd export ratings 912 --letterboxd # Letterboxd CSV -> <userId>-for-letterboxd.csv
# npx node-csfd-api export ratings 912 --letterboxd
5. Export Reviews (CSV & JSON)
csfd export reviews 912 # CSV (default) -> <userId>-reviews.csv
# npx node-csfd-api export reviews 912
csfd export reviews 912 --json # JSON -> <userId>-reviews.json
# npx node-csfd-api export reviews 912 --json
6. REST API Server
csfd server
# npx node-csfd-api server
7. MCP Server for AI Agents
csfd mcp
# npx node-csfd-api mcp
🤖 MCP Server (Model Context Protocol)
This library includes a built-in Model Context Protocol (MCP) server. This allows you to use ČSFD data directly within LLMs like Claude Desktop.
ČSFD MCP 질문
ČSFD MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add node-csfd-api -- npx -y node-csfd-api를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
ČSFD MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
ČSFD MCP는 어떤 도구를 제공하나요?
8개 도구를 제공합니다. 예: search, get_movie, get_creator, get_user, get_user_ratings.
이 server로 무엇을 검색할 수 있나요?
ČSFD 데이터베이스 전반에서 영화, TV 시리즈, 제작자 및 사용자를 검색할 수 있습니다.
특정 영화 제작자에 대한 정보를 얻을 수 있나요?
네, 제작자의 약력과 필모그래피를 포함한 상세 정보를 가져올 수 있습니다.
영화 차트를 지원하나요?
네, 최고, 최악, 최다 즐겨찾기, 가장 논란이 되는 영화 및 시리즈 등 ČSFD 차트에 접근할 수 있습니다.