ORANO MCP Server
Serveur MCP personnel en lecture seule qui expose la bibliothèque ORANO d'un utilisateur (projets, tâches, recherches, feuilles de route, faits mémorisés) sous forme d'outils pour son propre agent IA.
Documentation
ORANO MCP Server
A personal, read-only MCP (Model Context Protocol) server that lets a user's own AI agent (ChatGPT, Claude, Cursor, Ollama) read their ORANO library as grounded context.
Note: This public repository contains documentation, the MCP server manifest, and a reference implementation. The production MCP server runs as an authenticated endpoint mounted at
/mcpon the ORANO backend (FastAPI + Postgres + pgvector). See the ORANO product site for the live endpoint and authentication flow.
What is ORANO?
ORANO turns saved Reels, TikToks, YouTube Shorts, and reference material into structured projects — summary, key takeaways, ordered tasks, research context, and a learning roadmap. Live on the iOS App Store (App Store listing).
A personal, read-only MCP server so a user's own AI agent can read that context is the differentiator.
MCP tools exposed
The ORANO MCP server exposes the following tools:
| Tool | Description |
|---|---|
list_projects | List the user's projects with optional status filters (active, completed, skipped, archived). |
get_project | Return a single project's full structured understanding + summary + tasks + resources + research + roadmap. |
get_project_context | Return only the requested context fields (summary, overview, caption, transcript, visual_context, links, tasks, roadmap, source, or raw_source) in structured, Markdown, or text output. |
search_library | Search the user's projects by title, summary, source title, or URL. |
read_memory_facts | Return curated memory facts (preferences, skills, goals) with confidence and freshness signals. |
get_pending_handoffs | Retrieve projects explicitly sent from the ORANO app to a target agent. Each handoff is acknowledged once on read so concurrent polls do not duplicate. |
Authentication
- Mechanism: Bearer personal API key, scope
orano:read. - No OAuth. Manual key creation only (per
landing/mcp-access.html). - Per-user budget: 240 calls per 60 minutes.
- Maximum active keys per user: 10.
MCP server manifest (server.json)
The canonical MCP server manifest follows the official MCP server.json schema:
{
"$schema": "https://static.modelcontextprotocol.io/schemas/server.json",
"name": "io.github.infotik/orano-mcp-server",
"displayName": "ORANO",
"description": "Personal, read-only MCP server that exposes the user's ORANO library (projects, tasks, research, roadmaps, memory facts) as tools for their own AI agent.",
"version": "0.1.0",
"repository": {
"type": "git",
"url": "https://github.com/infotik/orano-mcp-server"
},
"homepage": "https://oranoai.com/mcp",
"categories": [
"knowledge-management",
"personal-assistant",
"productivity",
"second-brain"
],
"tools": [
{ "name": "list_projects", "description": "List the user's ORANO projects with optional status filters." },
{ "name": "get_project", "description": "Return a single project's full structured understanding." },
{ "name": "get_project_context", "description": "Return only the requested context fields (summary, overview, transcript, visual_context, links, tasks, roadmap, source, raw_source)." },
{ "name": "search_library", "description": "Search the user's projects by title, summary, source title, or URL." },
{ "name": "read_memory_facts", "description": "Return curated memory facts with confidence and freshness signals." },
{ "name": "get_pending_handoffs", "description": "Retrieve acknowledged-once projects explicitly sent from the ORANO app to a target agent." }
],
"transports": [
{ "type": "http", "endpoint": "https://api.oranoai.com/mcp/" }
],
"authentication": {
"type": "bearer",
"scope": "orano:read",
"user_specific": true,
"rate_limit": "240 calls / 60 minutes / user"
}
}
Reference implementation (Python)
The production server runs as part of the ORANO backend (FastAPI + SQLAlchemy + pgvector). The reference implementation pattern is:
from mcp.server.fastmcp import FastMCP
from mcp.server.auth.settings import AuthSettings
from mcp.server.auth.provider import AccessToken
mcp = FastMCP(
name="orano",
auth=AuthSettings(issuer_url="https://api.oranoai.com", required_scopes=["orano:read"]),
)
@mcp.tool()
async def list_projects(status: str | None = None) -> list[dict]:
"""List the user's ORANO projects."""
...
@mcp.tool()
async def get_project(project_id: str, fields: list[str] | None = None) -> dict:
"""Return a single project's full structured understanding."""
...
# ... plus get_project_context, search_library, read_memory_facts,
# get_pending_handoffs
The full production server (787 lines + 290 lines of auth/handshake helpers)
lives in ExecutionOSBackend/app/mcp_server.py and is part of the private
ORANO backend repository. Open-sourcing the full production code requires
extracting the SQLAlchemy models + ingest services into a public package,
which is on the product roadmap but not yet complete.
How to use
End users:
- Install the ORANO iOS app from the App Store.
- Sign in, save at least one Reel/TikTok/YouTube Short to generate your first project.
- Open Settings → MCP access → Create new key (scope
orano:read). - Connect your AI agent (ChatGPT, Claude, Cursor, Ollama) to your personal MCP endpoint with the key as a bearer token.
Privacy and trust
- The MCP server is read-only. It does not write to projects, sources, tasks, memory, or account data.
- The single state mutation is
get_pending_handoffsacknowledging a queued app-triggered delivery by setting its delivery timestamp. - No agent write access is promised; no one-click OAuth flow exists.
License
MIT — see LICENSE.