ru-mcp
v0.1.1
Published
rū — a protocol for seeding and resolving context with AI agents via #tags
Maintainers
Readme
rū
A protocol for seeding and resolving context with AI agents.
Three primitives. One syntax. Works with any AI surface.
#context — seed and retrieve your personal knowledge
@mention — address a specific agent
/command — execute a workflowThe idea
AI agents are powerful, but they're stateless by default. Every conversation starts cold. You re-explain who you are, what you're working on, what matters. That friction compounds.
rū fixes this by giving you a simple way to seed context intentionally — and retrieve it anywhere, automatically.
A #tag in your message is a signal. It resolves to knowledge you've already curated — from any connected source — and delivers it to the agent before it responds. You stop repeating yourself.
rū is not tied to any single app. Your context can live in Obsidian, Apple Notes, Granola, a browser extension, or anything else. The # primitive resolves across all of them.
The # primitive — two modes
The # primitive has a private mode and a public mode.
Private (#tag)
Resolves from your local vault. Never leaves your machine. Only you can call it.
#project → your notes on a specific project
#research → your curated research context
#me → your background, preferences, working stylePublic (#folder/document.namespace)
A path you've claimed under your namespace and chosen to share. Other users — or agents — can call it to retrieve your published context.
#rū/onboarding.yourusername → your public onboarding guide
#research/summary.yourusername → your public research summaryPrivate is the default. Public requires a deliberate claim under a namespace you own. You decide what's shareable.
Context sources
rū resolves #tags from any connected source. Sources are pluggable — connect one or many.
| Source | Status | |---|---| | Obsidian (via Local REST API plugin) | Available now | | Apple Notes | Planned | | Granola AI | Planned | | Browser extension (native rū harvester) | Phase 4 |
Install
Requires: Claude Desktop, Node.js 18+, and at least one connected source (see above).
To connect Obsidian: also requires the Local REST API plugin.
npx ru-mcp setupThe wizard will:
- Ask for your Obsidian API key (found in Obsidian → Settings → Community Plugins → Local REST API)
- Verify the connection to your vault
- Write the config to Claude Desktop automatically
Then fully quit and relaunch Claude Desktop (Cmd+Q, not just close the window).
How it works
rū runs as a local MCP server. Claude Desktop connects to it on startup. When you start a conversation, attach the auto_context prompt (paperclip icon → Add from rū → auto_context). From that point on, any #tag in your message automatically retrieves matching context from your vault before Claude responds.
No cloud. No account. Your context stays on your machine.
Smart retrieval: If a tag appears at the top of a note (page-level), rū fetches the full note. If it appears inline, rū returns just the surrounding snippet. You always get the right amount of context.
Using rū in Claude Desktop
- Start a new conversation
- Click the 📎 paperclip icon at the bottom of the input box
- Select "Add from rū" → choose auto_context
- From this point on, any
#tagyou write will automatically pull context from your vault
Example: If you have notes tagged #project in Obsidian (replace with any tag you use):
What should I focus on this week? #project
Claude retrieves your #project context and factors it into the response.
Note: Add
auto_contextonce per conversation. It doesn't persist across new chats.
Tagging your notes
In Obsidian, add #tag anywhere in a note. rū finds it.
For page-level context (the whole note is about this topic), put the tag on line 1:
#project
This project is about building a tool that...For inline context (the tag marks a section within a larger note):
## Meeting notes — Feb 2025
#project The client confirmed the scope...Finding your API key
- Open Obsidian
- Go to Settings (gear icon, bottom left)
- Scroll to Community Plugins → click Local REST API
- Your API key is shown under "API Key"
Troubleshooting
"Couldn't reach Obsidian at port 27124"
- Make sure Obsidian is open and Local REST API plugin is enabled
- If you see a different port in the plugin settings, re-run setup
rū doesn't appear in Claude Desktop
- Fully quit Claude Desktop (Cmd+Q) and relaunch after setup
"OBSIDIAN_API_KEY environment variable is not set"
- Re-run
npx ru-mcp setup
Coming next
- Namespace registry — claim your namespace, publish
#folder/document.namespacepaths, share context with anyone - Browser extension — harvest context from anything you read
See SPEC.md for the full protocol specification.
Creator
rū was created by Diana Angelica Valdes Contreras.
Protocol design, architecture, and vision: Diana Angelica Valdes Contreras MIT License © 2025
