GPU Inference by the Hour | Ocean Network
Ocean Network is a peer to peer GPU cloud for AI inference. Serve any open model behind an OpenAI-compatible endpoint on a dedicated H200 from $2.16 an hour.
https://oncompute.aiOpens ChatGPT on the web or desktop and asks it to use the WebMCP tools available here.
Connect straight to this server’s public endpoint.
https://mcp.oncompute.ai/We add this server to your workspace, then open Studio — saved access, one connection to many servers, with a history of what ran.
Last probed Sep 14, 2026 · mcp.oncompute.ai
93tools discovered
Showing 25 of 93 from the live probe.
Get all peers for MCP Server
Gets all peers connected to this MCP Server (libp2p peer store).
Get node status
Gets ocean-node status via the P2P **status** command. Use **nodeId** and/or **multiaddress** to target the peer. The payload may include **persistentStorage** (object, optionally with **accessLists**) only when the node has persistent storage configured—agents must use this to decide if persistent storage bucket/file tools are allowed for that node. ## Default node targets If the user has not specified a `nodeId` / `multiaddress`, default to Ocean's recommended compute nodes by use case: - `16
Find compute (C2D) providers by resources
Typed compute-provider discovery over the DHT (`ProviderInstance.findComputeProviders`). Pass ordinary resource values — no hand-built search string, no bucket math. Provide **free** (true = free tier, false = paid) and one or more **resources** (e.g. `[{ "resource": "cpu", "value": 4 }, { "resource": "ram", "value": 8 }]`). Multiple resources are **AND-intersected** in a single call. Optional **models** (e.g. `{ "gpu": "A100" }`) is applied only when verifying a candidate's real environments.
Find provider for specific string
DHT lookup: hashes content (SHA-256) and returns peers that provided that exact string (e.g. a DID). Results are `{ id, multiaddrs, partial?, error? }` per peer — `partial` marks a walk that ended early. For compute (C2D) capacity discovery use **find_compute_providers** (typed resource search with verification) instead of hand-building a key here.
Get compute environments for a specific node
Calls P2pProvider.getComputeEnvironments — lists compute environments exposed by the target node (no auth). ## Default node targets If the user has not specified a `nodeId` / `multiaddress`, default to Ocean's recommended compute nodes by use case: - `16Uiu2HAmR9z4EhF9zoZcErrdcEJKCjfTpXJfBcmbNppbT3QYtBpi` — **Free compute** (`freeComputeStart`). - `16Uiu2HAm94yL3Sjem2piKmGkiHCdJyTn3F3aWueZTXKT38ekjuzr` — **Paid compute** (`computeStart`) — accepts **COMPY** (Ocean grant token) on Base. Resolve
Get node resource metrics (live)
Live per-node resource snapshot (`getNodeMetrics`): CPU, memory, storage, GPU and per-environment usage collected at `collectedAt`. No auth. **Returns:** a `NodeMetricsSnapshot`, or `null` if the target node does not expose this feature (older ocean-node). ## Default node targets If the user has not specified a `nodeId` / `multiaddress`, default to Ocean's recommended compute nodes by use case: - `16Uiu2HAmR9z4EhF9zoZcErrdcEJKCjfTpXJfBcmbNppbT3QYtBpi` — **Free compute** (`freeComputeStart`). -
Get node resource metrics (hourly history)
Hourly-averaged node resource metrics over a time window (`getNodeMetricsHistory`). No auth. **Returns:** a `NodeMetricsHistoryResult` with an `buckets` array, or `null` if the target node does not expose this feature (older ocean-node).
P2P resolve DDO (getDDO)
Fetches a DDO by DID from a target ocean-node over libp2p (`P2pProvider.resolveDdo`). No consumer signature. **Returns:** Raw node response for `getDDO` (typically the DDO JSON object or node-specific envelope).
P2P validate DDO
Runs `validateDDO` on the node with a full DDO payload. Requires auth. ## Identity modes for an agent An agent acting for a user proves identity in one of two ways: (1) it **holds a private key** and signs locally (mint a token via create_auth_token, or build a completeSignature), or (2) the user/agent **passes an authToken**. Only the private-key mode can also auto-fix escrow (deposit/authorize). **Auth tokens are per-node** — a token is bound to the node it was minted for and must match the c
P2P list node compute jobs
Calls `jobs` on the node (`P2pProvider.getNodeJobs`). No auth. **Inputs:** optional `fromTimestamp` filters jobs (Unix ms) when supported by the node. **Returns:** Array of `NodeComputeJob` objects (jobId, status, environment, payment, etc.) or empty array on failure paths inside the library.
P2P get consumer nonce
Returns the node’s current nonce for an address (`P2pProvider.getNonce`). **No auth.** Use this before building a `completeSignature`: the value you sign with must use **nonce = String(returnedNonce + 1)** (see auth guide). **Returns:** Integer nonce (number).
P2P get file info
Resolves file metadata via `fileInfo` (`P2pProvider.getFileInfo`). No consumer signature. ## fileObject shape (required fields per `type`) - `{ "type": "url", "url": "...", "method": "get" | "post", "headers"?: {...} }` — **`method` is REQUIRED** (lowercase `get` or `post`; the node rejects with *"URL or method are missing"* otherwise). The URL must not look like a bare file path. - `{ "type": "ipfs", "hash": "..." }` - `{ "type": "arweave", "transactionId": "..." }` - `{ "type": "s3", "s3Acces
P2P initialize compute
Pricing/validation for compute (`initializeCompute`). No auth required. **Always call before `computeStart` to learn the real cost.** ## Duration vs escrow lock — different things - **maxJobDuration** / **validUntil**: container run time (seconds). Clamped to env `[minJobDuration, maxJobDuration]`; billed at ≥ `minJobDuration`. Use `env.minJobDuration` for a quick test. - **payment.minLockSeconds**: escrow-lock requirement = `maxJobDuration + queueMaxWaitTime + claimDurationTimeout` (node confi
P2P start paid compute
Starts a paid compute job (`startCompute`). Requires auth. **Paid jobs need on-chain escrow deposit + authorization.** This tool runs an escrow **preflight gate**: it resolves your consumer address (from `authToken` / `completeSignature`), checks funds + the node authorization, and **refuses to start** if escrow can't back the job (bypass with `skipEscrowPreflight: true`). To provision ahead of time, call **escrow_preflight** (with a `privateKey` it deposits + authorizes for you). Two distinct
P2P start free compute
Starts a free compute job (`freeStartCompute`). Requires auth. **Need auth?** Pass an existing JWT as `authToken`, or call `create_auth_token` first (ephemeral or own key) and pass the returned JWT. Ephemeral works on open free envs; check `env.free.access` from getComputeEnvironments — if `addresses` or `accessLists` is non-empty, the consumer must be allowed. ## After starting: poll to completion, fetch output — do NOT ask between polls Call **computeStatus** every ~5–10s until terminal, the
P2P stop compute job
Stops a running job (`stopCompute`). Requires auth. ## Identity modes for an agent An agent acting for a user proves identity in one of two ways: (1) it **holds a private key** and signs locally (mint a token via create_auth_token, or build a completeSignature), or (2) the user/agent **passes an authToken**. Only the private-key mode can also auto-fix escrow (deposit/authorize). **Auth tokens are per-node** — a token is bound to the node it was minted for and must match the computeStart target
P2P compute status
Queries job status (`getComputeStatus`). Requires auth. ## After starting: poll to completion, fetch output — do NOT ask between polls Call **computeStatus** every ~5–10s until terminal, then fetch the result without asking. Status (`C2DStatusNumber`): - **70 / 71** → success. Fetch via **getComputeResult** (base64). (There is no URL variant over P2P — the node returns the result bytes directly.) - **Failure** (`statusText` contains "failed" / "expired" / "vulnerabilities" / "disk quota exceede
P2P get compute result (binary)
Streams a compute result file and returns it as base64 (`getComputeResult`). Requires auth. ## Identity modes for an agent An agent acting for a user proves identity in one of two ways: (1) it **holds a private key** and signs locally (mint a token via create_auth_token, or build a completeSignature), or (2) the user/agent **passes an authToken**. Only the private-key mode can also auto-fix escrow (deposit/authorize). **Auth tokens are per-node** — a token is bound to the node it was minted for
P2P download node logs
Fetches operator logs from the node (`getLogs`). Requires auth. ## Identity modes for an agent An agent acting for a user proves identity in one of two ways: (1) it **holds a private key** and signs locally (mint a token via create_auth_token, or build a completeSignature), or (2) the user/agent **passes an authToken**. Only the private-key mode can also auto-fix escrow (deposit/authorize). **Auth tokens are per-node** — a token is bound to the node it was minted for and must match the computeS
P2P create persistent storage bucket
Creates a bucket (`persistentStorageCreateBucket`). Requires auth. ## Node capability check (required first) Before **createPersistentStorageBucket**, **getPersistentStorageBuckets**, **listPersistentStorageFiles**, **getPersistentStorageFileObject**, or **deletePersistentStorageFile**, call **node_status** on the **same** target (`nodeId` / `multiaddress`). Ocean-node only adds **`persistentStorage`** to the status JSON when **`config.persistentStorage`** is enabled: the handler sets `nodeSta
P2P list persistent storage buckets
Lists buckets for an owner (`persistentStorageGetBuckets`). Requires auth. ## Node capability check (required first) Before **createPersistentStorageBucket**, **getPersistentStorageBuckets**, **listPersistentStorageFiles**, **getPersistentStorageFileObject**, or **deletePersistentStorageFile**, call **node_status** on the **same** target (`nodeId` / `multiaddress`). Ocean-node only adds **`persistentStorage`** to the status JSON when **`config.persistentStorage`** is enabled: the handler sets
P2P list persistent storage files
Lists files in a bucket (`persistentStorageListFiles`). Requires auth. ## Node capability check (required first) Before **createPersistentStorageBucket**, **getPersistentStorageBuckets**, **listPersistentStorageFiles**, **getPersistentStorageFileObject**, or **deletePersistentStorageFile**, call **node_status** on the **same** target (`nodeId` / `multiaddress`). Ocean-node only adds **`persistentStorage`** to the status JSON when **`config.persistentStorage`** is enabled: the handler sets `nod
P2P get persistent storage file object
Returns the node's `PersistentStorageObject` descriptor for a bucket file (`persistentStorageGetFileObject`). Requires auth. **This is the intended way to obtain the `fileObject` for a persistent-storage dataset in a compute job:** call this with the `bucketId` + `fileName` (from `listPersistentStorageFiles` or what `createPersistentStorageBucket` + upload returned), then pass the returned descriptor as the dataset's `fileObject` in `computeStart`/`freeComputeStart` — with no `documentId`/`serv
P2P delete persistent storage file
Deletes a file from a bucket (`persistentStorageDeleteFile`). Requires auth. ## Node capability check (required first) Before **createPersistentStorageBucket**, **getPersistentStorageBuckets**, **listPersistentStorageFiles**, **getPersistentStorageFileObject**, or **deletePersistentStorageFile**, call **node_status** on the **same** target (`nodeId` / `multiaddress`). Ocean-node only adds **`persistentStorage`** to the status JSON when **`config.persistentStorage`** is enabled: the handler set
P2P get download fees (initialize)
Runs `initialize` / `getFees` for a dataset service file. **No auth.** Returns provider pricing / validation (`ProviderInitialize`) before download. **Returns:** Node-dependent fee / initialization object.
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Directory coverage for brandsOcean Network is a peer to peer GPU cloud for AI inference. Serve any open model behind an OpenAI-compatible endpoint on a dedicated H200 from $2.16 an hour.
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
MCPBundles probed 93 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
No provider sign-in was required during MCPBundles' probe. Your client may still need MCPBundles credentials depending on how you connect.
Operate Ocean? Verify ownership to take over this directory entry.
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.