WHAT IT CONNECTS
What fourcolors omi mcp gives an AI Agent
The source catalog does not include a structured feature list. Review the repository documentation before use.
SECURITY
An MCP listing is not a security review
An MCP server may receive model context, credentials, local files, or permission to call external systems. Review its code, requested environment variables, network behavior, package provenance, and maintenance status before connecting it to an agent.
README
Repository documentation
This project provides a Model Context Protocol (MCP) server for interacting with the Omi API. The server provides tools for reading conversations and memories, as well as creating new conversations and memories.
- Clone the repository
- Install dependencies with
npm install - Create a
.envfile with the following variables:API_KEY=your_api_key APP_ID=your_app_id
To install Omi MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @fourcolors/omi-mcp --client claudenpm run buildnpm run startFor development with hot-reloading:
npm run devA simple test client is included to interact with the MCP server. After building the project, run:
npm run testOr directly:
./test-mcp-client.jsThis will start the MCP server and provide an interactive menu to test the available tools. The test client uses a default test user ID (test-user-123) for all operations.
To clean the build directory and rebuild from scratch:
npm run rebuildTo use this MCP server with Claude via Anthropic Console or API:
-
Start the MCP server locally:
npm run start
-
When setting up your Claude conversation, configure the MCP connection:
{ "mcp_config": { "transports": [ { "type": "stdio", "executable": { "path": "/path/to/your/omi-mcp-local/dist/index.js", "args": [] } } ] } } -
Example prompt to Claude:
Please fetch the latest 5 conversations for user "user123" using the Omi API. -
Claude will use the MCP to execute the
read_omi_conversationstool:{ "id": "req-1", "type": "request", "method": "tools.read_omi_conversations", "params": { "user_id": "user123", "limit": 5 } }
To use this MCP server with Cursor:
-
Start the MCP server in a terminal:
npm run start
-
In Cursor, go to Settings > Extensions > MCP Servers
-
Add a new MCP server with these settings:
- Name: Omi API
- URL: stdio:/path/to/your/omi-mcp-local/dist/index.js
- Enable the server
-
Now you can use the Omi tools directly within Cursor. For example:
@Omi API Please fetch memories for user "user123" and summarize them. -
Cursor will communicate with your MCP server to execute the necessary API calls.
The MCP server provides the following tools:
Retrieves conversations from Omi for a specific user, with optional filters.
Parameters:
user_id(string): The user ID to fetch conversations forlimit(number, optional): Maximum number of conversations to returnoffset(number, optional): Number of conversations to skip for paginationinclude_discarded(boolean, optional): Whether to include discarded conversationsstatuses(string, optional): Comma-separated list of statuses to filter conversations by
Retrieves memories from Omi for a specific user.
Parameters:
user_id(string): The user ID to fetch memories forlimit(number, optional): Maximum number of memories to returnoffset(number, optional): Number of memories to skip for pagination
Creates a new conversation in Omi for a specific user.
Parameters:
text(string): The full text content of the conversationuser_id(string): The user ID to create the conversation fortext_source(string): Source of the text content (options: "audio_transcript", "message", "other_text")started_at(string, optional): When the conversation/event started (ISO 8601 format)finished_at(string, optional): When the conversation/event ended (ISO 8601 format)language(string, optional): Language code (default: "en")geolocation(object, optional): Location data for the conversationlatitude(number): Latitude coordinatelongitude(number): Longitude coordinate
text_source_spec(string, optional): Additional specification about the source
Creates new memories in Omi for a specific user.
Parameters:
user_id(string): The user ID to create memories fortext(string, optional): The text content from which memories will be extractedmemories(array, optional): An array of explicit memory objects to be created directlycontent(string): The content of the memorytags(array of strings, optional): Tags for the memory
text_source(string, optional): Source of the text contenttext_source_spec(string, optional): Additional specification about the source
To test the MCP server, you can use the provided test client:
node test-mcp-client.jsThis will start an interactive test client that allows you to:
- Get conversations
- Get memories
- Create a conversation
- Quit
The test client uses a default test user ID (test-user-123) for all operations.
The MCP server includes built-in logging functionality that writes to both the console and a log file. This is useful for debugging and monitoring server activity.
Logs are written to logs/mcp-server.log in your project directory. The log file includes timestamps and detailed information about:
- Server startup and shutdown
- All API requests and responses
- Error messages and stack traces
- API calls to Omi
- Request parameters and response data
You can view the logs in real-time using the tail command:
tail -f logs/mcp-server.logThis will show you live updates as the server processes requests and interacts with the Omi API.
Each log entry follows this format:
[2024-03-21T12:34:56.789Z] Log message here
The timestamp is in ISO 8601 format, making it easy to correlate events and debug issues.
COMMUNITY