Back to all articles
Collaboration

MCP Connectors vs AI Agent Runners: Why Connected Does Not Always Mean Automatic Replies

Understand why an MCP connector can be authorized without automatic replies, and how to test shared context, posting permissions and supported runners.

Published by Pactuno · Oct 25, 2026
A document passes through a doorway beside a workstation processing a queue.
A connector exposes tools; a runner adds a separate task-execution loop.

You connect an AI assistant to a project workspace, see a successful authorization screen, and send a message mentioning that assistant. Nothing happens. It is tempting to assume that the integration is broken, but the connection may be behaving exactly as designed. Authorization can permit a client to call tools without creating a process that watches for new work. This is the central difference between an MCP connector and an automatic agent runner. Understanding it makes setup easier, prevents misleading product promises, and helps teams choose an architecture they can operate. This article compares the two approaches and shows how to test them using Relay as a practical example.

Begin with the event that starts the work

Before comparing products, ask a simple question: what event causes the assistant to act? In a tool-enabled chat, a user message and the client's own tool-selection behavior may start the interaction. In a runner architecture, a process can poll or otherwise receive an eligible job from a queue. Those are different starting points. An account can be successfully authorized while no process is listening for Relay tasks. Writing an agent mention changes the intended recipient of a message; it does not manufacture an active worker. A good interface should show this distinction before asking users to troubleshoot their passwords or issue replacement keys.

What MCP standardizes and what remains a client decision

The Model Context Protocol defines a way for compatible applications and servers to exchange capabilities and context. That common interface can reduce bespoke integration work. It should not be confused with a universal scheduler, a guaranteed conversation mirror, or a promise that every client executes the same tool at the same moment. Client implementations decide how capabilities are presented and invoked. When evaluating a connector, inspect the actual client's documentation and use a harmless test. Your acceptance criterion is the observed round trip in your environment, not simply the presence of MCP in a product description or a green icon on a settings screen.

A connector is useful even when it is not a background agent

Tool-invoked access is valuable for research, summarization and deliberate project updates. A person can ask an assistant to read the relevant decisions before proposing a change, then publish a concise outcome afterward. This pattern preserves human attention at the point of action. It also avoids copying an entire private conversation into another service. If that is your goal, an always-on runner may be unnecessary. Choose the smallest integration that supports the workflow. The mistake is not choosing a connector; it is presenting connector authorization as proof that any message sent elsewhere will automatically receive a model-generated response.

What an automatic runner adds

A runner introduces an execution loop and operational responsibility. It needs to obtain work, identify its task, use a configured provider or local client, report progress and submit a result. It must also handle interruptions without losing ownership of the task or producing duplicate results. A local runner depends on a computer and process. A hosted runner depends on infrastructure, credentials and a budget. Neither becomes reliable merely by being moved to the cloud. Relay's current runner path is separate from its MCP shared-context path, and supported adapters should be evaluated individually rather than grouped under a claim of universal automatic compatibility.

Compare the two connection types by responsibility

With a connector, the AI client owns the surrounding conversation and decides when tool invocation occurs. With a runner, the bridge owns the task-execution loop while the configured model or CLI performs the bounded job. In both cases the shared workspace owns its access policy and stored project record. This separation explains many confusing failures. A workspace can accept a tool call while the client never makes that call. A bridge can send a heartbeat while its model credentials are invalid. A model can return a response while the final network acknowledgment is lost. Each boundary needs its own evidence and recovery behavior.

Test reading, posting and automatic execution separately

Start with a read test: can the connected client retrieve the intended workspace's harmless context? Next test posting: can it create a recognizable confirmation in that same workspace? Finally, if you need automatic replies, submit a short runner task and verify its completion. These three checks answer different questions. A read-only scope should not pass a posting test. An old message from another credential should not verify a newly issued connection. Relay's connection diagnostics use connection-specific posting evidence for that reason. A successful test should be attributed to the connection that actually performed it, while revoked or expired access must not remain a current success signal.

Claude connectors and Relay solve different parts of the workflow

Claude's official documentation describes custom remote MCP connectors, including availability across supported plans and a current limitation of one custom connector for free users. Those details can change and should be checked before setup. Relay provides the project-side record and tools; Claude provides its own client experience, account allowances and invocation behavior. An account that supports a custom connector does not automatically include API credits or a local automatic runner. When onboarding, say which path the user is choosing. “Connect your existing Claude chat to shared context” is a different promise from “run a background Claude API task whenever Relay receives a job.”

Use provider-neutral language carefully

“Works with any agent” sounds convenient but hides several compatibility questions. Does the client support the required MCP transport and authentication? Can it invoke posting tools? Does it support the local execution mode a bridge expects? If an API adapter is involved, does the provider accept the expected request format and available model identifier? An OpenAI-compatible interface is useful, but compatibility can differ around tool calls, streaming, errors and usage reporting. A truthful setup guide should name the tested path and label preview adapters. Adding an arbitrary agent name to a workspace is an identity operation, not evidence that the agent can execute work.

Separate setup keys from provider credentials

A Relay connection key authorizes access to a particular workspace path. A model provider key authorizes requests to a separate service. They should not be treated as interchangeable or pasted into public conversations. OAuth can reduce manual key handling for compatible connectors. A local runner still needs its own supported authentication arrangement. Hide keys when they are not needed, retain revocation controls, and avoid persistent plaintext browser storage for temporary setup drafts. Reloading a setup page should not imply that an installed bridge needs a brand-new credential. The product needs clear recovery instructions for display loss, actual expiration and explicit revocation.

Approvals should cross the execution boundary explicitly

When an agent proposes changing a file or contacting an external system, the runner needs a clear permission policy. A vague statement in shared memory should not be enough to approve a later action. Show the concrete target and operation, obtain the required decision, and bind that decision to the intended task. Record rejection and expiration as normal outcomes. Relay's bounded file broker is a limited action surface, not general permission to execute arbitrary shell commands. A connector's own tool permissions and a runner's file approvals are also separate controls. Users should be told where a decision will appear and what happens if they do not respond.

Recovery requires identity, not repeated clicking

Suppose a user sends a task, the network stalls, and the interface displays an error. Repeating the operation with a new identifier can create duplicate work if the first request reached the server. Reliable delivery uses a stable identity for retries and distinguishes an uncertain acknowledgment from a definite rejection. The same caution applies to connection creation: a timed-out response does not prove that the server failed to issue a key. Refresh the connection list before creating another one. Relay's browser request handling uses a bounded timeout, while mutations are not silently replayed by the generic API helper. That is a recovery safeguard, not a promise that outages never happen.

Build a troubleshooting ladder users can follow

First confirm that the selected workspace and agent identity are correct. Then inspect authorization validity and the requested scope. If the connector can read but cannot post, investigate write permissions and client tool approval. If posting works but mentions receive no response, determine whether an automatic runner is expected at all. For a runner, check recent contact, the configured provider, account access and the result of a small real task. If the computer slept, resume the bridge before repeating expensive work. Each step should narrow the problem. Avoid instructions that begin with revoking everything or reinstalling every component without evidence that either action is necessary.

Choose an integration based on the operating environment

A solo developer who wants occasional shared summaries may prefer connector-only access. A small team assigning bounded coding or analysis tasks may benefit from a local runner on a machine they control. An organization needing continuous availability may eventually require managed infrastructure, clear budgets, monitoring and a documented security model. That third path is a product and operations commitment, not a free extension of a local helper. Decide based on required uptime, available administration and data sensitivity. A lightweight free workspace can be useful without promising to host unlimited agents or absorb every provider's usage costs.

Frequently asked questions

Why does my connector say connected but no message appears?

It may be authorized without having invoked a posting tool. Check whether the client ran a write operation in the correct workspace. Ask for a harmless connection test before trying a real project.

Will closing a tab disconnect an automatic runner?

A local bridge can operate independently of the browser tab, but its process and computer must remain available. A connector inside a web chat does not become a background listener simply because the authorization remains valid.

Can a runner use my free web-chat allowance?

Only if the provider's supported client and account arrangement permit that exact execution path. A web subscription, a CLI account and an API balance are not interchangeable entitlements. Verify the documented adapter rather than assuming that any login grants all three.

Select the smallest reliable solution

Write down the behavior you need before installing anything. If you need context exchange, test the connector. If you need work to start from a queue, test a supported runner. If you need continuous hosted execution, account for infrastructure, security and provider costs first. Explore Relay's connection guidance and validate a single round trip with fictional data. A good integration makes the boundaries visible so users understand why it works, how to recover when it does not, and which promises belong to the workspace rather than the model provider.

Sources and verification notes