> ## Documentation Index
> Fetch the complete documentation index at: https://sella.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Sella MCP tools: all parameters and JSON-RPC examples

> Complete reference for all nine Sella MCP tools — parameters, authentication requirements, cost, and copy-paste JSON-RPC 2.0 examples.

Every Sella capability is exposed as an MCP tool served from a single endpoint. Send a `tools/call` JSON-RPC 2.0 request to invoke any tool:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "<tool>",
    "arguments": {}
  }
}
```

**Base URL:** `POST https://sellag.vercel.app/api/mcp`

## Tools at a glance

| Tool                  | Category  | Auth        | Cost          |
| --------------------- | --------- | ----------- | ------------- |
| `sella_auth_start`    | Auth      | None        | Free          |
| `sella_auth_complete` | Auth      | None        | Free          |
| `list_datasets`       | Discovery | Key / OAuth | Free          |
| `search_datasets`     | Discovery | Key / OAuth | Free          |
| `list_market_apis`    | Discovery | Key / OAuth | Free          |
| `try_dataset`         | Evaluate  | Key / OAuth | Free          |
| `get_dataset`         | Purchase  | Key / OAuth | x402 (varies) |
| `cradle_breed_agent`  | Compute   | Key / OAuth | \$10 USDC     |
| `merge_models`        | Compute   | Key / OAuth | \$15 USDC     |

Authenticated tools accept `Authorization: Bearer sk_live_…` or an OAuth token with the `mcp:tools` scope. The two auth tools are unauthenticated so a fresh agent can bootstrap credentials before it has a key.

***

## Authentication tools

These two tools are **unauthenticated** — a brand-new agent uses them to get a key before it can call anything else. See [Authentication & wallets](/consumers/authentication).

### sella\_auth\_start

Sends a 6-digit one-time code to the provided email address. Call this first to begin the login flow.

<ParamField path="email" type="string" required>
  The operator's email address to send the code to.
</ParamField>

```json theme={null}
{
  "name": "sella_auth_start",
  "arguments": {
    "email": "you@example.com"
  }
}
```

***

### sella\_auth\_complete

Submits the 6-digit code and returns an `apiKey`, `agentId`, `mcpServerUrl`, and — on first login — a `walletConfig` for the newly provisioned wallet.

<ParamField path="email" type="string" required>
  The same email address used in `sella_auth_start`.
</ParamField>

<ParamField path="otp_code" type="string" required>
  The 6-digit code received by email.
</ParamField>

```json theme={null}
{
  "name": "sella_auth_complete",
  "arguments": {
    "email": "you@example.com",
    "otp_code": "123456"
  }
}
```

***

## Discovery tools

All three discovery tools are read-only and free. They return listing metadata — never paid content.

### list\_datasets · search\_datasets

Both tools accept identical filter parameters and return dataset listing metadata. Use `search_datasets` when you have a keyword query; use `list_datasets` to page through the catalogue with filters. See [Discover](/consumers/discover).

<ParamField path="query" type="string">
  Keyword search across title, description, and tags.
</ParamField>

<ParamField path="category" type="string">
  Filter by category slug.
</ParamField>

<ParamField path="tier" type="string">
  Pricing tier: `free`, `standard`, `premium`, or `enterprise`.
</ParamField>

<ParamField path="modality" type="string">
  Data modality: `structured` (tabular) or `document` (text/PDF).
</ParamField>

<ParamField path="format" type="string">
  File format: `csv`, `tsv`, `json`, `jsonl`, `parquet`, `txt`, `md`, or `pdf`.
</ParamField>

<ParamField path="max_price_usdc" type="number">
  Maximum per-access price in USDC. Excludes listings above this threshold.
</ParamField>

<ParamField path="required_fields" type="string[]">
  Schema columns that must exist in the dataset.
</ParamField>

<ParamField path="sort_by" type="string" default="newest">
  Sort order: `newest`, `popular`, `price_asc`, or `price_desc`.
</ParamField>

<ParamField path="limit" type="number" default="20">
  Number of results to return. Accepts 1–100.
</ParamField>

```json theme={null}
{
  "name": "search_datasets",
  "arguments": {
    "query": "sentiment",
    "required_fields": ["text", "label"],
    "max_price_usdc": 25
  }
}
```

***

### list\_market\_apis

Searches the 1,400+ provider [API Data Market](/consumers/api-market). Returns provider metadata, pricing, and chain availability.

<ParamField path="query" type="string">
  Free-text search over provider name, description, and tags.
</ParamField>

<ParamField path="domain_type" type="string">
  Domain code `A1`–`A22`. For example, `A7` for web search and `A8` for scraping.
</ParamField>

<ParamField path="product_class" type="string">
  Product class `B1`–`B6`. For example, `B1` for pay-per-call APIs and `B2` for data products.
</ParamField>

<ParamField path="chain" type="string">
  Preferred settlement chain: `base`, `solana`, or `stellar`.
</ParamField>

<ParamField path="verified_only" type="boolean">
  When `true`, return only Sella-verified providers.
</ParamField>

<ParamField path="max_price_usdc" type="number">
  Maximum per-call price in USDC.
</ParamField>

<ParamField path="limit" type="number" default="25">
  Maximum results to return. Accepts up to 50.
</ParamField>

```json theme={null}
{
  "name": "list_market_apis",
  "arguments": {
    "query": "web scraping",
    "domain_type": "A8",
    "verified_only": true,
    "max_price_usdc": 0.01
  }
}
```

***

## Evaluation tool

### try\_dataset

Opens a dataset in a closed trial — returning a preview, schema coverage report, and full quality datacard — with no payment required. Use this before committing to a purchase. See [Evaluate](/consumers/evaluate).

<ParamField path="dataset_id" type="string" required>
  The ID of the dataset to trial.
</ParamField>

<ParamField path="required_fields" type="string[]">
  Fields to verify are present before you decide to purchase.
</ParamField>

```json theme={null}
{
  "name": "try_dataset",
  "arguments": {
    "dataset_id": "<id>",
    "required_fields": ["text", "label"]
  }
}
```

***

## Purchase tool

### get\_dataset

Returns the full content of a dataset. Free-tier datasets return content immediately. Paid tiers require a valid [x402](/reference/x402) payment signature. See [Purchase & payments](/consumers/purchase).

<ParamField path="dataset_id" type="string" required>
  The ID of the dataset to retrieve.
</ParamField>

<ParamField path="payment_signature" type="string">
  Base64-encoded x402 `PAYMENT-SIGNATURE` (v2, preferred). Produce this by signing the `402` challenge with your wallet key.
</ParamField>

<ParamField path="payment_proof" type="string">
  Legacy fallback proof (historically `X-PAYMENT-RESPONSE`). Use `payment_signature` for new integrations.
</ParamField>

<ParamField path="x_payment" type="string">
  Legacy v1 `X-PAYMENT` header value. Use `payment_signature` for new integrations.
</ParamField>

```json theme={null}
{
  "name": "get_dataset",
  "arguments": {
    "dataset_id": "<id>",
    "payment_signature": "<base64>"
  }
}
```

***

## Compute tools

Compute tools enqueue real GPU jobs and charge immediately. Both are annotated **destructive** — confirm the payment signature is correct before calling.

### cradle\_breed\_agent

Enqueues a Cradle fine-tuning job on GPU and returns a Job ID. **Costs \$10 USDC.** See [Compute](/consumers/compute).

<ParamField path="target_task" type="string">
  The NLP task to optimise for, e.g. `text-classification` or `summarization`.
</ParamField>

<ParamField path="base_model" type="string">
  An optional base-model hint to guide the breeding run.
</ParamField>

<ParamField path="payment_signature" type="string">
  x402 payment signature covering exactly \$10 USDC.
</ParamField>

```json theme={null}
{
  "name": "cradle_breed_agent",
  "arguments": {
    "target_task": "text-classification",
    "payment_signature": "<base64>"
  }
}
```

***

### merge\_models

Enqueues a MergeKit model-fusion job and returns a Job ID. **Costs \$15 USDC.**

<ParamField path="config_yaml" type="string" required>
  A valid MergeKit configuration in YAML format.
</ParamField>

<ParamField path="payment_signature" type="string">
  x402 payment signature covering exactly \$15 USDC.
</ParamField>

```json theme={null}
{
  "name": "merge_models",
  "arguments": {
    "config_yaml": "merge_method: linear\nmodels:\n  - model: mistralai/Mistral-7B-v0.1\n  - model: HuggingFaceH4/zephyr-7b-beta\ndtype: bfloat16",
    "payment_signature": "<base64>"
  }
}
```

<Note>
  `cradle_breed_agent` and `merge_models` are annotated **destructive** — they start real GPU jobs. `get_dataset` charges on paid tiers. All discovery and evaluation tools are read-only and free.
</Note>
