Skip to main content
Glama

Content Core

License: MIT PyPI version Downloads Downloads GitHub stars GitHub forks GitHub issues Ruff

통합 비동기 Python API, CLI 또는 MCP 서버를 통해 URL, 파일 및 텍스트에서 콘텐츠를 추출, 처리 및 요약합니다.

지원 형식

카테고리

형식

URL, HTML 페이지, YouTube 비디오, Reddit 게시물

문서

PDF, DOCX, PPTX, XLSX, EPUB, Markdown, 일반 텍스트

미디어

MP3, WAV, M4A, FLAC, OGG (오디오); MP4, AVI, MOV, MKV (비디오)

Related MCP server: Fetch MCP Server

빠른 시작

pip install content-core
import content_core

result = await content_core.extract_content(url="https://example.com")
print(result.content)

또는 설치 없이 사용:

uvx content-core extract "https://example.com"

CLI 사용법

Content Core는 추출, 요약 및 MCP 서버를 위한 하위 명령어가 포함된 통합 content-core 명령어를 제공합니다.

추출

# From a URL
content-core extract "https://example.com"

# From a file
content-core extract document.pdf

# With JSON output
content-core extract document.pdf --format json

# With a specific engine
content-core extract "https://example.com" --engine firecrawl

# From stdin
echo "some text" | content-core extract

요약

# Summarize text
content-core summarize "Long article text here..."

# With context
content-core summarize "Long text" --context "bullet points"

# From stdin
cat article.txt | content-core summarize --context "explain to a child"

MCP 서버

content-core mcp

구성

# Set persistent config
content-core config set llm_provider anthropic
content-core config set llm_model claude-sonnet-4-20250514

# List current config
content-core config list

# Delete a config value
content-core config delete llm_provider

설정은 ~/.content-core/config.toml에 저장됩니다. 우선순위: 명령 플래그 > 환경 변수 > 설정 파일 > 기본값.

uvx를 사용한 무설치 실행

모든 명령어는 uvx를 사용하여 설치 없이 작동합니다:

uvx content-core extract "https://example.com"
uvx content-core summarize "text" --context "one sentence"
uvx content-core mcp

Python API

추출

import content_core

# From a URL
result = await content_core.extract_content(url="https://example.com")

# From a file
result = await content_core.extract_content(file_path="document.pdf")

# From text
result = await content_core.extract_content(content="some text")

# With engine override
from content_core import ContentCoreConfig
config = ContentCoreConfig(url_engine="firecrawl")
result = await content_core.extract_content(url="https://example.com", config=config)

요약

import content_core

summary = await content_core.summarize("long article text", context="bullet points")

구성

from content_core import ContentCoreConfig

config = ContentCoreConfig(
    url_engine="firecrawl",
    document_engine="docling",
    audio_concurrency=5,
)
result = await content_core.extract_content(url="https://example.com", config=config)

MCP 통합

Content Core는 Claude Desktop 및 기타 MCP 호환 애플리케이션에서 사용할 수 있는 MCP(Model Context Protocol) 서버를 포함합니다.

claude_desktop_config.json에 추가하세요:

{
  "mcpServers": {
    "content-core": {
      "command": "uvx",
      "args": ["content-core", "mcp"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

MCP 서버는 extract_contentsummarize_content라는 두 가지 도구를 제공합니다. 둘 다 일반 텍스트를 반환합니다.

자세한 설정은 MCP 문서를 참조하세요.

Claude Code 스킬

Content Core는 AI 에이전트가 외부 소스에서 콘텐츠를 추출하는 방법을 학습할 수 있는 SKILL.md를 포함합니다. Claude Code 프로젝트에서 사용하려면 스킬 디렉토리에 복사하세요:

# Download the skill
curl -o .claude/skills/content-core/SKILL.md --create-dirs \
  https://raw.githubusercontent.com/lfnovo/content-core/main/SKILL.md

설치가 완료되면 Claude Code는 CLI(uvx content-core) 또는 구성된 경우 MCP를 통해 content-core를 사용하여 URL, 문서 및 미디어 파일에서 콘텐츠를 추출할 수 있습니다.

AI 제공업체

Content Core는 Esperanto를 사용하여 여러 LLM 및 STT 제공업체를 지원합니다. 설정을 변경하여 제공업체를 전환하세요. 코드 변경은 필요하지 않습니다:

# Use Anthropic for summarization
content-core config set llm_provider anthropic
content-core config set llm_model claude-sonnet-4-20250514

# Use Groq for transcription
content-core config set stt_provider groq
content-core config set stt_model whisper-large-v3

지원되는 제공업체에는 OpenAI, Anthropic, Google, Groq, DeepSeek, Ollama 등이 포함됩니다. 전체 목록은 Esperanto 문서를 참조하세요.

구성

Content Core는 pydantic-settings 기반의 ContentCoreConfig를 사용합니다. 설정은 우선순위 순으로 결정됩니다: 생성자 인수 > 환경 변수 (CCORE_*) > 설정 파일 (~/.content-core/config.toml) > 기본값.

환경 변수

변수

설명

기본값

CCORE_URL_ENGINE

URL 추출 엔진 (auto, simple, firecrawl, jina, crawl4ai)

auto

CCORE_DOCUMENT_ENGINE

문서 추출 엔진 (auto, simple, docling)

auto

CCORE_AUDIO_CONCURRENCY

동시 오디오 전사 (1-10)

3

CRAWL4AI_API_URL

Crawl4AI Docker API URL (로컬 브라우저 모드 시 생략)

-

FIRECRAWL_API_URL

자체 호스팅 인스턴스를 위한 사용자 지정 Firecrawl API URL

-

CCORE_FIRECRAWL_PROXY

Firecrawl 프록시 모드 (auto, basic, stealth)

auto

CCORE_FIRECRAWL_WAIT_FOR

추출 전 대기 시간 (ms)

3000

CCORE_LLM_PROVIDER

요약을 위한 LLM 제공업체

-

CCORE_LLM_MODEL

요약을 위한 LLM 모델

-

CCORE_STT_PROVIDER

음성-텍스트 변환 제공업체

-

CCORE_STT_MODEL

음성-텍스트 변환 모델

-

CCORE_STT_TIMEOUT

음성-텍스트 변환 시간 제한 (초)

-

CCORE_YOUTUBE_LANGUAGES

선호하는 YouTube 자막 언어

-

외부 서비스에 대한 API 키는 표준 환경 변수(예: OPENAI_API_KEY, FIRECRAWL_API_KEY, JINA_API_KEY)를 통해 설정됩니다.

프록시 구성

Content Core는 표준 HTTP_PROXY / HTTPS_PROXY / NO_PROXY 환경 변수를 자동으로 읽습니다. 추가 구성은 필요하지 않습니다.

선택적 종속성

# Docling for advanced document parsing (PDF, DOCX, PPTX, XLSX)
pip install content-core[docling]

# Crawl4AI for local browser-based URL extraction
pip install content-core[crawl4ai]
python -m playwright install --with-deps

# LangChain tool wrappers
pip install content-core[langchain]

# All optional features
pip install content-core[docling,crawl4ai,langchain]

LangChain과 함께 사용

langchain 추가 기능과 함께 설치하면 Content Core는 LangChain 호환 도구 래퍼를 제공합니다:

from content_core.tools import extract_content_tool, summarize_content_tool

tools = [extract_content_tool, summarize_content_tool]

문서

개발

git clone https://github.com/lfnovo/content-core
cd content-core

uv sync --group dev

# Run tests
make test

# Lint
make ruff

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.

기여

기여를 환영합니다! 자세한 내용은 기여 가이드를 참조하세요.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
B
quality - B tier

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/lfnovo/content-core'

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