MCP gateway · source catalog · one balance

One endpoint.
Every data source
for your agent.

onemcp is OpenRouter for data. Your agent says what it needs. We find the right API, MCP server or registry, call it safely, charge it to one balance and return only the fields it asked for.

Works with MCP clients
Claude CodeCursorClaude DesktopDeepSeek HarnessMCP Inspector
4meta-tools instead of hundreds
75capabilities in the catalog
26no-code connectors
≈7 msgateway overhead, p95
1.0search recall@5, PL/EN

Internal MVP measurements: gateway benchmark and a set of 65 test queries.

Why onemcp

An agent with twenty MCP servers pays in tokens before it does anything.

  1. 01

    Context explosion. Every server loads all its tools with full schemas into the model. Cost and latency go up, accuracy goes down.

  2. 02

    Most sources have no MCP. APIs without a server or docs, websites without an API. Every team writes the same integrations.

  3. 03

    Eight sources, eight invoices. Separate accounts, keys, limits and billing with every paid data provider.

  4. 04

    Compliance says no. A bank won't let an agent reach any server on the internet without controls, isolation and audit.

How it works

Four tools
instead of hundreds.

The agent doesn't get the whole catalog. It gets four meta-tools whose descriptions fit in under 600 tokens, and pulls in only what it needs at the moment.

01 →

onemcp_search

Finds capabilities that match the need, in any language. Returns short cards instead of schemas.

"EUR to PLN rate" → nbp.rates.current · free
02 →

onemcp_describe

The full input schema, only when the arguments on the card are not enough.

ids: ["etherscan.gas.oracle"]
03 →

onemcp_call

Calls the source through the gateway and trims the response to the fields and token limit you asked for.

fields: ["ethereum.usd"] · max_tokens: 800
04 →

onemcp_balance

Balance, today's spend and limits: the agent knows what it can afford before it pays.

→ balance "$12.40" · today "$0.31"

The path of one onemcp_call

gateway overhead p95 ≈ 7 ms per paid call
  1. 01AuthenticationAPI key (HMAC) or OAuth 2.1
  2. 02Policiesallow/deny, scopes, RPS limits
  3. 03Reservationamount held in Redis before the call
  4. 04UpstreamSSRF guard, DNS pinning, cache
  5. 05Shapingfield projection, max_tokens, cursor
  6. 06Settlementdouble-entry ledger, append-only
  7. 07Responseuntrusted envelope: data, not instructions
→ the agent callsonemcp_call
{
  "id": "coingecko.price.simple",
  "args": { "ids": "ethereum", "vs_currencies": "usd" },
  "fields": ["ethereum.usd"],
  "max_tokens": 800
}
← the agent gets only what it asked for143 ms
{
  "data": { "ethereum": { "usd": 4123.51 } },
  "meta": { "cost": "$0.0002", "cached": false,
            "source": "coingecko" },
  "untrusted": true
}
OpenRouter for data

What OpenRouter is for models, onemcp is for data.

One connection, one balance, one set of policies, and underneath as many APIs, MCP servers, registries and websites as you need.

Tools in the agent's context
26 separate MCP servers75 tools · full schemas
onemcp4 tools · < 600 tokens
Feature OpenRouter · AI models onemcp · data and tools
One interfaceone API for many modelsone MCP endpoint for APIs, MCP servers, registries and sites without an API
Provider choicerouting and fallback between providerscapability search picks the source for the agent's question
Paymentscredits for any modelone balance for any source: prepaid or a monthly invoice
Your own keysBYOK for model providersBYOK with envelope encryption for your contracts with data providers
Controldata policies for promptsper-organization source allowlists, spend limits, audit log

Everything an agent working with data needs.

nbp.rates.on_datefree
frankfurter.fx.historicalfree

Capability search

Hybrid full-text and vector search in Polish and English. Cards of 40–80 tokens instead of full schemas.

OpenAPIHARMCPWWW
→
id: nbp
name: NBP
capabilities:
  - id: nbp.rates.current
    cost: free

No-code connectors

A declarative manifest instead of an integration. Connector Studio drafts it from OpenAPI, a HAR recording, an MCP server or a website, and a human approves it.

Stripe top-up+$25.00
coingecko.price.simple−$0.0002
etherscan.gas.oracle−$0.0004
nbp.rates.current · cache$0

One balance

Prepaid through Stripe or a monthly invoice. Source cost and margin per call, visible in the response. Bring your own keys (BYOK) welcome.

allownbp.*
allowgleif.lei.*
denyetherscan.account.*
limit$5.00 / day

Control and audit

Per-organization source allowlists, spend and request limits, a hash-chained audit log. Every external response is marked untrusted.

Source catalog

26 connectors · 75 capabilities · a new source in minutes, not days

See the full catalog →
  • CoinGecko

    Crypto and on-chain · prices, markets

    capabilities6
    price.simplefree
  • Etherscan

    Crypto and on-chain · accounts, gas

    capabilities5
    gas.oracleBYOK
  • Ethereum RPC

    Crypto and on-chain · blocks, tx

    capabilities5
    block.latestfree
  • DefiLlama

    Crypto and on-chain · TVL

    capabilities4
    protocol.tvlfree
  • NBP

    Finance · Polish FX rates, gold

    capabilities5
    rates.currentfree
  • Frankfurter (ECB)

    Finance · reference rates

    capabilities4
    fx.latestfree
  • KRS

    Registries · Polish companies

    capabilities2
    company.summaryfree
  • GLEIF

    Registries · LEI identifiers

    capabilities3
    lei.searchfree
  • Open-Meteo

    Weather · forecasts and history

    capabilities4
    weather.forecastfree
  • Wikipedia

    Knowledge · articles and summaries

    capabilities3
    page.summaryfree

Who it is for

→ Agent developers

Give an agent access to many sources quickly, without writing integrations.

  • ↳ one MCP endpoint
  • ↳ free tier and prepaid
  • ↳ ready-made connectors

→ Fintech and data teams

On-chain and market data from many paid APIs, with low latency.

  • ↳ one balance instead of eight invoices
  • ↳ cache and SLOs
  • ↳ BYOK for your own contracts

→ Banks and regulated institutions

Control, audit, isolation and data in the EU before an agent touches production.

  • ↳ per-organization source allowlists
  • ↳ audit log, SSO, invoicing
  • ↳ on-prem install (planned)

Start in three steps

  1. 1Create an organization

    Account, team and roles from day one. Test mode without a card.

  2. 2Top up your balance

    Stripe Checkout or a monthly invoice. The balance works with every source.

  3. 3Connect your agent

    One command in Claude Code, Cursor or Claude Desktop. You will find the URL and key in the console.

    claude mcp add --transport http onemcp \
      "$ONEMCP_URL/mcp" \
      --header "Authorization: Bearer $KEY"
Security and compliance

Security that passes a bank's audit.

Tenant isolation
Postgres RLS on every organization query.
Controlled egress
SSRF guard with DNS pinning, no private addresses.
Keys and secrets
API keys stored as HMAC + pepper, BYOK with envelope encryption.
A tamper-evident audit log
Append-only with a hash chain. A correction is a new entry.
Standard authorization
OAuth 2.1 with PKCE and DCR for MCP clients.
External content is data
Every response comes in an untrusted envelope, never as instructions.

Pay for calls, not subscriptions.

A cached result? You pay only the platform fee.

01 · PREPAID

Top up and go

Stripe Checkout. Each paid call deducts the source cost plus margin from your balance.

02 · POSTPAID

Monthly invoice

For organizations: a contractual credit limit, one invoice for all sources.

03 · BYOK

Your key, our infrastructure

No upstream cost, only a platform fee per call.

04 · ENTERPRISE

On-prem and SLA

Annual license, support, SSO and installation in your infrastructure.

Connect your agent
to every → source