AI OS MCP Server
Provides read-only access to a Notion-based AI OS, enabling keyword search across pages, retrieving full page content, listing projects, and getting project status.
Click on "Deploy 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., "@AI OS MCP Server What's the current status of the Terraform project?"
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.
AI OS MCP Server
Exposes Felix's AI OS (synced in Notion) as MCP tools, so any MCP-compatible AI client can query it directly instead of scraping a public link.
Honest limitation: this was written without the ability to actually npm install or compile-test it (no network access in the environment it was built in). The code follows the current MCP TypeScript SDK and Notion client API shapes correctly as far as known, but run the build step yourself and check for errors before trusting it — don't assume it's flawless just because it was written carefully.
Tools It Exposes
search_vault(query)— keyword search across the whole AI OSget_page(page_name)— full content of one named pagelist_projects()— the 10_Projects index page's current contentsget_project_status(project_name)— one project's current status specifically
Related MCP server: nooon
Setup
1. Create a Notion integration
Go to notion.so/my-integrations → New integration → name it (e.g. "AI OS MCP") → copy the "Internal Integration Secret" (starts with secret_ or ntn_).
2. Share the AI OS with it
Open the AI OS root page in Notion → ... menu → Connections → add the integration you just created. This is separate from "Share to web" — it's what actually lets the integration's API calls see the pages.
3. Set the API key
cp .env.example .env
# paste your key into .env4. Build and run with Docker
docker compose build
docker compose run --rm ai-os-mcpThis runs the server over stdio — it's meant to be launched by an MCP client (Claude Desktop, etc.), not left running standalone in a terminal long-term.
5. Point an MCP client at it
For Claude Desktop, add to its MCP config (claude_desktop_config.json):
{
"mcpServers": {
"ai-os": {
"command": "docker",
"args": ["compose", "-f", "/full/path/to/ai-os-mcp/docker-compose.yml", "run", "--rm", "ai-os-mcp"]
}
}
}Things Worth Checking Before Trusting It
Does
npm installsucceed cleanly, or are there version mismatches with the SDK?Does
npm run buildcompile without errors?Does
search_vaultactually return results — this depends on the integration having been shared with the right pages (step 2).Table content in
get_pagemay render roughly — Notion's block API is nested and this pulls table rows one level deep, not deeply verified.
What This Doesn't Do
No writing/editing — read-only by design, so it can't accidentally modify the vault. No automation trigger — still has to be invoked by an MCP client on request, consistent with the AI OS's "manual, chat-triggered" execution decision.
Available Tools
4 toolsget_pageA
Fetch the full content of a specific named page from the AI OS, e.g. 'GetClean', 'Knowledge Core', 'Fulfillment Workflow'.
Inputs: page_name (required).
get_project_statusA
Fetch the current status of one specific project by name, e.g. 'QuickTurnaroundGigs' or 'GetClean'.
Inputs: project_name (required).
list_projectsA
List all active projects in the AI OS with a one-line status each, by reading the '10_Projects' index page.
Inputs: no named parameters.
search_vaultA
Search Felix's AI OS (synced in Notion) for pages matching a keyword or topic. Returns page titles and URLs, not full content — use get_page for that.
Inputs: query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
search_vault and get_page are clearly separated by search-results vs full-content, and list_projects vs get_project_status are also distinct in scope. The only minor ambiguity is that get_page could also be used to fetch project content that contains status, making the boundary slightly less obvious.
All tool names follow a consistent verb_noun pattern: search_vault, get_page, list_projects, get_project_status. Verbs are lowercase and the naming style is uniform.
With only 4 tools, the server is compact and well-scoped for searching and viewing pages and project statuses. Each tool serves a distinct retrieval purpose and none feels like filler.
The read/search surface is well covered: search, get page, list projects, and get specific status all work together without dead ends. The main gap is the lack of write or update operations, so if modifying pages or project statuses is expected, the toolset would be incomplete.
Related MCP Connectors
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Hosted Notion MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Read-only search and Markdown access to liz's public docs, prompts, resources, and an MCP App.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceStateless MCP server exposing the full Notion API as 33 tools, enabling users to manage pages, databases, blocks, comments, users, and file uploads using their own integration token.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceA lightweight, read-only MCP server for Notion that enables searching, reading pages, and querying databases with token-efficient output and smart caching.24 npm5MIT
- AlicenseCqualityCmaintenanceRead-only MCP server for querying a running Obsidian vault from agentic runtimes, exposing safe Obsidian CLI commands.551MIT
- AlicenseAqualityCmaintenanceRead-only MCP server that exposes your local Notion backups to AI agents — query databases, read pages, search a backed-up workspace. Offline by default: no LLM calls, no telemetry, no cloud.61MIT