Skip to main content
Glama

OmniContext

Connect Claude to your life — without touching a terminal.

Status Node Protocol License

OmniContext is a local MCP server for Claude Desktop that connects Claude to the tools you already use — Notion and YouTube today, more on the way. Install it as a one-click extension, no terminal or API dashboard required.

You:    Summarize this video for me: youtube.com/watch?v=xxxxxxxxxxx
Claude: [reads the transcript through OmniContext and replies instantly]

You:    What does my Notion page "Q3 Roadmap" say about launch dates?
Claude: [searches your Notion, opens the page, answers from its content]

Features

  • Notion, without the copy-pasting — search page titles and pull full page content as clean markdown, right from the conversation.

  • YouTube videos, the moment you paste the link — Claude reads the transcript and can summarize, analyze, or answer questions about it instantly.

  • Clean transcript exports — when you want the raw text (for notes, research, or another tool), OmniContext saves it as a tidy .md file instead of dumping it into the chat.

More integrations are on the way — see the Roadmap.


Related MCP server: Claude RAG MCP Pipeline

Installation

No code, no terminal, no API dashboard.

  1. Download the latest omnicontext.mcpb from the Releases tab.

  2. Open Claude Desktop → the menu (☰) → File → Settings → Extensions.

  3. Click Advanced settings then scroll down to Install Extension… and select it.

  4. Using Notion? Paste your integration token into the form Claude Desktop shows you. That's the entire setup.

  5. Try it in a chat:

    • "What's this YouTube video about: <link>"

    • "Read my Notion page: <link>"

Note: your Notion token is stored encrypted by your OS (Keychain on macOS, Credential Manager on Windows) — never in a plain text file. If you don't need Notion, skip it; the YouTube tools work with zero setup.


Development

For running the server from source, contributing, or wiring it into Claude Code instead of Claude Desktop.

git clone <your-repo-url>
cd omnicontext
npm install
npm run build     # compiles TypeScript -> dist/
npm test          # full suite, incl. live smoke tests
npm run pack      # builds omnicontext.mcpb locally

Register it with Claude Code:

claude mcp add --transport stdio omnicontext \
  --env NOTION_TOKEN=your_notion_token \
  -- node /absolute/path/to/omnicontext/dist/index.js

Run it directly during development:

npm run dev

Debug tool calls with the official MCP Inspector:

npx @modelcontextprotocol/inspector node dist/index.js

Tools reference

Tool

What it does

notion_get_page

Reads a Notion page (URL or ID) and returns it as markdown

notion_search

Searches page titles across everything shared with the integration

youtube_get_transcript

Fetches a YouTube video's transcript as plain text, for in-chat analysis

youtube_save_transcript

Saves a video's full transcript to a local .md file


Roadmap

OmniContext is an early MVP — the foundation is in place, and the integrations list is just getting started.

  • YouTube transcripts (in-chat + file export)

  • Notion (internal token, read-only)

  • One-click .mcpb packaging for Claude Desktop

  • Notion OAuth — one-click connect, no more manual tokens or sharing pages by hand

  • Discord integration

  • Telegram integration

  • More integrations, one context source at a time


Privacy & security

OmniContext runs entirely on your machine. It talks directly to Notion's and YouTube's own APIs — there is no OmniContext backend, no analytics, and no middleman server that sees your data.


Contributing

Issues and pull requests are welcome. If you're adding a new integration, follow the existing pattern in src/integrations/<name>/ — each one is self-contained and registers its own tools without touching the core server.

Support

Found a bug or want to request an integration? Open an issue.


License

MIT — free to use, modify, and self-host.


Built on the Model Context Protocol.

Available Tools

5 tools
notion_get_pageGet Notion pageA

Reads a Notion page's content as markdown. The page must be shared with this integration first (open the page in Notion, click Share, add the integration).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageYesA Notion page URL (e.g. https://notion.so/My-Page-abc123...) or page ID.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, but the description correctly identifies the tool as a read operation. It mentions a prerequisite for successful invocation. However, it does not disclose other behavioral traits like rate limits, error responses, or what happens if the prerequisite is not met.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences, the first stating the core functionality and the second providing necessary usage context. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description adequately covers the purpose and a key prerequisite. It lacks details on return value or error scenarios, but remains largely complete for a read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has 100% coverage with a description for the 'page' parameter. The tool description essentially restates that the parameter is a Notion page URL or ID, adding no new semantic information beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reads a Notion page's content as markdown, with a specific verb and resource. It distinguishes itself from the sibling tool 'notion_search' which is for searching, not reading a specific page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by including a prerequisite (page must be shared with integration). It implies usage for reading specific pages but does not explicitly state when not to use it or name alternatives, though sibling tools offer contrast.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingPingA

Health check — confirms OmniContext is running and returns its version.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It clearly states the tool's behavior: confirms running and returns version, which is sufficient for a simple read-only health check. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that immediately conveys the tool's purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple health check tool with no parameters and no output schema, the description provides complete context. It tells the agent exactly what the tool does and what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the baseline is 4. The description does not need to add parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool's purpose as a health check that confirms OmniContext is running and returns its version. The verb 'check' and resource 'OmniContext service' are specific, and there are no siblings to distinguish from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for confirming availability before other operations, but does not explicitly state when to use it or provide alternatives. Since it's a simple health check, the implied context is adequate but lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_get_transcriptGet YouTube transcriptA

Fetches the transcript/captions of a YouTube video as plain text. No login or setup required — just paste a video link or ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesA YouTube video URL (e.g. https://youtube.com/watch?v=..., https://youtu.be/..., or a Shorts link) or an 11-character video ID.
langNoOptional ISO language code for the transcript (e.g. 'en', 'es'). Defaults to the video's default caption track.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that no login or setup is required, which is positive. However, it does not mention potential rate limits, what happens if the transcript is unavailable, or any error conditions. For a simple read tool, this is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero wasted words. The first sentence states the core purpose, the second adds context about authentication and input convenience. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with 2 parameters and no output schema. The description covers the essential input and authentication context. It omits details about return format (raw text vs segmented) and failure cases, but for a transcript fetch tool, these are common knowledge. Slightly incomplete but mostly sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying the 'url' parameter accepts various YouTube URL formats or a video ID, which goes beyond the schema's generic description. For 'lang', it merely repeats the schema's default behavior, so no extra credit there.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches transcript/captions of a YouTube video as plain text. It uses a specific verb ('Fetches') and resource, distinct from sibling 'youtube_save_transcript' which likely saves. The 'No login or setup required' note further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear input guidance: 'just paste a video link or ID.' It explains accepted formats (full URL, Shorts link, or video ID). However, it does not explicitly mention when not to use it (e.g., if video has no captions) or compare to alternatives like youtube_save_transcript.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youtube_save_transcriptSave YouTube transcript to a fileA

Fetches a YouTube video's transcript and writes it to a local .md or .txt file, returning the file path. Use this when the user wants the full transcript exported for later reading, rather than reproduced in the chat.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesA YouTube video URL (e.g. https://youtube.com/watch?v=..., https://youtu.be/..., or a Shorts link) or an 11-character video ID.
langNoOptional ISO language code for the transcript (e.g. 'en', 'es'). Defaults to the video's default caption track.
destinationNoOptional file path or filename (.md or .txt) for the saved transcript. If it's a plain filename or omitted, the file is saved in the user's Downloads folder.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses writing to a local file and returning the path, but does not mention potential failures (e.g., unavailable transcript) or network behavior. Adequate for basic understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero redundancy, front-loaded with purpose and usage context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple with few parameters and no output schema. Description covers purpose, usage, and result adequately. Missing error/edge-case info but not critical for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds file extension hints (.md/.txt) but no further parameter details. Schema already handles parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (fetches transcript and writes to file), the resource (YouTube video), and the result (file path). It distinguishes from the sibling youtube_get_transcript by noting the export for later reading rather than chat reproduction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool ('when the user wants the full transcript exported for later reading'), which contrasts with the implied sibling for chat output. Does not name the sibling explicitly but provides clear context.

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.

  1. 5 tool updatesv0.1.2
    • First observednotion_get_page
    • First observednotion_search
    • First observedping
    • First observedyoutube_get_transcript
    • First observedyoutube_save_transcript

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

All tools have clearly distinct purposes: Notion page reading and searching, a health check, and YouTube transcript retrieval and saving. No overlap or ambiguity.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern with snake_case (notion_get_page, notion_search, youtube_get_transcript, youtube_save_transcript) except for 'ping', which is a standard health check name and does not disrupt consistency.

Tool Count5/5

With 5 tools covering two distinct domains (Notion and YouTube) plus a health check, the count is well-scoped and appropriate for the server's purpose.

Completeness3/5

The Notion integration is limited to reading and searching, missing create/update/delete operations. YouTube tools only handle transcripts, lacking search or video metadata. Significant gaps exist for full workflow coverage.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers