Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
제작자가 쓴 설명(영어 원문)
Local-first MCP server + CLI that turns PDFs into source-linked, card-based HTML readers.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
링크는 제작자의 파일로 바로 연결돼요. 우리가 보관하거나 다시 패키징하지 않아요. 파일을 열면 Claude Desktop이 설치해요.
터미널에서 이 명령어를 실행하세요
claude mcp add pdf-card -- uvx pdf-card-mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"pdf-card": {
"command": "uvx",
"args": [
"pdf-card-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"pdf-card": {
"type": "stdio",
"command": "uvx",
"args": [
"pdf-card-mcp"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 velyan 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.2)은 5개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv), MCPB도 있어야 해요.
같은 카테고리에는: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
PDF Card MCP is a local-first MCP server and CLI for turning dense local PDFs into portable, source-linked HTML readers. An MCP host can ask it to convert a PDF path, validate notes/highlights, or publish a static annotated reader bundle. The converter preserves source text, renders source pages for verification, crops detected tables, figures, and display formulas as images, derives safe reader styling from the original PDF palette, and writes a standalone HTML file that can be moved across devices without losing assets.
Default conversion runs locally and does not require a hosted service. Optional MCP sampling is deliberately bounded: the host model may choose validated style tokens or suggest card-boundary polish operations, but raw CSS and source-text rewrites are rejected.
The default reader is designed for comfortable reading: large type, small cards, search, section navigation, next/previous controls, keyboard navigation, a font-size slider, and source-page previews.
PDF Card MCP is meant for PDFs you actually need to read, cite, or inspect. It turns long documents into smaller source-linked cards, keeps tables/figures/formulas as faithful image crops, and lets you export your own notes and highlights as Markdown.
PDF Card MCP is a Python server, so it needs a runtime. The one thing to install first is uv — it manages Python for you, so you do not have to. This is the only prerequisite for every install path below:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Then add the server with one click. The buttons run the published pdf-card-mcp package through uv:
Claude Code (terminal):
claude mcp add pdf-card -- uvx --from pdf-card-mcp pdf-card-mcp-server
Claude Desktop (no terminal, no prerequisites): download pdf-card-mcp-desktop.mcpb from the latest release and double-click it to install as an extension. This bundle declares the uv runtime, so Claude Desktop installs Python and dependencies for you — you do not need the uv step above for this path.
After installing, restart (or reload MCP servers in) your client so it picks up the new server.
These screenshots are from a generated reader for *Agents in Software Engineering* and the same source PDF opened side by side for comparison.
| Generated reader | Original PDF |
|---|---|
Convert a local PDF into one portable HTML reader:
pdf-card-mcp ./paper.pdf --output ./out/paper-reader.html
Use the explicit subcommand form with PDF-derived styling:
pdf-card-mcp convert ./paper.pdf \
--output ./out/paper-reader.html \ --style-engine pdf
Run the MCP server so a compatible host can generate readers from local PDF paths:
python -m pdf_card_mcp.server
Publish a read-only static reader with selected public annotations:
pdf-card-mcp publish ./out/paper-reader.html \
--annotations ./paper.annotations.json \ --output ./published/paper-reader.html
| Output | What it contains |
|---|---|
paper-reader.html | Standalone reader with embedded CSS, JavaScript, page images, and detected crops. |
paper.manifest.json | Structured metadata for cards, pages, warnings, and source anchors. |
| Markdown export | User-authored notes and highlights from the reader UI. |
| Published bundle | Read-only static HTML or a directory bundle for sharing public annotations. |
This is an early open-source implementation. It is useful for text-layer PDFs now, with best-effort table detection via pdfplumber, permissive raster rendering via pypdfium2, and optional richer local table detection via gmft. Scanned PDFs need optional OCR support.
Most people should use the one-click install above. To install the package directly instead, from PyPI:
python -m pip install pdf-card-mcp
Or install the latest unreleased changes directly from the repository:
python -m pip install "pdf-card-mcp @ git+https://github.com/velyan/pdf-card-mcp.git"
For local development:
git clone https://github.com/velyan/pdf-card-mcp.git
cd pdf-card-mcp python3 -m venv .venv . .venv/bin/activate python3 -m pip install -e ".[dev]"
uv is recommended for MCPB packaging:
uv sync
uv run pdf-card-mcp path/to/document.pdf --output out/document.html
Install the optional local ML table detector when you want stronger table crops:
uv sync --extra table-ml
uv run --extra table-ml pdf-card-mcp path/to/document.pdf --table-engine gmft
Add it to Claude Code or another CLI-compatible MCP client with uvx (requires uv):
claude mcp add pdf-card -- uvx --from pdf-card-mcp pdf-card-mcp-server
Generic MCP host configuration:
{
"mcpServers": { "pdf-card": { "command": "uvx", "args": ["--from", "pdf-card-mcp", "pdf-card-mcp-server"] } } }
For local development before the PyPI release, point the client at this checkout:
{
"mcpServers": { "pdf-card-local": { "command": "uv", "args": [ "--directory", "/path/to/pdf-card-mcp", "run", "python", "-m", "pdf_card_mcp.server" ] } } }
Claude Desktop can also install the .mcpb bundle from the latest GitHub release.
The repository includes a minimal Dockerfile so registries such as Glama can build the server, start it over stdio, and inspect its MCP tool schemas. The server still works on local file paths, so container users must mount any PDFs and output directories they want the tool to read or write:
docker build -t pdf-card-mcp .
docker run --rm -i \ -v "$PWD/examples:/docs" \ pdf-card-mcp
pdf-card-mcp path/to/document.pdf --output examples/out/document.html
The command writes:
document.html: standalone reader with embedded CSS, JavaScript, table crops, figure crops, formula crops, and source-page images.document.manifest.json: structured metadata without embedded image payloads.The explicit subcommand form is also supported:
pdf-card-mcp convert path/to/document.pdf --output examples/out/document.html
Generated readers include a local annotation overlay:
Select text in a text card, choose Highlight or Note, and use Export Markdown to download a readable .annotations.md file. Import is intentionally not exposed in the reader UI yet. Notes and highlights are user-authored data and are kept separate from the source-derived document.manifest.json.
The lower-level CLI and MCP publishing tools still accept a structured annotation bundle when you need to build a read-only static reader with embedded annotations. Validate that bundle against a reader:
pdf-card-mcp validate-annotations examples/out/document.html document.annotations.json
Publish a shareable static reader with public annotations:
pdf-card-mcp publish examples/out/document.html \
--annotations document.annotations.json \ --output published/document-reader.html
If --output is a directory instead of an .html file, the command writes a static bundle:
index.htmlreader.manifest.jsonreader.annotations.jsonbundle.jsonPublishing includes only visibility: public annotations by default, redacts the local source_pdf path by default, and renders the published reader read-only by default. Use --include-private only when you intentionally want private local notes included in the published output. Publishing fails if any included annotation cannot be anchored to the reader; run validate-annotations to inspect mismatches before publishing.
The MCP server is the automation layer around the same local converter. It accepts local file paths from an MCP client and returns generated reader paths, manifest metadata, warnings, and publishing/validation results.
The server exposes three tools:
convert_pdf_to_card_html
validate_reader_annotations publish_reader_bundle
Inputs:
pdf_path: local PDF path.output_path: optional HTML output path.title: optional title override.standalone: defaults to true; asset-folder output is reserved for a later release.ocr: optional OCR fallback if pytesseract is installed.max_pages: optional processing limit.theme: defaults to soft.style_engine: fixed, pdf, or sampling; defaults to pdf. fixed preserves the original soft palette, pdf derives bounded colors and typography hints locally from the source PDF, and sampling asks the host LLM to choose validated style tokens from those local hints.table_engine: auto, pdfplumber, or gmft; auto uses gmft when installed.text_engine: char_geometry or pdfplumber_words; defaults to char_geometry so missing spaces are repaired from PDF character positions instead of trusting fused words.postprocess_engine: none or sampling; defaults to none. When set to sampling, the MCP server asks the host LLM for boundary-only card polish operations, validates exact source-text preservation, and rewrites the generated reader. If the MCP client does not support sampling, deterministic output is returned with a warning.model_cache_dir: optional cache directory for local ML table model weights.-
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요