Provider hosted
No sign in
Tools: 93

Ocean

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.ai

Use in your AI tool

Use the tools from this page

Opens ChatGPT on the web or desktop and asks it to use the WebMCP tools available here.

Connect the MCP server

Connect straight to this server’s public endpoint.

Remote MCP URL
https://mcp.oncompute.ai/

Use on MCPBundles

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

Tools discovered (93)

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 brands

Frequently Asked Questions

What is the Ocean MCP server?

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.

How do I connect Ocean to my AI agent?

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.

How many tools does Ocean provide?

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.

What authentication does Ocean require?

No provider sign-in was required during MCPBundles' probe. Your client may still need MCPBundles credentials depending on how you connect.

Maintain this listing

Operate Ocean? Verify ownership to take over this directory entry.

Operate Ocean?

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.

Claim this listing