1. Conduid
  2. Security
  3. Tillys Omi MCP
MCP server · Security

Tillys Omi MCP

Custom stdio MCP server for the Omi AI wearable platform. 38 tools, dual auth (Dev API + Firebase), zero dependencies.

Unclaimed last commit 8 months ago security
34Low

Scored 6 months ago · breakdown

About Tillys Omi MCP

Tillys Omi MCP is an MCP server published by tilly-gdf in the Security category: custom stdio MCP server for the Omi AI wearable platform. 38 tools, dual auth (Dev API + Firebase), zero dependencies.

The repository has 3 stars and 0 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/tilly-gdf/tillys-omi-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (5)

create_memories_batchCreate up to 25 memories at once

Parameters not published.

create_memoryCreate a single memory (fact, insight, note)

Parameters not published.

delete_memoryPermanently delete a memory

Parameters not published.

get_memoriesList memories with pagination and category filter

Parameters not published.

update_memoryUpdate content, visibility, tags, or category

Parameters not published.

Ask AI

✦

Ask AI about Tillys Omi MCP

Powered by Claude · Grounded in docs

I know everything about Tillys Omi MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

Omi MCP Server

A custom MCP (Model Context Protocol) server that connects Claude to the full Omi platform - 38 tools covering memories, conversations, action items, goals, transcript editing, speaker management, and more.

Why This Exists

Omi provides an official MCP server using SSE (Server-Sent Events) transport. Two problems:

  1. Firewall issues on managed devices. SSE maintains persistent long-lived HTTP connections. On Windows, this triggers "Allow Node.js through Windows Firewall?" prompts. On a work-managed device, that's a non-starter.

  2. No Internal API access. The official MCP only uses the Developer API key. It can't edit transcript text, assign speakers to segments, query conversations by status, reprocess conversations, or manage apps/templates - all of which require Firebase authentication.

This server solves both:

  • stdio transport - standard outbound HTTPS requests only, no persistent connections, no firewall prompts
  • Dual authentication - Developer API key for standard CRUD + Firebase tokens for Internal API access, on a single server

Prerequisites

  • Node.js 24+ (uses built-in fetch() - zero npm dependencies)
  • Omi account with the Omi mobile app installed
  • Claude Code or Claude Desktop (any MCP-compatible client works)

Setup

1. Get Your Credentials

You need three values:

Developer API Key

  1. Open the Omi mobile app
  2. Go to Settings > Developer
  3. Tap "Create Key"
  4. Copy the key (shown once, starts with omi_dev_)

Keys are case-sensitive - it's omi_dev_ lowercase, not Omi_dev_.

Firebase Refresh Token

This gives access to Omi's Internal API (transcript editing, speaker assignment, conversation lifecycle). If you only need the Developer API tools, you can skip this.

  1. Open omi.me in Chrome and log in
  2. Open DevTools (F12)
  3. Go to the Application tab
  4. In the left sidebar, expand IndexedDB
  5. Find firebaseLocalStorageDb
  6. Click into the object store
  7. Find the entry with your user data
  8. Navigate to: value > stsTokenManager > refreshToken
  9. Copy the refresh token string

The refresh token doesn't expire unless you change your password or explicitly revoke sessions. You only need to do this once.

Firebase API Key

This identifies Omi's Firebase project. It's not a secret (it's embedded in the web app), but you need the correct one to avoid PROJECT_NUMBER_MISMATCH errors.

Important: Omi has two Firebase projects. The key in the GitHub repo (AIzaSyC1U6S-...) is the dev project. Production users need the production key. Check the Omi web app's network requests or source to find the current production key.

2. Register the Server

Claude Code (CLI)

claude mcp add --scope user omi \
  node /path/to/omi-mcp-server.js \
  -e OMI_DEV_API_KEY=omi_dev_your_key \
  -e OMI_FIREBASE_API_KEY=your_firebase_api_key \
  -e OMI_FIREBASE_REFRESH_TOKEN=your_refresh_token

Replace /path/to/ with the actual path to omi-mcp-server.js.

Claude Desktop

Add to your config file (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "omi": {
      "command": "node",
      "args": ["/path/to/omi-mcp-server.js"],
      "env": {
        "OMI_DEV_API_KEY": "omi_dev_your_key",
        "OMI_FIREBASE_API_KEY": "your_firebase_api_key",
        "OMI_FIREBASE_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

3. Verify

After registration, your MCP client should list all 38 tools. Try a simple read operation:

Get my latest 5 Omi memories

Tool Reference

Developer API Tools (API Key Auth)

These tools use your OMI_DEV_API_KEY for authentication.

Memories (5 tools)

Tool Description
get_memories List memories with pagination and category filter
create_memory Create a single memory (fact, insight, note)
create_memories_batch Create up to 25 memories at once
update_memory Update content, visibility, tags, or category
delete_memory Permanently delete a memory

Conversations (6 tools)

Tool Description
get_conversations List completed conversations with filters
get_conversation Get a single conversation by ID (with optional transcript)
create_conversation Create from plain text (runs full processing pipeline)
create_conversation_from_segments Create from structured transcript segments with speaker/timing data
update_conversation Update title or discard status
delete_conversation Permanently delete a conversation

Action Items (5 tools)

Tool Description
get_action_items List action items with status/date/conversation filters
create_action_item Create a standalone action item
create_action_items_batch Create up to 50 action items at once
update_action_item Update description, completion status, or due date
delete_action_item Permanently delete an action item

Goals (6 tools)

Tool Description
get_goals List active goals (boolean, scale, or numeric types)
create_goal Create a new goal (max 3 active)
update_goal Update title, values, or unit
update_goal_progress Quick progress value update
get_goal_history Get progress history over time (up to 365 days)
delete_goal Delete a goal

Internal API Tools (Firebase Auth)

These tools use Firebase ID tokens. They require OMI_FIREBASE_API_KEY and OMI_FIREBASE_REFRESH_TOKEN.

Conversation Lifecycle (3 tools)

Tool Description
get_conversations_by_status List conversations by status: in_progress, processing, merging, completed, failed
process_in_progress_conversation Force-process a stuck in_progress conversation
reprocess_conversation Regenerate title/overview/action items from transcript

Search & Merge (2 tools)

Tool Description
search_conversations Full-text search across all conversations
merge_conversations Combine fragmented recordings into one conversation

Transcript Editing (2 tools)

Tool Description
edit_segment_text Fix transcription errors in a specific segment
assign_segments Bulk assign speaker identity (is_user or person_id)

App/Template Management (5 tools)

Tool Description
get_enabled_apps List installed apps/templates
get_app_details Get full app details by ID
enable_app Install an app/template
disable_app Disable without deleting
delete_app Permanently delete (user-owned only)

People/Speaker Profiles (4 tools)

Tool Description
get_people List all speaker profiles with speech samples
create_person Create a new speaker profile
update_person_name Rename a speaker profile
delete_person Delete profile and all speech samples

Troubleshooting

"Allow Node.js through Windows Firewall?" prompt

You're using the SSE-based official server, not this one. This stdio server makes standard outbound HTTPS requests only - no firewall prompts.

PROJECT_NUMBER_MISMATCH error

You're using the wrong Firebase API key. Omi has two Firebase projects (dev and production). Make sure your OMI_FIREBASE_API_KEY matches the Firebase project your account is on. If your account is on production omi.me, you need the production key - not the dev key from the GitHub repo.

API key not working / 401 errors

  • Dev API keys are case-sensitive: omi_dev_ (lowercase), not Omi_dev_
  • Check that the key is correctly set in your environment variables
  • Verify the key hasn't been revoked in the Omi mobile app

assign_segments returns 404

The endpoint URL format matters. This server uses the Internal API path (/v1/conversations/{id}/segments/assign), not the Developer API path (/v1/dev/user/conversations/{id}/segments/assign). If you've modified the code, verify the path.

Firebase token refresh fails

Your refresh token may have been revoked (password change, session revocation). Re-extract it from omi.me browser IndexedDB following the setup steps above.

Conversations stuck in "processing" status

Use get_conversations_by_status to find them, then process_in_progress_conversation or reprocess_conversation to push them through. This commonly happens after Bluetooth disconnects or app crashes.

Environment Variables

Variable Required Description
OMI_DEV_API_KEY Yes Omi Developer API key (omi_dev_xxx)
OMI_FIREBASE_API_KEY For Internal API tools Firebase project API key
OMI_FIREBASE_REFRESH_TOKEN For Internal API tools Firebase refresh token from browser
OMI_API_BASE_URL No Override API base URL (default: https://api.omi.me)

License

MIT - see LICENSE.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Tillys Omi MCP

How do I install Tillys Omi MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Tillys Omi MCP safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Tillys Omi MCP still maintained?

The last commit was 8 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.