# Connect an AI agent with MCP

The Strovio MCP server, `strovio-mcp`, lets an MCP client list, upload, inspect and delete your Strovio files. It runs on your computer over stdio, started by the client with `npx`, and talks to `https://strovio.xyz` with your API key.

## Prerequisites

- Node.js 18 or later: `node --version`. Install from [nodejs.org](https://nodejs.org) if missing.
- A Strovio API key. See [Create an account and an API key](https://strovio.xyz/docs/get-an-api-key).
- The package is published: `npm view strovio-mcp version` prints a version. If it prints `404 Not Found`, the package is not published yet; use the [REST API](https://strovio.xyz/docs/upload-and-download) instead.

## Environment

| Variable | Required | Value |
|---|---|---|
| `STROVIO_API_KEY` | Yes | Your `sk_live_...` key |
| `STROVIO_API_URL` | No | Defaults to `https://strovio.xyz`. Origin only, no `/api/v1`. |

Every client below stores the key in plain text in its own config file (Claude Code in `~/.claude.json`, the others in the files named in their sections). Keep those files out of version control and readable only by you.

## Claude Code

With the key already in `STROVIO_API_KEY` (so it does not land in your shell history), on macOS and Linux:

```bash
claude mcp add -s user strovio -e STROVIO_API_KEY="$STROVIO_API_KEY" -- npx -y strovio-mcp
```

Windows (native, not WSL), where `npx` must run through `cmd /c`:

```powershell
claude mcp add -s user strovio -e STROVIO_API_KEY=$env:STROVIO_API_KEY -- cmd /c npx -y strovio-mcp
```

`-s user` makes it available in every project; leave it out to add it to the current project only. Options go before `--`. Check with `claude mcp list`; `strovio` should show as connected.

## Claude Desktop

Open Settings, then Developer, then Edit Config. On Windows, use `"command": "cmd"` and `"args": ["/c", "npx", "-y", "strovio-mcp"]` if the server fails to start. The file is `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS and `%APPDATA%\Claude\claude_desktop_config.json` on Windows. Add:

```json
{
  "mcpServers": {
    "strovio": {
      "command": "npx",
      "args": ["-y", "strovio-mcp"],
      "env": { "STROVIO_API_KEY": "sk_live_..." }
    }
  }
}
```

Restart Claude Desktop. The Strovio tools appear in the tools menu.

## Cursor

Put the same `mcpServers` block in `~/.cursor/mcp.json` for every project, or `.cursor/mcp.json` in one project. Do not commit a file that contains the key. Open Cursor Settings, then MCP, and check that `strovio` is enabled with five tools.

## Codex

From a terminal on macOS or Linux:

```bash
codex mcp add strovio --env STROVIO_API_KEY="$STROVIO_API_KEY" -- npx -y strovio-mcp
```

On Windows, in PowerShell:

```powershell
codex mcp add strovio --env STROVIO_API_KEY=$env:STROVIO_API_KEY -- cmd /c npx -y strovio-mcp
```

Or add to `~/.codex/config.toml` (on Windows, `%USERPROFILE%\.codex\config.toml`):

```toml
[mcp_servers.strovio]
command = "npx"
args = ["-y", "strovio-mcp"]
env = { STROVIO_API_KEY = "sk_live_..." }
```

On Windows, use `command = "cmd"` and `args = ["/c", "npx", "-y", "strovio-mcp"]`. Start a new Codex session and run `/mcp`; `strovio` should list five tools.

## Other MCP clients

Any client that can start a stdio server works. Command `npx`, arguments `-y strovio-mcp`, environment `STROVIO_API_KEY`.

## Tools

| Tool | Use it to | Arguments |
|---|---|---|
| `list_files` | Find files and their exact keys, newest first | `prefix` (optional text the key contains anywhere, so `reports/` also matches `old/reports/`), `limit` (optional, 1 to 100) |
| `upload_file` | Upload a file from the computer running the server, up to 50 MiB. Replaces a file at the same key. | `filePath` (required), `key` (required, for example `reports/q1.pdf`), `access` (`public` or `private`, default `private`) |
| `get_file` | Get details and a download URL. Private URLs last one hour. | `key` (required) |
| `file_exists` | Check whether a file exists without downloading it | `key` (required) |
| `delete_file` | Permanently delete a file | `key` (required) |

Every tool returns JSON as text. Errors return `isError: true` with a message, the error code and a link to its fix.

`upload_file` reads `filePath` on the machine where the MCP server runs, so it suits local agents. The content type is set from the file extension.

## Try it

Ask your agent: "List my Strovio files." Then: "Upload ./notes.txt to Strovio as agent-test/notes.txt, private, and give me a download link." Then: "Delete agent-test/notes.txt from Strovio."

## Common errors

- The server does not start, and its log says "API key is required": `STROVIO_API_KEY` is not in the server's `env` block. Clients do not pass your shell's variables to MCP servers unless configured to.
- `Invalid or missing API key (invalid_api_key ...)`: the key is mistyped or was deleted. Create a new one at [strovio.xyz/developer](https://strovio.xyz/developer).
- `npm error 404 Not Found - GET https://registry.npmjs.org/strovio-mcp`: the package is not published yet. Use the REST API.
- `spawn npx ENOENT` or "command not found": Node.js is not installed or not on the client's `PATH`. Install Node.js 18+, restart the client, and on Windows use the `cmd /c` form.
- `Upload body cannot be larger than 50 MiB through the SDK`: use a [multipart upload](https://strovio.xyz/docs/large-uploads) with the REST API.
- `List limit must be an integer from 1 to 100`: pass a smaller `limit`.

## Hosted MCP

There is no hosted (remote) Strovio MCP server yet, so browser-based agents such as ChatGPT cannot connect. Use the REST API from any agent that can make HTTP requests.

---

Source: https://strovio.xyz/docs/mcp
All docs for agents: https://strovio.xyz/llms.txt
