oratilo-mcp
This server provides access to a curated library of concept-structured YouTube video summaries, allowing you to check for existing summaries before spending effort summarizing a video. It offers read-only lookup and search capabilities.
oratilo_lookup: Check if a specific YouTube video (by URL or ID) already has a summary. On a hit, returns the full summary with provenance metadata (source,format,updated,model); a miss indicates no summary exists.oratilo_search: Full-text search across the library by topic, phrase, person, or company. Returns ranked matches with snippets and page links; follow up withlookupfor details. Supports alimitparameter (1–20, default 8).Multi-language support: Both tools accept an optional
langparameter (ko,en,ja,es; defaultko) to specify the language of the summary or search index.Verify claims: Summaries include footnote markers mapped to timestamps, allowing you to deep-link directly to the source video to fact-check statements.
Guided summarization: A built-in
summarizeprompt (for supporting clients) accepts a YouTube link, checks the library first usingoratilo_lookup, and falls back to summarizing the video normally if no summary is found, preventing redundant summarization.
Provides tools to look up and search for existing YouTube video summaries in the oratilo library, including a summarize prompt that checks if a summary already exists before generating one.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@oratilo-mcplook up this video: https://youtu.be/dQw4w9WgXcQ"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
oratilo-mcp
MCP server for oratilo — a shared library of YouTube videos re-edited into concept-structured summaries.
What it's for: before an agent spends work summarizing a video, it can check whether a summary already exists. A cache is only a cache if something reads it.
Install
Node 18+. No dependencies. Plain MCP over stdio, so any MCP client can run it.
Claude Code
claude mcp add --scope user oratilo -- npx -y oratilo-mcpCodex CLI — codex mcp add, or in ~/.codex/config.toml:
[mcp_servers.oratilo]
command = "npx"
args = ["-y", "oratilo-mcp"]Kimi CLI — /mcp-config in the TUI, or in ~/.kimi/mcp.json:
{
"mcpServers": {
"oratilo": { "command": "npx", "args": ["-y", "oratilo-mcp"] }
}
}Anything else — the JSON block above is the common shape (Claude Desktop, Cursor, Windsurf, Cline …); drop it into that client's MCP config file. If you drive GLM / Z.ai or another model through one of these clients, configure the client, not the model provider.
Verify with /mcp in whichever client you used.
Related MCP server: YouTube Tools MCP Server
What you get
Prompt — summarize. One command for people. Give it a YouTube link; it asks
which language you want, looks the video up in oratilo, and hands back the existing
summary if there is one. If there isn't, it summarizes the video for you normally.
If your client doesn't support MCP prompts, you won't see this command — that's fine.
The server sends the same guidance in its instructions at connect time, so just ask
in plain language ("summarize this video: ") and the agent will check the library
first.
Tool — oratilo_lookup. Exact check for one video. Returns the full summary plus
provenance: source, format, updated, and the model recorded when it was
generated. Miss means the library doesn't cover that video.
Tool — oratilo_search. Full-text search over the library when you don't have a
URL — by topic, phrase, person or company. Returns ranked matches with page links and
snippets; follow up with oratilo_lookup for the full text.
Both tools take an optional lang (ko · en · ja · es; default ko).
Verifying a summary
Claims carry footnote markers [n] that map to a timestamp list at the end of each
summary. Deep-link source + &t=<seconds>s to check any single claim against the
video itself. oratilo stores no transcripts — a summary is an original re-edit, not a
transcription.
Scope and limits
Read-only. oratilo is a single-author library today; there is no contribution endpoint, so a miss simply means the video isn't covered.
The server talks only to
oratilo.compublic data. It never contacts YouTube.The corpus is small and deliberately curated — expect misses.
Summaries can be wrong. Every page has a correction-report link, and
updatedchanges when a page is revised.
ORATILO_BASE may point the server at a localhost origin for development. Any
other host is refused and the server falls back to oratilo.com — otherwise a hostile
origin could feed an agent invented text as "oratilo's summary". Responses from a
development origin carry a warning and drop the citation guidance.
License
MIT.
Status: oratilo is a personal archive — the library is not indexed and is not accepting contributions. This server still works as a read-only lookup against it.
Available Tools
2 toolsoratilo_lookupA
Check whether oratilo (a shared library of concept-structured video summaries) already has a summary for a specific video, BEFORE spending work summarizing it yourself. Returns the full summary plus provenance metadata on a hit. A miss means the video is not covered — summarize it yourself. Accepts YouTube URLs or video ids (arXiv ids reserved for the future).
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Preferred language (default ko) | |
| source | Yes | YouTube URL / 11-char video id / arXiv id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses the hit/miss behavior ('Returns the full summary plus provenance metadata on a hit. A miss means the video is not covered'), which is valuable behavioral context beyond what a schema would convey. It lacks some depth (e.g., what provenance metadata entails on a miss) but covers the core behavioral contract well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences, well front-loaded with the decision-critical use case. Each sentence earns its place: purpose, hit/miss outcome, and accepted input formats. Minor redundancy with the schema's source description but overall tight and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-lookup tool with a simple 2-param schema and no output schema, the description is reasonably complete. It explains the decision workflow, hit/miss outcome, and accepted input types. It could benefit from noting what's returned on a miss and clarifying that this isn't a fuzzy search (contrast with sibling), but given the tool's simplicity the coverage is strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are described adequately in the schema. The description adds value by explaining accepted source formats ('YouTube URLs or video ids') and noting arXiv ids are 'reserved for the future,' which constrains interpretation beyond the raw schema text. Baseline 3 raised for the added source-format context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check whether') plus resource ('oratilo... has a summary') plus context ('BEFORE spending work summarizing it yourself'). It clearly distinguishes from the sibling tool oratilo_search by indicating this is an exact lookup vs search. The purpose is unambiguous and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance: 'Check... BEFORE spending work summarizing it yourself.' It also states what to do on a miss ('summarize it yourself'), providing exclusions. Distinguishes from alternatives by naming when not to rely on it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
oratilo_searchA
Search the full text of oratilo summaries by topic, phrase, person or company — use when you do not have a specific video URL but want to know what the library covers. Returns ranked matches with page links and snippets; follow up with oratilo_lookup for the full text of one.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language index to search (default ko) | |
| limit | No | Max results, 1–20 (default 8) | |
| query | Yes | Search terms. Multiple words are AND-ed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that results are ranked matches with page links and snippets, and that it searches across a library index (implying it's read-only). It doesn't disclose pagination behavior, rate limits, or what 'full text search' means regarding partial matches, but the read-only nature is reasonably implied by the search-then-lookup pattern.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero wasted words. The first sentence states purpose and when to use, the second describes the return format and follow-up action. Extremely efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no output schema and no annotations, the description is fairly complete: it explains the purpose, return format (ranked matches with page links and snippets), and directs follow-up. It could add what fields each result contains or note that 'full text of one' via lookup implies snippets come first, but it's adequate for a search-with-lookup sibling pattern.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three parameters (query, lang, limit). The description mentions searching by topic/phrase/person/company which maps to query usage, and notes the AND-ed multi-word behavior is in the schema. The description adds minor value by framing what query types are useful but doesn't go much beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb (Search) with a specific resource (full text of oratilo summaries) and enumerates search dimensions (topic, phrase, person, company). It clearly distinguishes from the sibling tool by explaining when this one is appropriate (when you do not have a specific video URL) and directs follow-up to oratilo_lookup for full text of one result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use this tool ('when you do not have a specific video URL but want to know what the library covers') and directs users to oratilo_lookup for full text retrieval. However, it doesn't explicitly state when to NOT use this tool or contrast with the sibling for the lookup use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.2.0- First observed
oratilo_lookup - First observed
oratilo_search
TDQS
The two tools have clearly distinct purposes: lookup is for checking a specific video ID/URL for existing coverage, while search is for discovering what content exists by topic when no specific URL is known. The descriptions explicitly clarify when to use each, leaving no ambiguity whatsoever.
Both tools follow a consistent oratilo_ prefix with a clear verb (lookup, search). The pattern is consistent and predictable, though with only two tools the naming convention is minimally demonstrated.
At 2 tools, the surface feels thin for a library with search and retrieval capabilities, though it could be argued these two operations are the core of what's needed. The count is borderline but reasonable given the limited scope described.
Core read operations (lookup and search) are covered, providing a functional surface. However, there are no write/contribution tools (e.g., adding or updating a summary), so the surface covers only the lookup half of the workflow and leaves the 'summarize it yourself' path entirely to the agent.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Video knowledge base for agents: search your library's transcripts, keyframes and on-screen text.
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
Extract YouTube transcripts, search what was said, and read on-screen frames with cited timestamps.
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents. No signup.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables extraction of transcripts, keyword-based video search with metadata retrieval, and channel information discovery from YouTube videos through natural language interaction.34MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search YouTube videos using the official YouTube Data API v3, extract full video transcripts in multiple languages, and store/retrieve video summaries using a local database.4MIT
- AlicenseBqualityBmaintenanceEnables AI agents to search, analyze, and extract insights from YouTube videos including transcripts, visual frames, and benchmarks without requiring API keys. Supports semantic search across playlists, sentiment analysis, and visual content indexing with automatic fallback chains for reliable access.4133336MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with YouTube videos by fetching transcripts, summarizing content, and answering questions based on video context.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/oratilo/oratilo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server