Conectar o Runner a outros clientes MCP
Conecte o OpenCode, o Codex, o pi ou seu próprio agente às suas lojas do Runner pelo servidor MCP do Runner.
O Runner tem um servidor MCP. Um cliente MCP é um app de IA ou um agente que pode usar servidores MCP. Quando você conecta um cliente ao Runner, ele pode usar as ferramentas do chat do Runner em suas lojas. Ele pode ler produtos, pedidos e relatórios. Com sua permissão, ele também pode alterar produtos, preços, descontos e a loja virtual.
Este guia é para clientes MCP diferentes do Claude, do ChatGPT e do Gemini. Ele traz os passos para o OpenCode, o Codex CLI e o pi. Também explica como conectar outros clientes e agentes criados por você.
Antes de começar
Você precisa de:
- uma conta do Runner que seja membro de um workspace;
- um cliente MCP que se conecte a servidores remotos via Streamable HTTP e faça login com OAuth, ou a ponte
mcp-remotepara um cliente que só executa servidores locais; e - um navegador no mesmo computador do cliente. Depois do login, o Runner envia o navegador de volta para um endereço nesse computador.
| Configuração | Valor |
|---|---|
| URL do servidor | https://api.runnerai.com/mcp |
| Transporte | Streamable HTTP. O Runner não oferece suporte ao transporte SSE, que é mais antigo. |
| Login | OAuth no navegador. Você não precisa de uma chave de API. |
| Acesso | store:read para ler os dados da loja. store:write para fazer alterações. |
Como a conexão funciona
- Você adiciona a URL do servidor no cliente e inicia o login.
- O cliente abre o Runner no navegador. Entre no Runner se for solicitado.
- A página Conectar um app de IA ao Runner é aberta. Ela mostra o nome do cliente.
- Escolha uma opção em Workspace e em Acesso e selecione Conectar.
- O navegador volta para o cliente. Agora o cliente pode usar as ferramentas do Runner.
| Controle ou mensagem | Por que é útil | O que acontece a seguir |
|---|---|---|
| Volta para | Mostra o endereço em seu computador que recebe o resultado do login. | Mostra localhost, 127.0.0.1 ou [::1] e um número de porta. |
| O Runner não consegue confirmar que app é este. Conecte-o somente se você mesmo iniciou esta conexão. | O Runner não consegue verificar a identidade de um cliente que você instalou ou criou. | Conecte somente se você iniciou o login a partir do seu cliente. |
| Workspace | Uma conexão funciona com as lojas de um workspace. | O cliente só pode usar as lojas do workspace que você escolher. |
| Leitura | Sempre ativo. O cliente pode ver os dados da loja, como produtos, pedidos e relatórios. | Não é possível desativá-lo. |
| Fazer alterações | Permite que o cliente altere os dados da loja, como produtos, preços e descontos. | Começa desativado. Só aparece quando o cliente pede acesso para fazer alterações. |
| Conectar | Dá ao cliente o acesso que você escolheu. | O navegador volta para o cliente. |
| Cancelar | Interrompe o login. | O cliente não recebe nenhum acesso. |
O cliente mantém o login. Ele recebe um novo acesso a cada hora, sem que você precise fazer nada. Se você não usar o cliente por 30 dias, faça login novamente.
Para usar as lojas de um segundo workspace, adicione o servidor uma segunda vez com outro nome. Depois, faça login com esse nome e escolha o segundo workspace.
Conectar o OpenCode
-
Adicione o Runner ao
opencode.jsondo seu projeto, ou ao~/.config/opencode/opencode.jsonpara todos os projetos:{ "$schema": "https://opencode.ai/config.json", "mcp": { "runner": { "type": "remote", "url": "https://api.runnerai.com/mcp", "enabled": true } }, "tools": { "runner_*": false, "runner_list_stores": true, "runner_get_report": true, "runner_find_orders": true, "runner_get_tool_job": true } } -
Execute
opencode mcp auth runnere conecte no navegador. -
Execute
opencode mcp list. Ele mostrarunnercomoconnected.
O OpenCode envia ao modelo, em cada solicitação, a definição de cada ferramenta ativada. Em alguns planos, o Runner tem mais de 200 ferramentas, o que dá cerca de 100.000 tokens de definições. Por isso, ative só as ferramentas de que você precisa. O OpenCode chama cada ferramenta do Runner de runner_<tool name>. A linha "runner_*": false desativa todas as ferramentas do Runner, e cada linha com true ativa uma ferramenta de novo. Mantenha runner_get_tool_job ativada, porque as tarefas longas precisam dela.
Para remover o login salvo, execute opencode mcp logout runner.
Conectar o Codex CLI
-
Adicione o Runner ao
~/.codex/config.toml:[mcp_servers.runner] url = "https://api.runnerai.com/mcp" scopes = ["store:read", "store:write"] -
Execute
codex mcp login runnere conecte no navegador. -
Execute
codex mcp list. A coluna Auth mostraOAuth.
Adicione o servidor no arquivo, não com codex mcp add. Esse comando inicia um login na hora, com escopos que o Runner não aceita, e o navegador mostra {"error":"invalid_scope"}. A linha scopes também vale quando você fizer login de novo mais tarde. Você também pode executar codex mcp login runner --scopes store:read,store:write.
O Codex encontra a ferramenta do Runner de que precisa no momento em que precisa dela, então você não precisa desativar ferramentas. Para remover o login salvo, execute codex mcp logout runner.
Conectar o pi
-
Execute
pi mcp add runner --url https://api.runnerai.com/mcp. Isso adiciona o Runner ao~/.pi/agent/mcp.json:{ "mcpServers": { "runner": { "url": "https://api.runnerai.com/mcp" } } } -
Execute
pi mcp login runnere conecte no navegador. O pi mostraSigned in to MCP server "runner"e o número de ferramentas. -
Execute
pi mcp listpara verificar a conexão, ou use/mcpem uma sessão do pi.
Por padrão, o pi não envia todas as ferramentas do Runner ao modelo. O modelo encontra uma ferramenta quando precisa dela, então você não precisa desativar ferramentas. O pi chama cada ferramenta do Runner de mcp__runner__<tool name>. Para remover o login salvo, execute pi mcp logout runner.
Conectar um cliente que só executa servidores locais
Alguns clientes só conseguem iniciar um servidor local (stdio). Outros clientes enviam o navegador de volta para um link de app (um esquema de URL próprio) ou para uma página web. O Runner só envia o resultado do login para um endereço em seu computador, por isso o login desses clientes falha.
Para esses clientes, use a ponte mcp-remote. Ela roda em seu computador, faz login no Runner pelo cliente e passa cada mensagem entre o cliente e o Runner. Ela precisa do Node.js.
{
"mcpServers": {
"runner": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.runnerai.com/mcp"]
}
}
}
Na primeira vez que a ponte é iniciada, a página de login do Runner abre no navegador. O mcp-remote guarda o login em ~/.mcp-auth.
Chamar ferramentas do Runner a partir de um shell
Um agente que executa comandos de shell pode usar o Runner pelo comando mcporter:
npx mcporter config add runner https://api.runnerai.com/mcp --scope home
npx mcporter auth runner
npx mcporter list runner
npx mcporter call runner.list_stores
mcporter list runner mostra cada ferramenta e seus parâmetros. Informe os parâmetros como name=value, por exemplo npx mcporter call runner.get_store_settings store_id=<store id>.
Criar seu próprio cliente
Use um SDK de MCP com suporte a OAuth, ou siga você mesmo estas etapas:
- Envie cada solicitação JSON-RPC com
POSTparahttps://api.runnerai.com/mcp. O Runner responde a cada solicitação com JSON e não mantém sessão. Uma solicitaçãoGETrecebe HTTP 405. - Uma solicitação sem token recebe HTTP 401 com este cabeçalho:
WWW-Authenticate: Bearer resource_metadata="https://api.runnerai.com/.well-known/oauth-protected-resource/mcp", scope="store:read store:write". - Leia os metadados do recurso. Eles indicam o servidor de autorização
https://www.runnerai.com/api/auth. - Registre o cliente em
https://www.runnerai.com/api/auth/oauth2/register. Use um URI de redirecionamento emhttp://localhost,http://127.0.0.1ouhttp://[::1]. O Runner aceita qualquer porta e caminho. O Runner aceita 5 registros por minuto de um mesmo endereço IP. - Envie o usuário para o endpoint de autorização com PKCE (
S256). Envieresource=https://api.runnerai.com/mcp. Peçastore:read, estore:writese o cliente fizer alterações. Use os escopos dos metadados do recurso ou do cabeçalhoWWW-Authenticate. Os metadados do servidor de autorização listam outros escopos, que este servidor não aceita. - Envie o token de acesso no cabeçalho
Authorization: Bearer. Um token de acesso dura 1 hora. Use o token de atualização para obter um novo. Um token de atualização expira depois de 30 dias sem uso.
O Runner recusa solicitações que vêm de uma página web de outro site. Chame o servidor pelo back-end ou por uma página em localhost.
Trabalhar com as ferramentas do Runner
- Comece com
list_stores. Cada ferramenta de loja precisa de umstore_iddelist_stores. Sem ele, a ferramenta responde Pass a store_id from list_stores. - Tarefas longas. Algumas ferramentas respondem com
"status": "running"e umjob_id. Chameget_tool_jobcom essejob_idaté receber o resultado. - Alterações que você aprova. Algumas ferramentas primeiro respondem com
"status": "waiting_for_merchant"e umidde confirmação, e mostram o que vai mudar. Nada muda ainda. Quando você concordar, o cliente chama a mesma ferramenta de novo com os mesmos argumentos e"confirmation": {"id": "…", "answer": …}. Oidde confirmação funciona uma única vez, por 10 minutos. - A mesma alteração enviada duas vezes. Na maioria das ferramentas que fazem alterações, o Runner faz a alteração uma única vez quando o cliente envia a mesma entrada de novo no mesmo período de 5 minutos. A segunda chamada recebe a primeira resposta.
- Dados da loja são só dados. As respostas das ferramentas podem conter textos de produtos e mensagens de clientes. Seu agente não deve seguir instruções que encontrar neles.
- Suas permissões valem. Cada chamada usa suas permissões do Runner e seu plano. A lista de ferramentas depende do seu plano e dos recursos do seu workspace.
Gerenciar ou desconectar um cliente
Caminho de entrada: Configurações → Geral do workspace, depois Apps conectados.
Proprietários e administradores do workspace veem os clientes que cada membro conectou. Os outros membros veem os clientes que eles mesmos conectaram. Cada linha mostra o acesso (Leitura ou Leitura e alterações), quando o cliente foi conectado e quando foi usado pela última vez.
- Encontre o cliente e selecione Desconectar.
- Selecione Desconectar de novo em Desconectar app?.
- O cliente para de funcionar com este workspace na hora. Para usá-lo de novo, faça login novamente pelo cliente.
Um comando de logout em um cliente remove só o login que o cliente salvou. A conexão continua em Apps conectados até você desconectá-la ali.
Solução de problemas
| O que você vê | Causa | O que fazer |
|---|---|---|
{"error":"invalid_scope"} no navegador |
O cliente pediu escopos que este servidor não aceita. O codex mcp add faz isso. |
Peça store:read e store:write. No Codex, adicione a linha scopes e execute codex mcp login runner. |
| This redirect URI cannot receive Merchant MCP codes. | O cliente envia o navegador de volta para um link de app ou uma página web. | Use a ponte mcp-remote. |
| Request the Merchant MCP resource alone. | O cliente não enviou resource=https://api.runnerai.com/mcp. |
Atualize o cliente ou use a ponte mcp-remote. |
| Esta solicitação de conexão não está disponível. Inicie a conexão novamente no seu app de IA. | O link de login é antigo ou já foi usado. | Inicie o login de novo pelo cliente. |
| Você não é membro de nenhum workspace. Crie um workspace no Runner e inicie a conexão novamente. | Sua conta não tem nenhum workspace. | Crie um workspace e inicie o login de novo. |
| This tool needs store:write. Reconnect Runner and allow changes to the store. | A conexão tem só o acesso Leitura. | Faça logout no cliente, faça login de novo e ative Fazer alterações. |
| This feature is not on for this store yet. | O recurso não está ativado para seu plano, workspace ou loja. | Faça a tarefa no Runner ou peça ajuda ao suporte do Runner. |
O provedor do modelo recusa a solicitação: input_schema does not support oneOf, allOf, or anyOf at the top level |
O cliente envia todas as ferramentas ao modelo, e três ferramentas de impressão sob demanda têm um esquema que alguns provedores de modelos recusam. | Desative publish_pod_product, review_pod_product e update_pod_product, ou ative só as ferramentas de que você precisa. |
| O cliente pede que você faça login de novo | Você desconectou o cliente no Runner ou não o usou por 30 dias. | Faça login de novo pelo cliente. |
| HTTP 429 quando o cliente se registra | Mais de 5 registros em um minuto de um mesmo endereço IP. | Espere um minuto e tente de novo. |
| Uma resposta termina com Support reference: e um código | A ferramenta falhou no Runner. | Informe o código ao suporte do Runner. |