Skip to main content
Glama

omnistream-mcp

MCP (Model Context Protocol) server for OmniStream. Lets AI assistants discover and call any marketplace API directly.

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

Related MCP server: decixa-mcp

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 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:

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

Get an Omni key at 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"

  • OmniStream - the marketplace this server talks to, with a browsable list of every API, live uptime and a try-it console

  • omnistream-sdk - the same marketplace from TypeScript or Python

  • omnistream-go - the Go client

License

MIT

Available Tools

7 tools
call_apiA

Call any published API on the OmniStream marketplace using the proxy. Your Omni key (OMNI_KEY env var) authenticates the request - you never need the upstream API key. Use get_api first to learn the available endpoints and their parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body for POST endpoints. If provided, the request is sent as POST with JSON body.
slugYesThe API slug (e.g. 'skinapi').
paramsNoQuery string parameters as key-value pairs (e.g. {"q": "ak 47", "limit": "10"}).
operationYesThe operationId of the endpoint to call (e.g. 'status', 'items-search'). Get these from get_api or list_endpoints.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses authentication behavior (OMNI_KEY env var, no upstream key needed) and suggests a workflow. However, it lacks details on error handling, rate limits, or response format, which would be helpful for a proxy tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no redundancy: purpose, authentication, and prerequisite are all covered concisely. Each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, nested objects, and no output schema, the description adequately covers what the tool does, authentication, and a necessary prerequisite. It could hint at the response format but is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters documented. The description adds context about using slug and operation but does not provide additional meaning beyond the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it calls any published API via proxy, using the Omni key for authentication. It distinguishes from siblings like get_api (which discovers endpoints) by specifying it is the tool to execute the actual API call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using get_api first to learn endpoints and parameters, which is a clear prerequisite. It does not explicitly state when not to use this tool or list alternatives, but the context signals (sibling tools) suggest other tools are for discovery or streaming.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_apiA

Get full details for a specific API: description, base URL, authentication method, all endpoints with their HTTP method, path, parameters, and summary. Use this before calling call_api to understand what parameters an endpoint needs.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe API slug (e.g. 'skinapi'). Get slugs from list_apis or search_apis.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description lists the data it returns but does not explicitly state that it is a read-only operation with no side effects, nor does it mention auth requirements or rate limits. Adequate for a get-details tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-loading the return value list and usage guidance. Every sentence provides value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one parameter and no output schema, the description covers all necessary information: what is returned, how to use it (before call_api), and how to get the slug. Complete for this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; parameter has description in schema. The tool description adds 'Get slugs from list_apis or search_apis' which is already in schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it gets full details for a specific API, listing components. Distinguishes from list_apis/search_apis by specifying 'a specific API' and mentions use case before call_api.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use this before calling call_api' and references list_apis/search_apis for slug retrieval. Does not list exclusions but provides clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_streamA

Get details for a specific real-time stream including description, update interval, and the last 5 data samples to understand the payload shape.

ParametersJSON Schema
NameRequiredDescriptionDefault
stream_idYesThe stream ID (e.g. 'stream-id-alpha-774'). Get IDs from list_streams.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool returns description, update interval, and last 5 data samples, which is good behavioral context. It does not explicitly state it is a read-only operation, but 'Get' implies that. No contradictions exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently communicates the tool's purpose and return value. It is front-loaded with the verb and resource, and every part adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema, no nested objects), the description fully covers what the tool does and what it returns. It mentions the key pieces of information returned (description, update interval, last 5 samples), making it complete for an agent to understand and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with a clear description for stream_id, including an example and guidance to get IDs from list_streams. The tool description adds no additional parameter-specific information beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'details for a specific real-time stream', listing specific fields (description, update interval, last 5 data samples). This distinguishes it from sibling tools like list_streams, which lists streams rather than retrieving details for a single stream.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you need detailed payload information and recent samples for a specific stream. However, it does not explicitly state when not to use it or mention alternatives beyond the schema hint to get IDs from list_streams. The context is clear but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_apisA

List all published APIs on the OmniStream marketplace. Returns slug, title, category, endpoint count, rating, and uptime for each API. Use this to browse what is available before calling search_apis or get_api.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional: filter by category name (e.g. 'Gaming', 'Finance', 'Weather'). Case-insensitive substring match.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that the tool returns a list of APIs with specific fields (slug, title, category, etc.) and implies a read-only operation. It does not mention pagination or rate limits, but for a simple list operation, it provides adequate behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states action and output, second provides usage guidance. Every sentence adds value with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (list with one optional filter, no output schema). The description covers what it returns and when to use it. It could mention pagination or default ordering, but the current level is sufficient for typical usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the single parameter 'category' is fully described in the schema). The tool description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the verb 'List' and the resource 'all published APIs on the OmniStream marketplace.' It distinguishes from siblings by noting it returns summary fields (slug, title, category, endpoint count, rating, uptime) and positioning it for browsing before search_apis or get_api.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly recommends using this for browsing before calling search_apis or get_api, providing clear context and alternatives. It lacks explicit when-not scenarios, but the guidance is sufficient for typical use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_endpointsA

List all endpoints for a specific API with their operation IDs, HTTP methods, paths, and required parameters. Lighter than get_api when you only need the endpoint list.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe API slug.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It implies a read-only listing operation and adds behavioral context by comparing to 'get_api' as lighter. No destructive actions mentioned, but could be more explicit about safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and usage comparison. No wasted words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (single parameter, no output schema), the description is sufficiently complete, covering purpose, return content, and usage guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description does not add extra meaning to the 'slug' parameter beyond what the schema provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'endpoints for a specific API', and specifies the returned fields (operation IDs, HTTP methods, paths, required parameters). It also distinguishes itself from the sibling tool 'get_api' by noting it is 'lighter'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool instead of 'get_api': 'Lighter than get_api when you only need the endpoint list.' Provides clear context for tool selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_streamsA

List all available real-time data streams on the OmniStream Grid. Returns stream ID, title, category, update interval, and current subscriber count.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It states return fields but does not disclose behavioral traits like authentication, rate limits, or side effects. For a read-only list, this is minimally adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with clear action and front-loaded purpose. No redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and zero parameters, the description fully covers the tool's function and return values. No missing context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0 parameters with 100% coverage. Description does not need to add parameter info; baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('list') and resource ('available real-time data streams'), clearly distinguishes from sibling tools like 'get_stream' (single stream) and 'list_apis' (different resource). The returned fields are enumerated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for browsing all streams but does not provide explicit guidance on when to use versus alternatives. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_apisA

Search the OmniStream marketplace by keyword using BM25 ranking. Searches across API titles, descriptions, tags, and endpoint names. Returns ranked results with relevance scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (default 10, max 50).
queryYesSearch keywords, e.g. 'cs2 skin prices' or 'weather forecast'.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description discloses search algorithm (BM25), search scope (across API titles, descriptions, tags, endpoint names), and output format (ranked results with relevance scores). Lacks details on authentication or rate limits, but acceptable for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no unnecessary words, front-loaded with primary action. Each sentence adds distinct information: what it does, scope, and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main aspects: search mechanism, fields searched, and return format. No output schema, but description sufficiently explains results. Minor missing detail on whether results include full API objects or just IDs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions; description adds value by explaining that search covers multiple fields and uses BM25 ranking, providing context beyond parameter names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'search' with specific verb and resource ('OmniStream marketplace'), uses BM25 ranking, searches across multiple fields (titles, descriptions, tags, endpoint names), and distinguishes from siblings like list_apis and get_api.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for keyword-based search, but does not explicitly exclude alternatives like list_apis for browsing or get_api for specific APIs. However, the search intent is clear and contextually sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv0.1.1
    • First observedcall_api
    • First observedget_api
    • First observedget_stream
    • First observedlist_apis
    • First observedlist_endpoints
    • First observedlist_streams
    • First observedsearch_apis

TDQS

A4.3/5.0
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
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/soccervortex/omnistream-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server