npm package: @reevv/omni-server
Description: Omni Server to route to all your other MCPs in one MCP.
Author: Reevv Inc
Latest version: 0.1.0

# Reevv Omni MCP Server

[https://reevv.io](https://reevv.io): The One MCP to manage all your MCPs

Reevv Omni MCP Server is a proxy server that joins multiple MCP⁠ servers into one. It fetches tool/prompt/resource configurations from Reevv Omni App⁠ and routes tool/prompt/resource requests to the correct underlying server.

[![smithery badge](https://smithery.ai/badge/@reevv/omni-server)](https://smithery.ai/server/@reevv/omni-server)

<a href="https://glama.ai/mcp/servers/0po36lc7i6">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/0po36lc7i6/badge" alt="MetaServer MCP server" />
</a>

Reevv Omni App repo: https://github.com/reevv/reevv-omni-app

## Installation

Reevv Omni MCP Server can be installed in different ways:

### Smithery

Sometimes Smithery works (confirmed in Windsurf locally) but sometimes it is unstable because Reevv Omni is special that it runs other MCPs on top of it. Please consider using manual installation if it doesn't work instead.

To install Reevv Omni MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@reevv/omni-server):

```bash
npx -y @smithery/cli install @reevv/omni-server --client claude
```

### Manual Installation for Claude Desktop

```bash
export REEVV_OMNI_API_KEY=<env>
npx -y @reevv/omni-server@latest
```

Include in your `claude-config.json`:

```json
{
  "Reevv Omni": {
    "command": "npx",
    "args": ["-y", "@reevv/omni-server@latest"],
    "env": {
      "REEVV_OMNI_API_KEY": "<your api key>"
    }
  }
}
```

## Development

```bash
npm install
npm run build
```

That's it!

## Configuration

### Environment Variables

- REEVV_OMNI_API_KEY: Required. Obtained from Reevv Omni App's "API Keys" page (https://reevv.io/api-keys).
- REEVV_OMNI_API_BASE_URL: Optional override for Reevv Omni App URL (e.g. http://localhost:12005).

### Command Line Arguments (alternative to env vars)

All env vars can also be specified via CLI args, which will take precedence:

```bash
npx -y @reevv/omni-server@latest --reevv-omni-api-key <your-api-key> --reevv-omni-api-base-url <base-url>
```

For a full list of available options:

```bash
npx -y @reevv/omni-server@latest --help
```

## Design

The package has three components:

1. The MCP Server, which connects to the client using the MCP protocol
2. The MCP Proxy, which routes requests to the appropriate server
3. The API wrapper, for communicating with the Reevv Omni App server

```mermaid
sequenceDiagram
participant MCPClient as MCP Client (e.g., Claude Desktop)
participant ReevvOmni-mcp-server as Reevv Omni MCP Server
participant ReevvOmniApp as Reevv Omni App
participant MCPServers as Installed MCP Servers in Reevv Omni App

MCPClient ->> ReevvOmni-mcp-server: Request list tools
ReevvOmni-mcp-server ->> ReevvOmniApp: Get tools configuration & status
ReevvOmniApp ->> ReevvOmni-mcp-server: Return tools configuration & status

par Querying each server in parallel
ReevvOmni-mcp-server ->> MCPServers: Request list_tools
MCPServers ->> ReevvOmni-mcp-server: Return list of tools
end

ReevvOmni-mcp-server ->> ReevvOmni-mcp-server: Aggregate tool lists
ReevvOmni-mcp-server ->> MCPClient: Return aggregated list of tools

MCPClient ->> ReevvOmni-mcp-server: Call tool
ReevvOmni-mcp-server ->> MCPServers: call_tool to target MCP Server
MCPServers ->> ReevvOmni-mcp-server: Return tool response
ReevvOmni-mcp-server ->> MCPClient: Return tool response
```

## Credits

- Inspirations and some code (refactored in this project) from https://github.com/adamwattis/mcp-proxy-server/