Skip to main content
Glama
README.md
# omnistream-mcp

MCP (Model Context Protocol) server for [OmniStream](https://omnistream.skinvaults.online). Lets AI assistants discover and call any marketplace API directly.

```bash
npx omnistream-mcp
```

## What it does

Exposes the OmniStream marketplace as MCP tools that AI assistants (Claude Desktop, Cursor, Continue, etc.) can call:

| Tool | Auth needed | Description |
|---|---|---|
| `list_apis` | No | Browse all published APIs |
| `search_apis` | No | BM25 keyword search |
| `get_api` | No | Full API details + all endpoints |
| `list_endpoints` | No | Endpoint list for one API |
| `call_api` | Yes (OMNI_KEY) | Proxy-call any API endpoint |

## Why one server instead of one per service

Most MCP servers wrap a single service, so covering ten APIs means installing and configuring ten
servers. This one connects your assistant to a whole marketplace: **195+ REST APIs** behind a single
install and a single key, from Hacker News, Wikipedia and the World Bank to GitHub, Stripe and
Anthropic.

Adding an API to the marketplace makes it callable here immediately, with no client update.

## Keys stay out of the conversation

Many of the listed APIs are keyless and work the moment you connect. For the ones that need a
provider key (bring your own key), you store that key once on
[OmniStream](https://omnistream.skinvaults.online) and the proxy injects it server-side on each
call. The assistant only ever holds your Omni key, so an upstream credential is never pasted into a
prompt or exposed in a tool result.

## Claude Desktop setup

Add to `~/.claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "omnistream": {
      "command": "npx",
      "args": ["omnistream-mcp"],
      "env": {
        "OMNI_KEY": "omni_live_your_key_here"
      }
    }
  }
}
```

Get an Omni key at [omnistream.skinvaults.online](https://omnistream.skinvaults.online) (free to start).

## Cursor / Continue / other MCP clients

Same pattern - set `OMNI_KEY` as an environment variable and point the client at `npx omnistream-mcp`.

## Environment variables

| Variable | Default | Description |
|---|---|---|
| `OMNI_KEY` | - | Your Omni API key (required for `call_api`) |
| `OMNI_GATEWAY` | `https://grid.skinvaults.online` | Gateway base URL (override for self-hosted) |

## Example AI prompts

With this MCP server connected, you can ask your AI assistant:

- "What APIs are available on OmniStream?"
- "Search OmniStream for CS2 skin price APIs"
- "Get the endpoints for the skinapi API"
- "Call skinapi/items-search with q=ak47 and show me the results"

## Related

- [OmniStream](https://omnistream.skinvaults.online) - the marketplace this server talks to, with a
  browsable list of every API, live uptime and a try-it console
- [omnistream-sdk](https://github.com/soccervortex/omnistream-sdk) - the same marketplace from
  TypeScript or Python
- [omnistream-go](https://github.com/soccervortex/omnistream-go) - the Go client

## License

MIT

TDQS

A4.3/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a distinct purpose: call, get details, list, search, and stream-specific operations. No two tools overlap in functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case (e.g., list_apis, call_api), making them predictable and easy to understand.

Tool Count5/5

With 7 tools, the set is well-scoped for an API and stream marketplace, covering browsing, inspection, and invocation without excess.

Completeness4/5

The tool set covers key operations for APIs (list, search, get details, list endpoints, call) and streams (list, get details). Minor gaps like lacking filtering or pagination options prevent a perfect score.

Maintenance

ActivitySlowing
ResponsivenessNo issues