# SPREVA for AI agents Connect the AI agent you already use, and ask it in plain words to draft, schedule, publish and report on your social media. ## What an agent can do SPREVA speaks the Model Context Protocol (MCP), the open standard AI apps use to reach other software. Once connected, your agent works in your workspace the way you would: - Find posts, files, campaigns and accounts by name, or a picture by what it shows. - Write a post once, adapt it for each network, and schedule it or put it in a queue. - Publish now, after showing you exactly what will go out. - Import files, write alt text, group posts into campaigns and set up posting schedules. - Report how posts did, with the networks' own numbers. - Build and export videos in the Studio, and make images, on plans that include them. You never hand it an id. It names things the way you do, and every change goes through the same checks as the app. ## Start here - [Quickstart](https://dev.spreva.ai/docs/quickstart): connect your first agent in a minute. - [Ways to connect](https://dev.spreva.ai/docs/connect): a URL and sign-in, an API key, a local bridge, or the CLI. - [Two connectors](https://dev.spreva.ai/docs/connectors): SPREVA with every tool, or SPREVA Publishing without the Studio. - [Permissions and safety](https://dev.spreva.ai/docs/permissions): what an agent may do on its own, and what it asks you first. ## Pick your agent Step-by-step setup for each app, with its own menus and commands: - [ChatGPT](https://dev.spreva.ai/docs/agents/chatgpt) - [Claude](https://dev.spreva.ai/docs/agents/claude) - [Claude Cowork](https://dev.spreva.ai/docs/agents/claude-cowork) - [Claude Code](https://dev.spreva.ai/docs/agents/claude-code) - [Codex](https://dev.spreva.ai/docs/agents/codex) - [Cursor](https://dev.spreva.ai/docs/agents/cursor) - [Gemini](https://dev.spreva.ai/docs/agents/gemini) - [OpenClaw](https://dev.spreva.ai/docs/agents/openclaw) - [Hermes Agent](https://dev.spreva.ai/docs/agents/hermes) - [Grok](https://dev.spreva.ai/docs/agents/grok) - [Grok Build](https://dev.spreva.ai/docs/agents/grok-build) - [DeepSeek](https://dev.spreva.ai/docs/agents/deepseek) - [Kimi](https://dev.spreva.ai/docs/agents/kimi) - [Muse](https://dev.spreva.ai/docs/agents/muse) - [Perplexity Computer](https://dev.spreva.ai/docs/agents/perplexity) - [NanoClaw](https://dev.spreva.ai/docs/agents/nanoclaw) - [Paperclip](https://dev.spreva.ai/docs/agents/paperclip) - [MCP Server](https://dev.spreva.ai/docs/agents/mcp) - [AI Agents CLI](https://dev.spreva.ai/docs/agents/cli) ## For agents reading this These docs are plain text for AI agents too: [llms.txt](https://dev.spreva.ai/llms.txt) lists every page, [llms-full.txt](https://dev.spreva.ai/llms-full.txt) holds them all, and [skill.md](https://dev.spreva.ai/skill.md) is SPREVA's Agent Skill. --- # Quickstart Connect an AI agent to SPREVA in about a minute: paste one URL, sign in and click Allow. ## Before you start - A SPREVA account, and a workspace with at least one connected social account. - An AI app that can add a connector or an MCP server by URL. Most can: see [all agents](https://dev.spreva.ai/docs/agents). ## Connect 1. Copy the SPREVA connector URL: ```text https://dev-app.spreva.ai/api/mcp ``` 2. Paste it where your app adds connectors or MCP servers. In Claude, that is **Customize**, then **Connectors**. In ChatGPT, turn on developer mode first. Cursor, Claude Code, Codex and Gemini CLI take one line: see [your agent's page](https://dev.spreva.ai/docs/agents). 3. Your app opens SPREVA. Sign in, choose the workspace and click **Allow**. 4. Start a new conversation and ask: > What's going out this week on SPREVA? ## What happens next The agent calls `overview` first: the workspace's time zone and clock, what goes out next, what needs attention, and the accounts it can post to. From there, ask in your own words: - “Draft a LinkedIn post about Thursday's webinar and schedule it for 9 tomorrow morning.” - “Which of last month's Instagram posts did best?” - “Put yesterday's three product photos in the next free slots of the Weekday mornings queue.” - “Publish the launch post now.” Anything public or costly, like publishing now, is shown to you before it happens. See [Permissions and safety](https://dev.spreva.ai/docs/permissions). ## Next - [Choose a connector](https://dev.spreva.ai/docs/connectors) if an agent should not touch the Studio. - [Use an API key](https://dev.spreva.ai/docs/connect) for automation that runs without you. - [Troubleshooting](https://dev.spreva.ai/docs/troubleshooting), if sign-in keeps coming back. --- # Ways to connect Four ways in, from pasting a URL to running a command line. All four reach the same tools, with the same permissions. ## Which one to use - **Your app can add a connector or a remote MCP server**: use the URL and sign in. Most apps can. - **Nobody is there to click Allow**, as with a script, a server or a scheduled job: use an API key. - **Your app only starts MCP servers on your machine**: run the CLI's stdio bridge. - **Your agent works in a terminal and uses skills**: install the CLI and the Agent Skill. ## 1. Connector URL and sign in Your app talks to SPREVA over MCP's Streamable HTTP and signs you in with OAuth. There is no key to copy or keep safe: you choose the workspace on SPREVA's own page, and you can disconnect the app at any time. ```text https://dev-app.spreva.ai/api/mcp ``` 1. Paste the URL where your app adds a connector or an MCP server. 2. Your app opens SPREVA. Sign in, choose the workspace and click **Allow**. 3. What agents may do on their own is up to you in SPREVA, under **Settings**, then **Agents**, where you can also disconnect each app. > Recommended. It works in Claude, ChatGPT, Cursor, Claude Code, Codex, Gemini CLI, Kimi CLI and most apps that add MCP servers by URL. ## 2. API key in a header For automation that runs without a person, and for apps that cannot sign in with OAuth. Create a key in SPREVA under **Developer**, then **API keys**, and send it as a Bearer token: ```http Authorization: Bearer POST_API_KEY_... ``` Most apps take it in their JSON configuration. A key works with both connectors. ```json { "mcpServers": { "spreva": { "type": "http", "url": "https://dev-app.spreva.ai/api/mcp", "headers": { "Authorization": "Bearer POST_API_KEY_..." } } } } ``` > A key belongs to one workspace, and anyone who has it can act there. Keep it out of shared files and repositories, and revoke it when you no longer need it. ## 3. The CLI's stdio bridge Some apps only start MCP servers on your own machine, over stdio. `spreva mcp` is such a server: it runs locally, reads your API key from `SPREVA_API_KEY` and passes every call on to SPREVA. ```json { "mcpServers": { "spreva": { "command": "npx", "args": [ "-y", "@spreva/cli", "mcp" ], "env": { "SPREVA_API_KEY": "POST_API_KEY_...", "SPREVA_URL": "https://dev-app.spreva.ai" } } } } ``` It needs Node.js 20 or later. The tools, answers and permissions are the same as through the URL. ## 4. The CLI and the Agent Skill Agents that work in a terminal, such as OpenClaw, Hermes Agent, Claude Code and Codex, can use SPREVA as a command line. The Agent Skill tells them when to reach for it and how. 1. Install the CLI: ```sh npm i -g @spreva/cli ``` 2. Give it your API key: ```sh export SPREVA_API_KEY=POST_API_KEY_... export SPREVA_URL=https://dev-app.spreva.ai ``` 3. Install the skill for your agent. The targets are `claude`, `codex`, `openclaw`, `hermes` and `agents`, for any other agent that supports skills: ```sh spreva skill install --target claude ``` 4. Check that everything is in place: ```sh spreva doctor ``` More in [CLI](https://dev.spreva.ai/docs/cli) and [Agent Skill](https://dev.spreva.ai/docs/skill). --- # Two connectors SPREVA has two connector URLs. They are one server with the same answers, guarantees and permissions, and differ only in which tools they list. ## The two - **SPREVA**: `https://dev-app.spreva.ai/api/mcp` (17 tools). Everything, including videos in the Studio and AI images. - **SPREVA Publishing**: `https://dev-app.spreva.ai/api/mcp/publishing` (11 tools). Posts, media, campaigns, queues and results, without AI generation. ## Which one to use - **SPREVA** is the one to start with. An agent can do everything with it, including building videos in the Studio and making images. - **SPREVA Publishing** leaves out every tool that makes or edits media with AI. Choose it when your organization does not allow AI generation, or when an agent should only plan, publish and report. It is the one app directories list. ## What Publishing leaves out These tools are only on SPREVA, and they need a plan that includes the Studio: - `create_video`: Create a Studio video - `narrate_video`: Narrate a Studio video - `edit_video`: Change a Studio video - `review_video`: Review a Studio video - `render_video`: Export a Studio video - `generate_image`: Generate an image ## A sign-in is for one connector Signing in through one URL gives the app that connector only. To switch, remove SPREVA from the app and add it again with the other URL. An API key works with both. --- # AI agents SPREVA works with any app that speaks MCP, and with any agent that can run a command. Pick yours for its exact steps. - [ChatGPT](https://dev.spreva.ai/docs/agents/chatgpt): OpenAI's assistant. It connects to SPREVA through developer mode, on the web. - [Claude](https://dev.spreva.ai/docs/agents/claude): Anthropic's assistant, on the web, on the desktop and on mobile. - [Claude Cowork](https://dev.spreva.ai/docs/agents/claude-cowork): Claude's way of working on longer tasks. Since September 2026, it is part of Claude itself. - [Claude Code](https://dev.spreva.ai/docs/agents/claude-code): Anthropic's coding agent, in the terminal, in your editor and in the Claude desktop app. - [Codex](https://dev.spreva.ai/docs/agents/codex): OpenAI's coding agent, in the terminal, in the IDE extension and in the ChatGPT desktop app. - [Cursor](https://dev.spreva.ai/docs/agents/cursor): The AI code editor, whose agent can use MCP tools. - [Gemini](https://dev.spreva.ai/docs/agents/gemini): Google's assistant, in the Gemini app, in Gemini CLI and in Antigravity. - [OpenClaw](https://dev.spreva.ai/docs/agents/openclaw): An open-source personal agent that runs on your own machine and answers in your chat apps. - [Hermes Agent](https://dev.spreva.ai/docs/agents/hermes): Nous Research's open-source agent, which keeps what it learns as skills. - [Grok](https://dev.spreva.ai/docs/agents/grok): xAI's assistant, on grok.com and in its apps. - [Grok Build](https://dev.spreva.ai/docs/agents/grok-build): xAI's coding agent for the terminal. - [DeepSeek](https://dev.spreva.ai/docs/agents/deepseek): DeepSeek's assistant, on the web and in its apps. - [Kimi](https://dev.spreva.ai/docs/agents/kimi): Moonshot AI's assistant. SPREVA connects through Kimi Code CLI, its agent for the terminal. - [Muse](https://dev.spreva.ai/docs/agents/muse): Meta's personal agent, and Muse Code, its coding agent for the terminal. - [Perplexity Computer](https://dev.spreva.ai/docs/agents/perplexity): Perplexity's agent, which carries out long tasks across the web and your connected apps. - [NanoClaw](https://dev.spreva.ai/docs/agents/nanoclaw): A small open-source personal agent that runs each group's work in its own container. - [Paperclip](https://dev.spreva.ai/docs/agents/paperclip): Open-source software for running a company of AI agents, with goals, budgets and reviews. - [MCP Server](https://dev.spreva.ai/docs/agents/mcp): Any app that speaks the Model Context Protocol. - [AI Agents CLI](https://dev.spreva.ai/docs/agents/cli): SPREVA's command line, for any agent that can run shell commands. Not listed? If it can add an MCP server by URL, follow [MCP Server](https://dev.spreva.ai/docs/agents/mcp). If it can run shell commands, follow [AI Agents CLI](https://dev.spreva.ai/docs/agents/cli). --- # ChatGPT OpenAI's assistant. It connects to SPREVA through developer mode, on the web. - Connects with: Sign in - Plans: Pro, Plus, Business, Enterprise or Edu, on the web. On Business, Enterprise and Edu, an admin turns developer mode on for the workspace. ## Before you start - A ChatGPT plan with developer mode: Pro, Plus, Business, Enterprise or Edu. - ChatGPT in a browser, at chatgpt.com. Developer mode apps are set up and used on the web only. ## Set it up 1. Open **Settings**, then **Security and login**, and turn on **Developer mode**. 2. Open **Plugins** and click **+** to create an app. Name it SPREVA. 3. Under **Connection**, paste the SPREVA connector URL: ```text https://dev-app.spreva.ai/api/mcp ``` 4. Choose **OAuth** for authentication, leave the client ID and secret empty, and click **Create**. 5. ChatGPT opens SPREVA. Sign in, choose the workspace and click **Allow**. 6. In a new chat, open the **+** menu, choose **Developer mode** and add SPREVA. ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? ChatGPT calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, ChatGPT may ask you to allow the tool. ## Good to know - ChatGPT signs in with OAuth only: there is no place for an API key. - ChatGPT asks you to confirm each change SPREVA would make. Check what it will send before you confirm. ## Troubleshooting ### There is no way to create an app Developer mode is off, or your plan or your workspace admin does not allow it. Turn it on under Settings, then Security and login, or ask your admin. ### A new SPREVA tool doesn't show up Open SPREVA's page in ChatGPT's settings and refresh it: ChatGPT keeps the list of tools until you do. ## Official documentation - [Developer mode](https://developers.openai.com/api/docs/guides/developer-mode) - [Developer mode and MCP apps in ChatGPT](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt) --- # Claude Anthropic's assistant, on the web, on the desktop and on mobile. - Connects with: Sign in, CLI - Plans: Free (one custom connector), Pro, Max, Team and Enterprise. ## Before you start - A Claude account. Free accounts can add one custom connector. On Team and Enterprise, an owner adds it for the organization first. ## Set it up 1. On claude.ai or in the desktop app, open **Customize**, then **Connectors**. 2. Click **Add custom connector**, name it SPREVA and paste the URL. Leave **Advanced settings** empty. ```text https://dev-app.spreva.ai/api/mcp ``` 3. Click **Add**, then **Connect** next to SPREVA. 4. SPREVA opens in a new window. Sign in, choose the workspace and click **Allow**. 5. In a conversation, open the **+** menu, then **Connectors**, and check that SPREVA is on. ## Also works with - [The CLI's stdio bridge](https://dev.spreva.ai/docs/connect#stdio): Run `spreva mcp` as a local MCP server, for apps that only start servers on your machine. ```json title="claude_desktop_config.json" { "mcpServers": { "spreva": { "command": "npx", "args": [ "-y", "@spreva/cli", "mcp" ], "env": { "SPREVA_API_KEY": "POST_API_KEY_...", "SPREVA_URL": "https://dev-app.spreva.ai" } } } } ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Claude calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Claude may ask you to allow the tool. ## Good to know - Once added, SPREVA is also in the Claude desktop and mobile apps. Add it on the web or on the desktop. - The way a connector signs in cannot be changed after it is added. To change it, remove SPREVA and add it again. ## Troubleshooting ### SPREVA doesn't answer in a conversation Each conversation can turn connectors off. Open the + menu, then Connectors, and turn SPREVA on. ### Claude asks before every tool call That is Claude's own permission prompt. You can allow a tool once or always; SPREVA still asks before anything public or costly, according to Settings, then Agents. ### I can't add a custom connector On Team and Enterprise, an owner adds SPREVA under Organization settings, then Connectors. Members then click Connect under Customize, then Connectors. ## Official documentation - [Custom connectors using remote MCP](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp) - [Add a connector that isn't in the directory](https://claude.com/docs/connectors/custom/add-unlisted) --- # Claude Cowork Claude's way of working on longer tasks. Since September 2026, it is part of Claude itself. - Connects with: Sign in - Plans: Pro, Max, Team and Enterprise. > Cowork uses the connectors of your Claude account. Add SPREVA once, as on the [Claude](https://dev.spreva.ai/docs/agents/claude) page, and every task can use it. ## Before you start - A SPREVA account, with access to the workspace you want to connect. - A version of Claude Cowork that can add a connector or an MCP server by URL. ## Set it up 1. Add SPREVA as a custom connector in Claude, under **Customize**, then **Connectors**, with this URL, and click **Connect**: ```text https://dev-app.spreva.ai/api/mcp ``` 2. Start a task in Claude and ask for something in SPREVA. Connectors are picked up at the start of each task. ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Claude Cowork calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Claude Cowork may ask you to allow the tool. ## Official documentation - [Getting started with Cowork](https://support.claude.com/en/articles/13345190-getting-started-with-cowork) --- # Claude Code Anthropic's coding agent, in the terminal, in your editor and in the Claude desktop app. - Connects with: Sign in, API key, CLI, Skill - Plans: Any Claude plan that includes Claude Code, or an Anthropic API key. ## Before you start - Claude Code installed and signed in. ## Set it up 1. Add SPREVA as a remote server. `--scope user` makes it available in every project: ```sh claude mcp add --transport http --scope user \ spreva https://dev-app.spreva.ai/api/mcp ``` 2. Start Claude Code, run `/mcp`, choose **spreva** and sign in. Your browser opens SPREVA. 3. Sign in, choose the workspace and click **Allow**. Back in Claude Code, spreva shows as connected. ## Also works with - [API key in a header](https://dev.spreva.ai/docs/connect#api-key): Send a SPREVA API key as a Bearer token, for automation that runs without a person. ```sh export SPREVA_API_KEY=POST_API_KEY_... claude mcp add --transport http --scope user \ spreva https://dev-app.spreva.ai/api/mcp \ --header "Authorization: Bearer $SPREVA_API_KEY" ``` - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target claude ``` - [The CLI's stdio bridge](https://dev.spreva.ai/docs/connect#stdio): Run `spreva mcp` as a local MCP server, for apps that only start servers on your machine. ```sh export SPREVA_API_KEY=POST_API_KEY_... claude mcp add --transport stdio --scope user \ --env SPREVA_API_KEY=$SPREVA_API_KEY \ spreva -- npx -y @spreva/cli mcp ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Claude Code calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Claude Code may ask you to allow the tool. ## Good to know - With an API key in a header, a rejected key is reported as a failure: Claude Code does not fall back to signing in. - Signed in with a Claude subscription, the connectors you added on claude.ai appear in Claude Code by themselves. ## Troubleshooting ### SPREVA is missing in another project It was added without `--scope user`, so only one project has it. Remove it with `claude mcp remove spreva` and add it again with the scope. ### `/mcp` shows spreva as failed Check the URL with `claude mcp get spreva`. If it is right, sign in again from `/mcp`: the sign-in may have expired. ## Official documentation - [Connect Claude Code to tools via MCP](https://code.claude.com/docs/en/mcp) - [Agent Skills in Claude Code](https://code.claude.com/docs/en/skills) --- # Codex OpenAI's coding agent, in the terminal, in the IDE extension and in the ChatGPT desktop app. - Connects with: Sign in, API key, CLI, Skill - Plans: Included in ChatGPT Free, Go, Plus, Pro, Business, Enterprise and Edu, or with an OpenAI API key. ## Before you start - Codex installed and signed in. ## Set it up 1. Add SPREVA: ```sh codex mcp add spreva \ --url https://dev-app.spreva.ai/api/mcp ``` 2. Sign in. Your browser opens SPREVA: choose the workspace and click **Allow**. ```sh codex mcp login spreva ``` 3. Check that it is there. Inside Codex, `/mcp` lists it too. ```sh codex mcp list ``` ## Also works with - [API key in a header](https://dev.spreva.ai/docs/connect#api-key): Send a SPREVA API key as a Bearer token, for automation that runs without a person. ```sh export SPREVA_API_KEY=POST_API_KEY_... codex mcp add spreva \ --url https://dev-app.spreva.ai/api/mcp \ --bearer-token-env-var SPREVA_API_KEY ``` - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target codex ``` - [The CLI's stdio bridge](https://dev.spreva.ai/docs/connect#stdio): Run `spreva mcp` as a local MCP server, for apps that only start servers on your machine. ```sh export SPREVA_API_KEY=POST_API_KEY_... codex mcp add spreva \ --env SPREVA_API_KEY=$SPREVA_API_KEY \ -- npx -y @spreva/cli mcp ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Codex calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Codex may ask you to allow the tool. ## Good to know - The Codex CLI, the IDE extension and the ChatGPT desktop app share `~/.codex/config.toml`, so SPREVA is set up in all three at once. - Cloud tasks don't use the servers you add on your machine. ## Troubleshooting ### Sign-in doesn't start Run `codex mcp login spreva` again, and update Codex if it is old. ## Official documentation - [MCP in Codex](https://learn.chatgpt.com/docs/extend/mcp?surface=cli) - [Build skills for Codex](https://learn.chatgpt.com/docs/build-skills) --- # Cursor The AI code editor, whose agent can use MCP tools. - Connects with: Sign in, API key, Skill ## Before you start - A SPREVA account, with access to the workspace you want to connect. - A version of Cursor that can add a connector or an MCP server by URL. ## Set it up 1. Open `~/.cursor/mcp.json` to use SPREVA in every project, or `.cursor/mcp.json` inside one project. 2. Add SPREVA to it: ```json title="~/.cursor/mcp.json" { "mcpServers": { "spreva": { "url": "https://dev-app.spreva.ai/api/mcp" } } } ``` 3. In Cursor, open **Customize**, then **MCPs**, and follow the sign-in prompt next to spreva. SPREVA opens: sign in, choose the workspace and click **Allow**. 4. Ask the Agent for something in SPREVA. ## Also works with - [API key in a header](https://dev.spreva.ai/docs/connect#api-key): Send a SPREVA API key as a Bearer token, for automation that runs without a person. ```json title="~/.cursor/mcp.json" { "mcpServers": { "spreva": { "url": "https://dev-app.spreva.ai/api/mcp", "headers": { "Authorization": "Bearer ${env:SPREVA_API_KEY}" } } } } ``` - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target agents ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Cursor calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Cursor may ask you to allow the tool. ## Troubleshooting ### The chat doesn't use SPREVA Cursor's Agent uses MCP tools when they fit the request. Check that SPREVA's tools are on in the tools list at the top of the chat panel, or name SPREVA in your request. ### SPREVA works in one project only It is in that project's `.cursor/mcp.json`. Move it to `~/.cursor/mcp.json` to have it everywhere. ## Official documentation - [Model Context Protocol in Cursor](https://cursor.com/docs/mcp) - [Agent Skills in Cursor](https://cursor.com/docs/skills) --- # Gemini Google's assistant, in the Gemini app, in Gemini CLI and in Antigravity. - Connects with: Sign in, API key, Skill - Plans: Gemini app: custom apps for personal Google accounts in the US, in English. Gemini CLI: a paid Gemini API key, Vertex AI or Gemini Code Assist. Everyone else: Antigravity. ## Gemini On gemini.google.com. Once added, SPREVA works in the mobile app too. ### Before you start - A personal Google account, aged 18 or over, in the United States, with Keep Activity on and the Gemini app in English. Work and school accounts can't add custom apps. ### Set it up 1. On gemini.google.com, open **Settings**, then **Connected Apps**. Under **Custom apps**, choose **Add a custom app**. 2. Paste the SPREVA connector URL and click **Next**: ```text https://dev-app.spreva.ai/api/mcp ``` 3. Sign in to SPREVA, choose the workspace and click **Allow**. ## Gemini CLI In the terminal, for accounts with a paid Gemini API key, Vertex AI or Gemini Code Assist. ### Before you start - Gemini CLI installed, and signed in with a paid Gemini API key, Vertex AI or Gemini Code Assist Standard or Enterprise. ### Set it up 1. Add SPREVA: ```sh gemini mcp add --transport http --scope user \ spreva https://dev-app.spreva.ai/api/mcp ``` 2. Start Gemini CLI and run `/mcp auth spreva`. Your browser opens SPREVA: choose the workspace and click **Allow**. ### Also works with - [API key in a header](https://dev.spreva.ai/docs/connect#api-key): Send a SPREVA API key as a Bearer token, for automation that runs without a person. ```sh export SPREVA_API_KEY=POST_API_KEY_... gemini mcp add --transport http --scope user \ spreva https://dev-app.spreva.ai/api/mcp \ --header "Authorization: Bearer $SPREVA_API_KEY" ``` - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target agents ``` ## Antigravity Google's coding agent, for the free, Google AI Pro and Ultra plans. These steps are for the Antigravity editor. ### Before you start - A SPREVA account, with access to the workspace you want to connect. - An API key, created in SPREVA under **Developer**, then **API keys**. ### Set it up 1. Create an API key in SPREVA under **Developer**, then **API keys**, and copy it. 2. In Antigravity, open the menu in the agent panel, then **MCP Servers**, **Manage MCP Servers** and **View raw config**. 3. Add SPREVA to the configuration, with your key: ```json title="~/.gemini/config/mcp_config.json" { "mcpServers": { "spreva": { "serverUrl": "https://dev-app.spreva.ai/api/mcp", "headers": { "Authorization": "Bearer POST_API_KEY_..." } } } } ``` 4. Save the file, then restart Antigravity or reload its MCP servers. ### Also works with - [Connector URL and sign in](https://dev.spreva.ai/docs/connect#sign-in): Paste the connector URL into the app, sign in to SPREVA and click Allow. No key to keep safe. ```json title="~/.gemini/config/mcp_config.json" { "mcpServers": { "spreva": { "serverUrl": "https://dev-app.spreva.ai/api/mcp" } } } ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Gemini calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Gemini may ask you to allow the tool. ## Troubleshooting ### There is no Custom apps section in the Gemini app Custom apps need a personal Google account in the United States, with Keep Activity on and the Gemini app in English. Otherwise, use Gemini CLI or Antigravity. ### Gemini CLI stopped reaching SPREVA The sign-in expired. Run `/mcp auth spreva` again. ## Official documentation - [Custom apps in the Gemini app](https://support.google.com/gemini/answer/17209137) - [MCP servers with Gemini CLI](https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md) - [MCP in Antigravity](https://antigravity.google/docs/mcp/) --- # OpenClaw An open-source personal agent that runs on your own machine and answers in your chat apps. - Connects with: Sign in, API key, Skill - Plans: Free and open source. You bring your own model provider. ## Before you start - OpenClaw installed, with its gateway running. - An API key, created in SPREVA under **Developer**, then **API keys**. ## Set it up 1. Put your SPREVA API key in your terminal's environment: ```sh export SPREVA_API_KEY=POST_API_KEY_... ``` 2. Add SPREVA. Keep `--transport streamable-http`: without it, OpenClaw uses the older SSE transport, which SPREVA doesn't answer. OpenClaw checks the connection before it saves SPREVA. ```sh openclaw mcp add spreva \ --url https://dev-app.spreva.ai/api/mcp \ --transport streamable-http \ --header "Authorization=Bearer $SPREVA_API_KEY" ``` 3. Check that OpenClaw reaches SPREVA: ```sh openclaw mcp doctor spreva --probe ``` ## Also works with - [Connector URL and sign in](https://dev.spreva.ai/docs/connect#sign-in): Paste the connector URL into the app, sign in to SPREVA and click Allow. No key to keep safe. ```sh openclaw mcp add spreva \ --url https://dev-app.spreva.ai/api/mcp \ --transport streamable-http --auth oauth openclaw mcp login spreva ``` - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target openclaw ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? OpenClaw calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, OpenClaw may ask you to allow the tool. ## Troubleshooting ### OpenClaw can't connect to SPREVA Run `openclaw mcp status --verbose`. If SPREVA's transport is sse, remove it with `openclaw mcp unset spreva` and add it again with `--transport streamable-http`. ### OpenClaw asks me to sign in although I added a key With `--auth oauth`, OpenClaw signs in and ignores the Authorization header. Use one or the other: remove SPREVA and add it again the way you want. ### The Agent Skill says the API key is missing The commands OpenClaw runs read `SPREVA_API_KEY` from the gateway's environment. Set it there and restart the gateway. ## Official documentation - [MCP servers in OpenClaw](https://docs.openclaw.ai/tools/mcp) - [Skills in OpenClaw](https://docs.openclaw.ai/tools/skills) --- # Hermes Agent Nous Research's open-source agent, which keeps what it learns as skills. - Connects with: Sign in, API key, Skill - Plans: Free and open source. You bring your own model provider. ## Before you start - Hermes Agent installed. - An API key, created in SPREVA under **Developer**, then **API keys**. ## Set it up 1. Add your SPREVA API key to Hermes's secrets file: ```text title="~/.hermes/.env" SPREVA_API_KEY=POST_API_KEY_... ``` 2. Add SPREVA under `mcp_servers` in Hermes's configuration: ```yaml title="~/.hermes/config.yaml" mcp_servers: spreva: url: "https://dev-app.spreva.ai/api/mcp" headers: Authorization: "Bearer ${SPREVA_API_KEY}" ``` 3. In a Hermes session, run `/reload-mcp`, or restart Hermes. 4. Check that Hermes reaches SPREVA: ```sh hermes mcp test spreva ``` ## Also works with - [Connector URL and sign in](https://dev.spreva.ai/docs/connect#sign-in): Paste the connector URL into the app, sign in to SPREVA and click Allow. No key to keep safe. ```sh hermes mcp add spreva \ --url https://dev-app.spreva.ai/api/mcp \ --auth oauth ``` - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target hermes ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Hermes Agent calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Hermes Agent may ask you to allow the tool. ## Good to know - For the Agent Skill, add `SPREVA_API_KEY` to `terminal.env_passthrough` in `~/.hermes/config.yaml`. Hermes keeps secrets out of the commands it runs unless they are listed there. ## Troubleshooting ### Hermes refuses to connect to SPREVA Hermes doesn't connect while the key is empty. Check that `~/.hermes/.env` has `SPREVA_API_KEY`, then run `/reload-mcp`. ## Official documentation - [MCP configuration in Hermes Agent](https://hermes-agent.nousresearch.com/docs/reference/mcp-config-reference) - [Skills in Hermes Agent](https://hermes-agent.nousresearch.com/docs/user-guide/features/skills) - [Hermes Agent on GitHub](https://github.com/NousResearch/hermes-agent) --- # Grok xAI's assistant, on grok.com and in its apps. - Connects with: Sign in ## Before you start - A SPREVA account, with access to the workspace you want to connect. - A version of Grok that can add a connector or an MCP server by URL. ## Set it up 1. On grok.com, open **Connectors**, click **New Connector** and choose **Custom**. 2. Paste the SPREVA connector URL: ```text https://dev-app.spreva.ai/api/mcp ``` 3. Sign in to SPREVA, choose the workspace and click **Allow**. ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Grok calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Grok may ask you to allow the tool. ## Troubleshooting ### There is no Custom connector for me On Grok Business and Enterprise, a team admin provisions the connector first. Ask your admin to add SPREVA. ## Official documentation - [Connectors in Grok](https://docs.x.ai/grok/connectors) --- # Grok Build xAI's coding agent for the terminal. - Connects with: Sign in, API key, Skill - Plans: SuperGrok and X Premium+, while Grok Build is in beta. ## Before you start - Grok Build installed and signed in. ## Set it up 1. Add SPREVA for every project: ```sh grok mcp add --transport http \ spreva https://dev-app.spreva.ai/api/mcp ``` 2. Start Grok Build and ask for something in SPREVA. The first time, your browser opens SPREVA: sign in, choose the workspace and click **Allow**. 3. If something looks wrong, check the connection: ```sh grok mcp doctor spreva ``` ## Also works with - [API key in a header](https://dev.spreva.ai/docs/connect#api-key): Send a SPREVA API key as a Bearer token, for automation that runs without a person. ```sh export SPREVA_API_KEY=POST_API_KEY_... grok mcp add --transport http \ spreva https://dev-app.spreva.ai/api/mcp \ --header "Authorization: Bearer $SPREVA_API_KEY" ``` - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target agents ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Grok Build calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Grok Build may ask you to allow the tool. ## Troubleshooting ### The browser doesn't open to sign in In Grok Build, run `/mcps`, select spreva and press `i` to sign in. ## Official documentation - [MCP servers in Grok Build](https://docs.x.ai/build/features/mcp-servers) - [Skills in Grok Build](https://docs.x.ai/build/features/skills-plugins-marketplaces) --- # DeepSeek DeepSeek's assistant, on the web and in its apps. - Connects with: Sign in, API key - Plans: The DeepSeek API, paid by usage. > The DeepSeek apps can't connect to other apps or to MCP servers. To use SPREVA with DeepSeek's models, run them in an agent that can connect. DeepSeek's own guide uses [Claude Code](https://dev.spreva.ai/docs/agents/claude-code), as below. ## Before you start - [Claude Code](https://dev.spreva.ai/docs/agents/claude-code) installed. - A DeepSeek API key, from DeepSeek's developer platform. ## Set it up 1. Point Claude Code at DeepSeek's Anthropic-compatible API, with your DeepSeek API key: ```sh export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic export ANTHROPIC_AUTH_TOKEN=sk-... ``` 2. Add SPREVA: ```sh claude mcp add --transport http --scope user \ spreva https://dev-app.spreva.ai/api/mcp ``` 3. Start Claude Code with `claude`, run `/mcp`, choose **spreva** and sign in. Your browser opens SPREVA: choose the workspace and click **Allow**. ## Also works with - [API key in a header](https://dev.spreva.ai/docs/connect#api-key): Send a SPREVA API key as a Bearer token, for automation that runs without a person. ```sh export SPREVA_API_KEY=POST_API_KEY_... claude mcp add --transport http --scope user \ spreva https://dev-app.spreva.ai/api/mcp \ --header "Authorization: Bearer $SPREVA_API_KEY" ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Claude Code calls SPREVA's `overview` tool and answers, on DeepSeek's model, with the workspace's time zone, what goes out next and anything that needs attention. The first time, Claude Code may ask you to allow the tool. ## Good to know - While these variables are set, Claude Code answers with DeepSeek's models. Remove them to go back to Claude. - DeepSeek's guides cover other agents too, such as OpenClaw. Set one up for DeepSeek, then add SPREVA as on the [OpenClaw](https://dev.spreva.ai/docs/agents/openclaw) page. ## Troubleshooting ### `/mcp` shows spreva as failed Sign in again from `/mcp`. If it still fails, check the URL with `claude mcp get spreva`. ## Official documentation - [Claude Code on DeepSeek](https://api-docs.deepseek.com/quick_start/agent_integrations/claude_code) - [DeepSeek with coding agents](https://api-docs.deepseek.com/guides/coding_agents/) --- # Kimi Moonshot AI's assistant. SPREVA connects through Kimi Code CLI, its agent for the terminal. - Connects with: Sign in, API key, Skill > The Kimi app on kimi.com can't add your own MCP servers. Kimi Code CLI can. ## Before you start - Kimi Code CLI installed, and signed in with Kimi Code or a Moonshot platform API key. ## Set it up 1. Add SPREVA to `~/.kimi-code/mcp.json`, or to `.kimi-code/mcp.json` in one project: ```json title="~/.kimi-code/mcp.json" { "mcpServers": { "spreva": { "url": "https://dev-app.spreva.ai/api/mcp", "bearerTokenEnvVar": "SPREVA_API_KEY" } } } ``` 2. Put your SPREVA API key in the environment Kimi Code CLI starts from: ```sh export SPREVA_API_KEY=POST_API_KEY_... ``` 3. Start Kimi Code CLI and run `/mcp`. SPREVA is listed as connected. ## Also works with - [Connector URL and sign in](https://dev.spreva.ai/docs/connect#sign-in): Paste the connector URL into the app, sign in to SPREVA and click Allow. No key to keep safe. ```json title="~/.kimi-code/mcp.json" { "mcpServers": { "spreva": { "url": "https://dev-app.spreva.ai/api/mcp" } } } ``` - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target agents ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Kimi calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Kimi may ask you to allow the tool. ## Troubleshooting ### `/mcp` shows SPREVA as not connected Kimi Code CLI didn't find your key. Set `SPREVA_API_KEY` in the terminal you start it from, then start it again. ## Official documentation - [MCP in Kimi Code CLI](https://www.kimi.com/code/docs/en/kimi-code-cli/customization/mcp.html) --- # Muse Meta's personal agent, and Muse Code, its coding agent for the terminal. - Connects with: API key, Skill - Plans: Muse Code: billed by usage, or on a flat monthly plan. > The Muse app has no setting for adding an MCP server. Muse Code, Meta's coding agent for the terminal, has one: these steps set SPREVA up there. ## Before you start - Muse Code installed and signed in. - An API key, created in SPREVA under **Developer**, then **API keys**. ## Set it up 1. Put your SPREVA API key in the environment Muse Code starts from: ```sh export SPREVA_API_KEY=POST_API_KEY_... ``` 2. Add SPREVA to the `mcp_servers` block of Muse Code's settings file. Keep the settings already there, including `schema_version`: ```json title="~/.config/muse/settings.json" { "schema_version": 1, "mcp_servers": { "spreva": { "transport": "streamable_http", "url": "https://dev-app.spreva.ai/api/mcp", "headers": { "Authorization": "Bearer ${SPREVA_API_KEY}" } } } } ``` 3. Start Muse Code and run `/mcp`. SPREVA is listed with its tools. ## Also works with - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --target agents ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Muse Code calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Muse Code may ask you to allow the tool. ## Troubleshooting ### Muse Code says the settings file is malformed The file must keep `schema_version` set to 1. Add it back and start Muse Code again. ## Official documentation - [Extending Muse Code](https://dev.meta.ai/docs/muse-code/extending) - [Connectors in Muse](https://www.meta.com/help/artificial-intelligence/1687253048996149/) --- # Perplexity Computer Perplexity's agent, which carries out long tasks across the web and your connected apps. - Connects with: Sign in - Plans: Custom connectors: Pro, Max and Enterprise. ## Before you start - A Perplexity Pro, Max or Enterprise plan. On Enterprise, your admin decides whether members can add their own connectors. ## Set it up 1. In Perplexity, open **Account settings**, then **Connectors**. Click **+ Custom connector** and choose **Remote**. 2. Name it SPREVA and paste the connector URL: ```text https://dev-app.spreva.ai/api/mcp ``` 3. Choose **OAuth 2.0** for authentication and **Streamable HTTP** for transport, leave the client ID and secret empty, accept the notice and click **Add**. 4. In the list of connectors, connect SPREVA. SPREVA opens: sign in, choose the workspace and click **Allow**. 5. In a thread, turn SPREVA on under **Sources**. Computer tasks can use it too. ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Perplexity Computer calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Perplexity Computer may ask you to allow the tool. ## Troubleshooting ### There is no Custom connector button Custom connectors need Pro, Max or Enterprise. On Enterprise, ask your admin to let members add their own connectors. ### Perplexity doesn't use SPREVA Turn SPREVA on under **Sources** in the thread, or name SPREVA in your request. ## Official documentation - [Adding custom remote connectors](https://www.perplexity.ai/help-center/en/articles/13915507-adding-custom-remote-connectors) --- # NanoClaw A small open-source personal agent that runs each group's work in its own container. - Connects with: API key, Skill - Plans: Free and open source. ## Before you start - NanoClaw installed, with OneCLI, its credential gateway, set up. - An API key, created in SPREVA under **Developer**, then **API keys**. ## Set it up 1. Store your SPREVA API key in OneCLI, for SPREVA's address only. OneCLI adds it to every request to SPREVA, so your agents never see it: ```sh onecli secrets create --name SPREVA --type generic \ --value "$SPREVA_API_KEY" --host-pattern dev-app.spreva.ai \ --header-name Authorization --value-format "Bearer {value}" ``` 2. Give the secret to the agent group that should use SPREVA, as NanoClaw's credentials guide shows. 3. Find the group's id with `ncl groups list`, then add SPREVA to the group and approve the change: ```sh ncl groups config add-mcp-server --id \ --name spreva --url https://dev-app.spreva.ai/api/mcp ``` 4. Restart the group so its agents load SPREVA, and approve the restart: ```sh ncl groups restart --id ``` ## Also works with - [The CLI and the Agent Skill](https://dev.spreva.ai/docs/connect#cli-and-skill): Install the `spreva` command line and its Agent Skill, for agents that work in a terminal. ```sh export SPREVA_API_KEY=POST_API_KEY_... npx -y @spreva/cli skill install --dir container/skills ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? NanoClaw calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, NanoClaw may ask you to allow the tool. ## Good to know - Run the Agent Skill command in your NanoClaw folder. It puts the skill in `container/skills`, which every group reads. ## Troubleshooting ### SPREVA isn't there after adding it Adding a server and restarting a group both wait for your approval. Approve both, and SPREVA loads when the group restarts. ## Official documentation - [Tools and MCP servers in NanoClaw](https://docs.nanoclaw.dev/extend/tools) - [Credentials in NanoClaw](https://docs.nanoclaw.dev/operate/credentials) - [NanoClaw on GitHub](https://github.com/nanocoai/nanoclaw) --- # Paperclip Open-source software for running a company of AI agents, with goals, budgets and reviews. - Connects with: Sign in, API key - Plans: Free and open source. ## Before you start - Paperclip running, on your computer or your server. - A SPREVA account, with access to the workspace you want to connect. ## Set it up 1. In Paperclip, open **Connectors** and choose **Connect your own MCP server**. 2. Paste the SPREVA connector URL: ```text https://dev-app.spreva.ai/api/mcp ``` 3. Choose to sign in. SPREVA opens in your browser: sign in, choose the workspace and click **Allow**. 4. Give the agents that should work in SPREVA access to it. Actions that change things start **Off**: set the ones you want to **Allowed** or **Ask first**. ## Also works with - [API key in a header](https://dev.spreva.ai/docs/connect#api-key): Send a SPREVA API key as a Bearer token, for automation that runs without a person. ```json { "mcpServers": { "spreva": { "type": "http", "url": "https://dev-app.spreva.ai/api/mcp", "headers": { "Authorization": "Bearer POST_API_KEY_..." } } } } ``` ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? Paperclip calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, Paperclip may ask you to allow the tool. ## Good to know - Adding SPREVA to an agent's own runtime, such as Claude Code, skips Paperclip's permissions and reviews. Connect it on the Connectors page instead. - Paperclip labels SPREVA **Unverified server**. That means Paperclip hasn't reviewed it, not that the connection failed. ## Troubleshooting ### Agents can read SPREVA but can't change anything Paperclip starts those actions **Off**. Set them to **Allowed** or **Ask first** in the connection's permissions. ### A new SPREVA tool doesn't show up Open the connection and click **Refresh actions**. ## Official documentation - [Custom MCP servers in Paperclip](https://docs.paperclip.ing/connectors/custom-mcp-servers/) - [Paperclip on GitHub](https://github.com/paperclipai/paperclip) --- # MCP Server Any app that speaks the Model Context Protocol. - Connects with: Sign in, API key, CLI ## Before you start - An MCP client that adds remote servers over Streamable HTTP, or starts local servers over stdio. ## Set it up 1. Point the client at the connector URL. The transport is Streamable HTTP: ```text https://dev-app.spreva.ai/api/mcp ``` 2. Choose OAuth if the client offers it: it finds SPREVA's sign-in from the server's first answer and registers itself. Otherwise, send an API key as a Bearer token: ```http Authorization: Bearer POST_API_KEY_... ``` 3. For a client that only starts local servers, run the CLI's bridge instead: ```json { "mcpServers": { "spreva": { "command": "npx", "args": [ "-y", "@spreva/cli", "mcp" ], "env": { "SPREVA_API_KEY": "POST_API_KEY_...", "SPREVA_URL": "https://dev-app.spreva.ai" } } } } ``` ## Also works with - [API key in a header](https://dev.spreva.ai/docs/connect#api-key): Send a SPREVA API key as a Bearer token, for automation that runs without a person. - [The CLI's stdio bridge](https://dev.spreva.ai/docs/connect#stdio): Run `spreva mcp` as a local MCP server, for apps that only start servers on your machine. ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? MCP Server calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, MCP Server may ask you to allow the tool. ## Official documentation - [Model Context Protocol](https://modelcontextprotocol.io/) --- # AI Agents CLI SPREVA's command line, for any agent that can run shell commands. - Connects with: CLI, Skill ## Before you start - Node.js 20 or later. - An API key, created in SPREVA under **Developer**, then **API keys**. ## Set it up 1. Install the CLI: ```sh npm i -g @spreva/cli ``` 2. Give it your API key: ```sh export SPREVA_API_KEY=POST_API_KEY_... export SPREVA_URL=https://dev-app.spreva.ai ``` 3. Install the Agent Skill for agents that read shared skills, or choose your agent's own target on the [Agent Skill](https://dev.spreva.ai/docs/skill) page: ```sh spreva skill install --target agents ``` 4. Check that everything is in place: ```sh spreva doctor ``` ## Also works with - [The CLI's stdio bridge](https://dev.spreva.ai/docs/connect#stdio): Run `spreva mcp` as a local MCP server, for apps that only start servers on your machine. ## Check it works Start a new conversation and ask: > What's going out this week on SPREVA? AI Agents CLI calls SPREVA's `overview` tool and answers with the workspace's time zone, what goes out next and anything that needs attention. The first time, AI Agents CLI may ask you to allow the tool. --- # Tools What an agent can call. SPREVA lists 17 tools, and SPREVA Publishing 11 of them, without the Studio and AI images. ## All tools - `search`: **Search the workspace.** Finds posts, files, campaigns, accounts, queues, scripts, Studio projects and styles, by words or by what a picture or video shows. Risk: Low. Connector: Both. - `fetch`: **Read one thing in full.** Reads a post, file, campaign, queue, account or Studio project from its link or id, or a page of SPREVA's reference. Risk: Low. Connector: Both. - `overview`: **Workspace overview.** The first call in a conversation: the time zone and clock, what needs attention, what goes out next, the accounts, queues and campaigns, and what the plan allows. Risk: Low. Connector: Both. - `save_post`: **Create or edit a post.** Writes a post for one or more accounts, with what differs per account, and sets when it goes out: a time, a queue's next slot, or a draft. Risk: Medium (High when it goes out in less than an hour.). Connector: Both. - `publish_post`: **Publish a post now.** Publishes a post on all its accounts, or again only where it failed. What already went out is never posted twice. Risk: High. Connector: Both. - `delete_post`: **Delete a post.** Removes a draft, a scheduled post or a published one from SPREVA. A published post stays live on the networks. Risk: Medium (High for a published post.). Connector: Both. - `import_media`: **Import a file into the library.** Brings an image or a video into the library from a public link, or from bytes the agent uploads. Risk: Medium. Connector: Both. - `update_media`: **Rename, tag, file or describe a library file.** Changes a file's name, tags, folder or alt text, and can write the alt text from what the picture shows. Risk: Medium. Connector: Both. - `save_campaign`: **Create or edit a campaign.** Creates or changes a campaign, and adds posts to it or takes them out. Risk: Medium. Connector: Both. - `save_queue`: **Create or edit a queue.** Creates or changes a posting schedule: its name, time zone and weekly slots. Risk: Medium. Connector: Both. - `analytics`: **How posts performed.** Totals against the period before, the top posts, the split by network and comparisons with their sample sizes, for the workspace, a campaign, an account or a post. Risk: Low. Connector: Both. - `create_video`: **Create a Studio video.** Starts an empty Studio project in a format, which the agent then builds. Risk: Medium. Connector: SPREVA only. - `narrate_video`: **Narrate a Studio video.** Voices the script the agent wrote and places every word on the timeline. Spends the plan's voice characters. Risk: High. Connector: SPREVA only. - `edit_video`: **Change a Studio video.** Edits text, timing, cuts, pictures, clips, effects and sound, and adds new elements, with the Studio's own editing operations. Risk: Medium. Connector: SPREVA only. - `review_video`: **Review a Studio video.** Checks a project the way the Studio's own AI editor checks its work, and lists what to fix, worst first. Risk: Low. Connector: SPREVA only. - `render_video`: **Export a Studio video.** Exports a project to an MP4 or a PNG in the library, ready to go in a post. Risk: Medium. Connector: SPREVA only. - `generate_image`: **Generate an image.** Makes a new image from a description, in one of the workspace's styles if asked. Spends one image of the plan's AI allowance. Risk: High. Connector: SPREVA only. ## The usual path An agent starts with `overview` for the time zone, the clock and the accounts, finds things with `search`, reads one in full with `fetch`, and changes it with `save_post` or another tool. Every answer says what can be done next. ## Names, not ids Tools take what a person would say: an exact file name, an @handle, a campaign's name, or a link to anything in SPREVA, pasted from the browser or from an earlier answer. Searching is forgiving and changing is not: a name that matches several things comes back as a choice, and nothing is saved until one is chosen. ## Reference for agents An agent reads SPREVA's reference with `fetch` when it needs it, rather than carrying it in every call: - `spreva://docs/platforms/tiktok`, and one page per network: what it accepts, lengths and options. - `spreva://docs/queues`: times, time zones and queues. - `spreva://docs/agent-permissions`: risk levels, confirmations, revisions and request ids. - `spreva://docs/studio/making` and `spreva://docs/studio/editing`: building a video, on SPREVA only. --- # Permissions and safety SPREVA decides what an agent may do without you, on its own servers, whatever the app asks. You set the rules for each workspace. ## Risk levels Every call that changes something has a level: - **Low**: Reading: search, fetch, overview, analytics and reviewing a video. Always allowed. - **Medium**: Drafts, edits, scheduling at least an hour ahead, deleting drafts, changes to files, campaigns and queues, and Studio projects, edits and exports. - **High**: Publishing now, scheduling less than an hour ahead, deleting a published post, and spending the plan's AI allowance on a voice-over or a new image. ## Allow, Ask first or Needs approval For each level, the workspace chooses one of three modes, in SPREVA under **Settings**, then **Agents**: - **Allow**: the call goes ahead. - **Ask first**: the first call changes nothing and answers with a preview. The agent shows it to you, and a second call carries out exactly that preview. - **Needs approval**: the call answers with a link, and a person with the right role approves or rejects the same preview in SPREVA. It is the only mode that proves a person saw it. Unless you change them, low and medium are Allow and high is Ask first. ## Previews and confirmations A preview resolves every name, checks every account and freezes what would happen: which accounts, which files, which caption and when. Its confirmation, such as `cf_83929`, carries out that snapshot and nothing else. SPREVA does not look anything up again. - A confirmation works once, within 10 minutes. - If the post changed in between, the confirmation is refused and a new preview comes back. - A preview of spending says what it spends in the plan's units, and what is left this month. ## Revisions Every answer about an object ends with its revision. A change to an existing post, file, campaign, queue or video carries the revision the agent last read. If someone changed it since, nothing is saved: the answer shows the current version, so the agent can apply its change again on top of it, or ask you. ## Request ids Apps repeat calls after a timeout. Every tool that changes something takes a `request_id`: the same one on a retry returns the first answer instead of doing the work again, so a repeat never makes a second post, a second export or a second charge. Without one, an identical call within 10 minutes is answered once. ## What agents never see - **Your password.** You sign in on SPREVA's own page, and the app only receives access to the workspace you chose. - **Your networks' credentials.** The access SPREVA holds for Instagram, TikTok and the other networks is never part of an answer. - **Other workspaces.** A connection reaches only the workspace you allowed. A link to another workspace is refused. - **Anything after you disconnect it.** Removing an app under Settings, then Agents, ends its access. ## Every action is on record Settings, then Agents, lists the connected apps and what each one did recently. A post's history names the agent and the person it acted for, such as “Claude, for Rodolfo”. --- # Troubleshooting The problems people run into most often, what causes them and how to fix them. ## Signing in ### The app keeps asking me to sign in The app's access was revoked or has expired, and SPREVA answers 401. Remove SPREVA from the app, add it again with the URL, sign in and click Allow. If it still loops, check that nothing blocks SPREVA's sign-in window: pop-up blockers and strict privacy extensions can. ### “This access token was granted for the other SPREVA connector” You signed in through one connector's URL and the app now calls the other one. A sign-in covers one connector: add SPREVA again with the URL you want. See [Two connectors](https://dev.spreva.ai/docs/connectors). ### “The person who connected this agent is no longer a member of the workspace” A connection acts for the person who allowed it. When they leave the workspace, someone who is still a member has to connect the app again. ### “Invalid API key” The key was revoked or mistyped. Keys start with `POST_API_KEY_`: create a new one under Developer, then API keys, and send it as `Authorization: Bearer` followed by the key. ## Plans and limits ### “MCP access not included in plan” (402) The workspace's plan does not include agent access. An owner or admin can change the plan in SPREVA under Settings, then Billing. See the [plans](https://dev.spreva.ai/pricing). ### The agent says the AI allowance is used up Voicing a video and making an image spend the plan's monthly AI allowance, and every preview says what is left. It renews each month, and a larger plan raises it. ### “Too many calls: this connection is limited to 120 a minute” Each connection can make 120 calls a minute. Past that, nothing is done and the answer says how many seconds to wait; most agents wait and retry by themselves. An agent that keeps repeating the same call usually needs a clearer request. ### The agent can't make or edit videos The Studio's tools are only on the SPREVA connector, not on SPREVA Publishing, and they need a plan that includes the Studio. Check which URL you added, and your plan. ## Finding things ### The agent can't find a post, file or account Ask it to search first: search is forgiving, but tools that change something need an exact name, an @handle or a link. Pasting the link from SPREVA always works. Deleted posts and disconnected accounts don't appear, and a connection only sees its own workspace. ### The agent keeps asking which one I mean A name matched several things, such as two Instagram accounts or two photos with similar names, and SPREVA saved nothing rather than guess. Answer with the @handle or the exact file name. ### “This post changed after you read it” Someone edited it while the agent was working. Nothing was saved, and the answer includes the current version, so the agent can apply its change again on top of it. ## Times and time zones ### A post was scheduled at the wrong hour SPREVA schedules in the workspace's time zone, set under Settings, then Workspace, and the agent works out “tomorrow at 9” from the clock `overview` gives it. If you mean another zone, say so, as in “9am New York time”. Every answer repeats the time in the workspace's words, so a wrong reading shows before anything goes out. ### The agent is told a time “has no offset” A time must carry its offset, as in `2026-11-02T09:00:00+00:00`, because the same clock time is a different moment on either side of a daylight saving change. The answer gives the corrected time, and the agent can retry with it. ## Confirmations ### The agent asks me every time before it publishes That is the default for high-risk actions. An owner or admin can change it under Settings, then Agents: Allow lets agents publish without asking, and Needs approval sends the request to a person in the app instead. ### A confirmation no longer works A confirmation works once, within 10 minutes. Ask again, and the agent gets a new preview. ## Still stuck Write to [info@spreva.ai](mailto:info@spreva.ai) with the app you use, what you asked and what the agent answered. --- # CLI SPREVA on the command line: for agents that work in a terminal, for scripts, and as a local MCP server for apps that only start servers on your machine. ## Install It needs Node.js 20 or later. Install it once: ```sh npm i -g @spreva/cli ``` Or run any command without installing it: ```sh npx -y @spreva/cli overview ``` ## Your API key Create a key in SPREVA under **Developer**, then **API keys**, and put it in the environment the CLI runs in: ```sh export SPREVA_API_KEY=POST_API_KEY_... export SPREVA_URL=https://dev-app.spreva.ai ``` `SPREVA_URL` points the CLI at another SPREVA address, such as a test one, and `SPREVA_CONNECTOR=publishing` limits it to SPREVA Publishing. Leave both out to use SPREVA with every tool. ## Commands - `spreva overview`: The workspace at a glance: time zone and clock, what needs attention, what goes out next, accounts, queues and campaigns. - `spreva search [key=value ...]`: Finds posts, files, campaigns, accounts and more, by words or by what a picture shows. Example: `spreva search "launch teaser"` - `spreva fetch `: Reads one thing in full from its link or id. - `spreva tools`: Lists the tools your key can call, with what each one takes. - `spreva call [--json ''] [key=value ...] [--raw]`: Calls any tool, with its arguments as key=value pairs or as JSON, and prints its answer. It exits with 1 when the answer is an error. Example: `spreva call save_post caption="Winter Blend is here" accounts=instagram when=draft request_id=wb-1` - `spreva docs [page]`: Prints a page of SPREVA's reference for agents, such as what a network accepts. Example: `spreva docs platforms/tiktok` - `spreva mcp [--publishing]`: Runs a local MCP server over stdio that passes every call on to SPREVA, for apps that only start servers on your machine. `--publishing` uses SPREVA Publishing. - `spreva skill install [--target ] [--dir ]`: Installs SPREVA's Agent Skill where your agent looks for skills. Without `--target`, it installs it for every agent it finds on this machine. Example: `spreva skill install --target claude` - `spreva skill print`: Prints the skill, to install it by hand. - `spreva whoami`: Shows the workspace and the connector your key reaches. - `spreva doctor`: Checks your key and the connection to SPREVA, and says what to fix. ## As a local MCP server `spreva mcp` speaks MCP over stdio. Add it to the configuration of an app that only starts local servers: ```json { "mcpServers": { "spreva": { "command": "npx", "args": [ "-y", "@spreva/cli", "mcp" ], "env": { "SPREVA_API_KEY": "POST_API_KEY_...", "SPREVA_URL": "https://dev-app.spreva.ai" } } } } ``` It lists the same tools as the connector URL, with the same permissions. ## With the Agent Skill `spreva skill install` puts SPREVA's Agent Skill where your agent looks for skills, so it knows when to use the CLI and how. See [Agent Skill](https://dev.spreva.ai/docs/skill). ## Check the setup When something doesn't work, start here. It checks your key and the connection to SPREVA, and says what to fix. ```sh spreva doctor ``` --- # Agent Skill A skill is a folder of instructions an agent loads when a task calls for it. SPREVA's tells an agent when to use SPREVA and how. ## What it is Agent Skills are an open format: a `SKILL.md` file with a name, a description and instructions, which an agent reads only when a task needs it. See [agentskills.io](https://agentskills.io/). SPREVA's skill tells an agent what SPREVA does, which command answers which request, and the rules every change follows: revisions, confirmations and times with their offset. The agent then works through the [CLI](https://dev.spreva.ai/docs/cli). ## Install it With the CLI installed and your API key set, choose your agent's target: - `claude`: Claude Code - `codex`: Codex - `openclaw`: OpenClaw - `hermes`: Hermes Agent - `agents`: Any other agent that supports Agent Skills ```sh spreva skill install --target claude ``` ## Install it by hand The skill is one file, at [/skill.md](https://dev.spreva.ai/skill.md). Save it as `SKILL.md` in a folder named `spreva`, inside the folder your agent reads skills from. ## It needs your key The skill runs the CLI, which reads `SPREVA_API_KEY` from the environment the agent runs in. Set it there, not only in your own terminal.