Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Turn URLs, files and text into media, transcripts, summaries, translations and PDF.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
CONTENT_API_URL, CONTENT_MCP_DOWNLOAD_DIRYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"content": {
"command": "uvx",
"args": [
"content-mcp"
],
"env": {
"CONTENT_API_URL": "your-value",
"CONTENT_MCP_DOWNLOAD_DIR": "your-value"
}
}
}
}Run this in your terminal
claude mcp add content --env CONTENT_API_URL=your-value --env CONTENT_MCP_DOWNLOAD_DIR=your-value -- uvx content-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"content": {
"command": "uvx",
"args": [
"content-mcp"
],
"env": {
"CONTENT_API_URL": "your-value",
"CONTENT_MCP_DOWNLOAD_DIR": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"content": {
"type": "stdio",
"command": "uvx",
"args": [
"content-mcp"
],
"env": {
"CONTENT_API_URL": "your-value",
"CONTENT_MCP_DOWNLOAD_DIR": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
CONTENT_API_URL envCONTENT_MCP_DOWNLOAD_DIR envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account LatentNoise, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.8.5) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
One self-hosted engine. HomeTube client for YouTube — Content Studio for everything else — HomeTube browser extension — MCP server — CLI — Typed SDK — REST API underneath them all
Quick start · HomeTube · Coming from HomeTube? · All the clients · Connect an agent · Read the docs
Content is a self-hosted engine that turns supported sources into media, transcripts, summaries, translations, images, metadata, Markdown, PDF, and more. The backend analyzes each source, determines what it can actually produce, plans and runs the job, records its history, and delivers the results.
Everything else is a client of one public contract: HomeTube for the focused YouTube experience, Content Studio for general workflows, a Chromium extension for the tab you are already on, the `content-mcp` server for agents, a CLI for terminals and cron, a typed Python SDK for applications, the REST API for every other language, and Content Console to watch the engine work. Pick one or several — none of them is a layer the others have to pass through, and none of them holds business logic of its own.
HomeTube is the quickest way to see what that means: paste a YouTube URL, pick what you want out of it, and watch the files land in your library.
HomeTube in Content — paste a YouTube URL, choose what you want, follow the job into your library. More about HomeTube ↓
[!NOTE]
A proven workflow, now growing into a platform. The standalone
HomeTube container has passed
300,000 package downloads on GitHub Container Registry. It keeps running
and stays maintained — nothing breaks, and there is no deadline. Content is
where that work continues, and where its users are invited to move at their
own pace.
The two are separate projects: standalone HomeTube has not been retrofitted to
run on Content. The **HomeTube app in this repository is a new UI on the
Content engine**, carrying the same workflow forward.
Coming from standalone HomeTube? ↓
Docker Compose is the only runtime prerequisite. Install from the published images — nothing to clone or build:
mkdir content && cd content
curl -fsSLO https://raw.githubusercontent.com/LatentNoise/content/main/deploy/docker-compose.yml curl -fsSL -o .env https://raw.githubusercontent.com/LatentNoise/content/main/.env.example docker compose up -d
The default .env starts the complete local stack:
| Service | Default URL | Purpose |
|---|---|---|
| Content Studio | http://localhost:8502 | General requests across URL, file, upload, and inline-text sources |
| HomeTube | http://localhost:8501 | Focused YouTube video and playlist workflow |
| Content Console | http://localhost:8503 | Health, configuration, storage, jobs, events, and logs |
| Content API | http://localhost:8010/docs | REST API, OpenAPI, and embedded worker |
Open Content Studio for the general workflow, or HomeTube if your source is YouTube. You can also skip both web apps entirely and drive the same engine from the MCP server, CLI, SDK, extension, or REST API.
Everything stays in the installation folder: ./data holds the database, jobs, and artifacts; finished files are delivered to ./playground/output. Set CONTENT_DELIVERY_DIR_HOST in .env to point at your own NAS or media library instead — its sub-folders then become the destination choices offered in the clients.
Update later with:
curl -fsSLO https://raw.githubusercontent.com/LatentNoise/content/main/deploy/docker-compose.yml
docker compose pull && docker compose up -d
The first line is not optional, and it is the one that is easy to skip. docker compose pull refreshes the images; the stack definition is the local copy you downloaded on day one, and new settings arrive in *it* — a container receives only what its environment: block names. A compose file left at its original version therefore keeps silently dropping every setting added since, however correctly you write it in .env. Your .env is yours and is never touched; compare it against the current .env.example when you want the new knobs.
Build from source instead — for development or to include the optional speech-to-text runner
git clone https://github.com/LatentNoise/content.git
cd content cp .env.example .env docker compose up -d --build
The repository's docker-compose.yml adds local build: definitions beside the same images. deploy/docker-compose.yml is the build-free deployment file used above; a test keeps the two aligned.
The same engine serves media and document workflows:
┌─ My Conference.mp4
├─ My Conference - audio.opus YouTube URL ──→ Content ─────┼─ My Conference - subtitles - en.srt ├─ My Conference - subtitles - fr.srt ├─ My Conference - transcript.txt ├─ My Conference - summary.md └─ My Conference - summary.pdf
Web page / text / .md file ──→ Content ──┬─ Article.txt ├─ Article - summary.md ├─ Article - translation.md └─ Article.pdf
Each branch starts with a declarative request. You describe the results; Content resolves what is possible, plans the work, runs the available tools, and records where every artifact came from. No yt-dlp flags, ffmpeg pipelines, transcription glue, or LLM orchestration in the client.
One engine, one contract, several independent front doors. Every client below speaks the same GenerationRequest, sees the same resolved capabilities, and produces the same artifacts — they differ in ergonomics, not in what they can ask for. HomeTube is entirely optional; so is every other row.
| Client | Best for | Start here |
|---|---|---|
| [HomeTube](#hometube--youtube-focused) | The simplest YouTube video or playlist → library experience | Included in Docker Compose at :8501 |
| [Content Studio](#content-studio--the-whole-contract-in-a-form) | General capability-driven requests from URLs, uploads, server files, and inline text | Included in Docker Compose at :8502 |
| [Chromium extension](#chromium-extension--the-tab-you-are-already-on) | Sending the current Chrome, Brave, Edge, or Vivaldi tab to Content | Download the release zip, unzip, *Load unpacked* |
| [MCP server](#mcp-server--for-agents-and-ides) | Giving Claude, an IDE, or another MCP agent real artifacts instead of talk | uv tool install content-mcp |
| [CLI](#cli--terminals-scripts-and-cron) | Terminals, scripts, cron jobs, and raw request files | uv tool install content-cli |
| [Python SDK](#python-sdk--typed-sync-and-async) | Typed sync and async application integration | pip install content-sdk |
| [REST API](#rest-api--every-other-language) | Any language or integration that speaks HTTP | /api/v1, Swagger at :8010/docs |
| [Content Console](#content-console--observe-and-pilot-the-engine) | Observing and operating the engine | Included in Docker Compose at :8503 |
http://localhost:8501 · README
Paste a URL, choose the media and related artifacts, and follow the job into your library — the workflow demonstrated at the top of this page.
With HomeTube in Content, you can:
HomeTube is deliberately focused: it does not accept file, upload, or inline-text sources, and it does not expose the broader document workflow or PDF output. For those, use Content Studio, the API, CLI, or SDK. HomeTube is a Content client, not a layer every Content user must pass through.
It has no settings of its own. It reads the engine's configuration, so what changes HomeTube lives in the .env beside your docker-compose.yml: the delivery library whose sub-folders become the destination choices (CONTENT_DELIVERY_DIR_HOST), the languages pre-selected for audio and subtitles (CONTENT_LANGUAGE_PRIMARY, CONTENT_LANGUAGES_SECONDARIES, CONTENT_VO_FIRST, CONTENT_LANGUAGE_PRIMARY_INCLUDED_IN_SUBTITLES), and the server-side cookie file that unlocks age-restricted or members-only videos (CONTENT_CREDENTIALS — HomeTube only ever shows its id; the file never leaves the server). Nothing is ever pre-selected that the source does not offer, and no default is final.
[HomeTube's README](apps/web-hometube/READ
Only the beginning is shown; read the rest in the repo