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、文件和文本中提取、处理和总结内容。

支持的格式

分类

格式

Web

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 提供了一个统一的 content-core 命令,包含用于提取、总结和 MCP 服务器的子命令。

提取

# 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 包含一个模型上下文协议 (MCP) 服务器,可用于 Claude Desktop 和其他兼容 MCP 的应用程序。

添加到你的 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 包含一个 SKILL.md,用于教导 AI 代理如何使用它从外部源提取内容。要使其在你的 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 可以使用 content-core 从 URL、文档和媒体文件中提取内容——可以通过 CLI (uvx content-core) 或配置后的 MCP 使用。

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

提取前的等待时间 (毫秒)

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_KEYFIRECRAWL_API_KEYJINA_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