# Build with AI agents

Strovio is built to be used by AI agents as well as people. This page lists every entry point. The REST API and the files for agents work today. The MCP server and the SDK work once their npm packages are published; check with the commands below.

## Files for agents

- [llms.txt](https://strovio.xyz/llms.txt): a short map of Strovio with instructions for agents.
- [llms-full.txt](https://strovio.xyz/llms-full.txt): every docs page in one Markdown file.
- Markdown pages: add `.md` to any docs URL, for example [strovio.xyz/docs/mcp.md](https://strovio.xyz/docs/mcp.md). Each HTML page also links its Markdown version with `<link rel="alternate" type="text/markdown">`.
- [OpenAPI document](https://strovio.xyz/openapi.json) for the REST API.

## Ways to act

| Entry point | Use it when | Auth |
|---|---|---|
| [MCP server](https://strovio.xyz/docs/mcp) `strovio-mcp` | Your agent runs on a computer with Node.js 18+ and supports local (stdio) MCP servers: Claude Code, Claude Desktop, Cursor, Codex | `STROVIO_API_KEY` environment variable |
| [REST API](https://strovio.xyz/docs/api) | Your agent can run `curl` or make HTTP requests, including from Windows, Linux containers and CI | `Authorization: Bearer sk_live_...` |
| [TypeScript SDK](https://strovio.xyz/docs/sdk) `strovio-sdk` | You are writing Node.js code | `STROVIO_API_KEY` environment variable or the `apiKey` option |

Before installing a package, check it is published and find the latest version:

```bash
npm view strovio-mcp version
npm view strovio-sdk version
```

If either command returns `404 Not Found`, that package is not published yet. Use the REST API instead; it supports every file operation the packages do.

There is no hosted (remote) MCP server and no command-line tool yet. Agents without a local shell, such as ChatGPT in a browser, cannot call Strovio directly today.

## Access

An API key belongs to a person's Strovio account. A person signs up at [strovio.xyz/signup](https://strovio.xyz/signup) and creates the key at [strovio.xyz/developer](https://strovio.xyz/developer). An agent cannot create a key without signing in as that person. See [Create an account and an API key](https://strovio.xyz/docs/get-an-api-key).

## Trying things safely

Strovio has no sandbox or test mode. To try it safely:

- Check the service without a key: `curl https://strovio.xyz/api/health` returns `{"ok":true,...}`, and `curl https://strovio.xyz/api/v1/files` returns `401` with code `invalid_api_key`.
- With a key, listing and getting files never change anything.
- Put test uploads under their own path such as `agent-test/`, keep them private, and delete them when you are done. Test files count towards the account's storage until deleted.

## Rules for agents

- Keep the API key in an environment variable or the MCP client's `env` block. Never commit it, paste it into a public file, or print it in logs. Every key has full access to the account's files, including deleting them.
- Uploading to an existing path with the same access replaces that file. Check with `file_exists` or `HEAD` first if that matters. Uploading the same path with the other access creates a second file, and path-only requests then return `409 ambiguous_key`.
- Deleting is permanent. Only delete files the person asked you to delete or that you created.
- Make a file public only when the person asks. Public URLs work for anyone who has them and do not expire.
- Do not sign up, sign in, or upgrade a plan on someone's behalf without their explicit go-ahead.

## Snippet for your AGENTS.md

Paste this into your own repository's `AGENTS.md`, `CLAUDE.md` or Cursor rules:

```markdown
## File storage (Strovio)

- Docs for agents: https://strovio.xyz/llms.txt (add .md to any https://strovio.xyz/docs URL for Markdown).
- Auth: STROVIO_API_KEY (sk_live_...) from the environment. Never commit it.
- Upload: PUT https://strovio.xyz/api/v1/files/<path> with Authorization: Bearer $STROVIO_API_KEY, Content-Type and X-Access: public|private.
- Get a download URL: GET https://strovio.xyz/api/v1/files/<path>. Private URLs expire after 1 hour.
- List: GET https://strovio.xyz/api/v1/files?prefix=<text>&limit=<1-1000>. Delete: DELETE https://strovio.xyz/api/v1/files/<path>.
- Errors return JSON with error, code and doc_url. Read doc_url before retrying. Retry 5xx with backoff; fix the request for 4xx.
- Uploading to an existing path with the same access replaces it. Deleting is permanent.
```

---

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