Focused role
Each persona handles one specific part of the job, such as portfolio review, quantitative analysis, or writing code. Pick the engine that fits (Classic, Gemini ADK, or Cursor) and assign only the skills and safety hooks it needs.
めいどMAY-doh
Anytime Anywhere at your service
Keep one continuous conversation going across days and tasks. Meido runs on your machine with three-tier memory, an Obsidian vault for notes and SOPs, local MCP servers, and a built-in browser that keeps logins private.
curl -fsSL https://raw.githubusercontent.com/kenpyfin/meido/main/install.sh | bash
Then run meido start, open http://127.0.0.1:10961, and follow the quick setup wizard.
In Meido, you split complex work into distinct roles and assign a separate persona to each. Every persona gets its own memory, folder on disk, model engine, and tool permissions.
Each persona handles one specific part of the job, such as portfolio review, quantitative analysis, or writing code. Pick the engine that fits (Classic, Gemini ADK, or Cursor) and assign only the skills and safety hooks it needs.
Context never bleeds between roles. Each persona gets its own working folder, 3-tier memory file, and saved secrets, keeping scratchpads, drafts, and API keys separated.
Working in separate folders does not prevent collaboration. Tag any specialist into the current chat with @Persona, share procedures and notes through the ORIGIN/ Obsidian vault, or track handoffs across TODO → PLAN → BUILD → VERIFY on the shared board.
Daily portfolio review & risk advisory
Runs the main conversation, checks daily drawdown and exposure limits, and writes the final risk report. Strictly read-only: it can inspect your Robinhood portfolio, but it can never place an order.
shared/personas/1/1/reports/groups/1/1/memory_state.jsonORIGIN/Operations/SOPs/RH-Main-Book-Risk-Pipeline.mdFactor exposure & tail-risk stress testing
Tagged into the chat via @Quant to stress-test factor crowding and option tail risk, replying directly in the thread.
shared/personas/1/2/factors/groups/1/2/memory_state.jsonBroker connection, scripts & safety hooks
Sets up the local robinhood-trading MCP server, maintains the Python risk script, and locks in the PreToolUse hook that blocks live trade execution.
shared/personas/1/3/ & skills/rh-main-book-risk/groups/1/3/memory_state.jsonEvery Mon/Wed/Fri at 1:15 PM PT (15 minutes after market close), a scheduled job wakes Risk Management, runs the checklist built by @Repo, brings in @Quant to stress-test the numbers, and posts the finished report into your chat.
Ask @Repo (Cursor engine) to connect a local robinhood-trading MCP server and save the OAuth token. Tomorrow’s chat picks up right where you left off, with read-only access already set up.
vault_secret saves ROBINHOOD_MCP_TOKEN on disk for Risk Management without ever showing the raw token in the prompt or chat log.
When you ask for a post-close risk review, Risk Management opens the checklist in your vault (ORIGIN/Operations/SOPs/RH-Main-Book-Risk-Pipeline.md) and runs the 9-step risk pipeline in order.
It pulls live positions and option Greeks via MCP, runs the Python risk script to calculate daily Expected Shortfall (2.84% of NAV) and Sharpe (1.68), and tags @Quant in the same thread to stress-test the numbers.
Switch from Transcript to Focus to view the current topic as a clean brief: key takeaways, pinned rules, side-chat threads, and generated files.
Spin off a side chat (“Stage 8 $100M Critic calibration”) to dig into TSLA option risk without cluttering the main conversation, then fold the answer back in.
Switch the sidebar to Board to see Risk Management, @Quant, and @Repo move tasks across TODO, PLAN, BUILD, and VERIFY, from wiring the broker to verifying the risk report.
Each card tracks which persona owns the step, what prompt runs next, and the full verification history.
Open the Cockpit bar to see the live status summary, task queue, bookmarked rules, and your standing instructions.
Bookmarks let you jump straight back to key decisions, like your drawdown warning threshold (> 3.0% of NAV), even hundreds of messages later.
Open the Persona settings. Profile shows masked API keys (ROBINHOOD_MCP_TOKEN, FRED_API_KEY) saved only for this persona. Switch to Engine to pick which model powers it.
The Engine tab is where that choice is saved. Profile secrets stay with this persona and are not copied to the others.
Switch to Skills to choose which tools Risk Management is allowed to run. Switch to Hooks to see the safety rules enforced by the server.
The block-live-order-tools hook runs before every tool call and blocks any mcp_robinhood-trading_place_* command, so the assistant can inspect your portfolio without ever placing a trade.
The Memory dialog splits context into three simple layers: Tier 1 (permanent role & rules), Tier 2 (links to vault SOPs), and Tier 3 (short-term notes for today’s task).
Open Schedules to see that post-close job. When it finishes, the risk report is posted into the chat.
Agent History lets you step through each tool call (reading the SOP → pulling portfolio data → running the risk script → @Quant review) and check the quality scores.
The Artifacts library keeps all generated Markdown reports, PDF summaries, and vault notes in one place so you can preview or download them anytime.
Ask @Repo (Cursor engine) to connect a local robinhood-trading MCP server and save the OAuth token. Tomorrow’s chat picks up right where you left off, with read-only access already set up.
vault_secret saves ROBINHOOD_MCP_TOKEN on disk for Risk Management without ever showing the raw token in the prompt or chat log.
When you ask for a post-close risk review, Risk Management opens the checklist in your vault (ORIGIN/Operations/SOPs/RH-Main-Book-Risk-Pipeline.md) and runs the 9-step risk pipeline in order.
It pulls live positions and option Greeks via MCP, runs the Python risk script to calculate daily Expected Shortfall (2.84% of NAV) and Sharpe (1.68), and tags @Quant in the same thread to stress-test the numbers.
Switch from Transcript to Focus to view the current topic as a clean brief: key takeaways, pinned rules, side-chat threads, and generated files.
Spin off a side chat (“Stage 8 $100M Critic calibration”) to dig into TSLA option risk without cluttering the main conversation, then fold the answer back in.
Switch the sidebar to Board to see Risk Management, @Quant, and @Repo move tasks across TODO, PLAN, BUILD, and VERIFY, from wiring the broker to verifying the risk report.
Each card tracks which persona owns the step, what prompt runs next, and the full verification history.
Open the Cockpit bar to see the live status summary, task queue, bookmarked rules, and your standing instructions.
Bookmarks let you jump straight back to key decisions, like your drawdown warning threshold (> 3.0% of NAV), even hundreds of messages later.
Open the Persona settings. Profile shows masked API keys (ROBINHOOD_MCP_TOKEN, FRED_API_KEY) saved only for this persona. Switch to Engine to pick which model powers it.
The Engine tab is where that choice is saved. Profile secrets stay with this persona and are not copied to the others.
Switch to Skills to choose which tools Risk Management is allowed to run. Switch to Hooks to see the safety rules enforced by the server.
The block-live-order-tools hook runs before every tool call and blocks any mcp_robinhood-trading_place_* command, so the assistant can inspect your portfolio without ever placing a trade.
The Memory dialog splits context into three simple layers: Tier 1 (permanent role & rules), Tier 2 (links to vault SOPs), and Tier 3 (short-term notes for today’s task).
Open Schedules to see that post-close job. When it finishes, the risk report is posted into the chat.
Agent History lets you step through each tool call (reading the SOP → pulling portfolio data → running the risk script → @Quant review) and check the quality scores.
The Artifacts library keeps all generated Markdown reports, PDF summaries, and vault notes in one place so you can preview or download them anytime.
| Typical cloud chatbot | Meido on your machine | |
|---|---|---|
| Where a turn begins | A blank chat window. | The conversation you’re already having. |
| How you organize topics | Start another chat thread. | Tag topics inside the same timeline, or spin up a separate room only when you want one. |
| When the context fills up | The thread slows down or resets. | Old messages trim automatically while your memory tiers, briefing, and vault stay intact. |
| Where workflows live | Pasted into system prompts. | Plain Markdown SOPs in your Obsidian vault (ORIGIN/Operations/SOPs/…), loaded when needed. |
| How tools connect | Platform-specific plugins. | Any local or remote MCP server, plus per-persona skills and encrypted secrets. |
| Scheduled & background work | Only runs while you’re watching. | Cron jobs and background tasks post their results and files right back into the chat. |
| How you verify what happened | Scroll through old chat logs. | Inspect every tool call, memory update, quality check, and generated file. |
Related guides:
Use the local web app out of the box, or reach the same chat from Telegram, Discord, WhatsApp, or WeCom. Long reports automatically turn into clean PDF links on mobile.
Run local models through Ollama and llama.cpp. A lightweight background model handles routine memory housekeeping, separate from each persona's engine.
Servers run as local processes or remote endpoints. A persona receives only the MCP servers and skills on its allowlist.
Recall reads the vault note for the active turn. Notes that are not needed stay on disk instead of crowding the prompt.
Only when changing the workspace folder, bind address, or vault path. API keys, personas, skills, and model settings apply immediately when saved.