100+ integrations are ready to connect to your AI.Connect your first MCP

OpenCode MCP server for Shopify, Stripe and 100+ business tools

Add one entry to opencode.json and OpenCode signs in to PopMCP with OAuth the first time it needs it. Your terminal agent can then read real orders, payments, issues and analytics. No API keys, and no headers to manage.

https://app.popmcp.com/mcp

Steps checked against OpenCode's documentation on

Connect OpenCode to PopMCP

One path, and it ends with the PopMCP sign-in where you pick what OpenCode may reach.

Add PopMCP to your OpenCode config

One block under the mcp key. Put it in opencode.json in a project root to scope it to that repository, or in your global OpenCode config to have it everywhere.

  1. Sign in at app.popmcp.com, connect the tools you want OpenCode to reach, and check each one shows as Verified.

  2. Add popmcp under the mcp key. If the file already has an mcp block, add popmcp beside the existing entries instead of replacing them. Leave out headers: there is no API key.

    opencode.json
    {
      "$schema": "https://opencode.ai/config.json",
      "mcp": {
        "popmcp": {
          "type": "remote",
          "url": "https://app.popmcp.com/mcp",
          "enabled": true
        }
      }
    }
  3. Start OpenCode and it prompts you to authenticate the first time it uses PopMCP. You can also start the sign-in yourself.

    Terminal
    opencode mcp auth popmcp
  4. Your browser opens the PopMCP consent screen. Tick only the connectors OpenCode should reach, then authorize.

  5. List your MCP servers and their sign-in status, then ask OpenCode to run list_connections. Start with a read-only request.

    Terminal
    opencode mcp list
What you save and run, in order. Drawn from the steps beside it, not a screenshot.

The short answer

OpenCode supports the Model Context Protocol (MCP) through remote servers in its config: you add a server with type remote and a URL under the mcp key, and OpenCode handles the OAuth sign-in when the server asks for it. PopMCP is a hosted MCP server that puts 100+ business tools behind one URL, https://app.popmcp.com/mcp, so one entry reaches every tool you connect in PopMCP. You choose which connectors OpenCode may use on the PopMCP consent screen.

What to ask OpenCode

OpenCode calls PopMCP's tools, PopMCP reads your connected accounts, and the answer comes back in the chat. The tool names are the real ones OpenCode calls.

OpenCodePopMCP connected

Write a seed script from five real Stripe products and their prices.

PopMCP, 2 tool calls

  1. stripe_list_productsFive active productsread
  2. stripe_list_pricesThe prices attached to eachread
Ask OpenCode about your tools

The reply is drawn as bars on purpose: the figures come from your own accounts, so this page does not make any up.

More to paste into OpenCode

  • Write a seed script from five real Stripe products and prices.
  • Pull three recent Shopify orders so I can type the order model.
  • Show me a HubSpot deal with every property we use.
PopMCP's consent screen. Tick only the connections OpenCode should reach, then Authorize. Drawn from PopMCP's own consent screen, not a screenshot. Your layout may differ.

You decide what OpenCode can reach

That is set in PopMCP, not in OpenCode. The sign-in ends on a consent screen that lists your connections.

OAuth sign-in, no API keys
OpenCode signs in to PopMCP with OAuth 2.1. There is nothing to paste, and your Shopify or Stripe credentials stay encrypted inside PopMCP.
You pick the connectors
The consent screen lists your connections. OpenCode reaches only the ones you tick.
Read-only where you want it
A workspace owner or admin sets each teammate to no access, read, or read and write, per connection.
Every call is on the record
Usage shows each request by user, connector and tool. Removing someone's access applies on the next request.

Where PopMCP works in OpenCode

Each row is one place OpenCode runs, and what its vendor says about adding a remote MCP server there.

WhereRemote MCPHow it signs in
OpenCode, one repositoryopencode.json in the project rootSupportedOAuth, started automatically on first use
OpenCode, every projectYour global OpenCode configSupportedThe same entry and the same sign-in

Before you connect OpenCode

Four details from OpenCode's docs worth knowing before you start.

Tools are prefixed with the server name
OpenCode prefixes each MCP tool with the name you gave the server, so PopMCP's tools appear as popmcp_ followed by the tool name. You can switch them all off for an agent with the pattern popmcp_*.
MCP tools use context
OpenCode's docs warn that MCP servers add to the context window and suggest enabling only what you need. PopMCP loads a curated set per connector and keeps the rest searchable, and you tick only the connectors a task needs.
Tokens are stored on your machine
OpenCode keeps MCP sign-in tokens in ~/.local/share/opencode/mcp-auth.json. Run opencode mcp logout popmcp to remove them.
When a sign-in will not start
opencode mcp debug popmcp shows the auth status, tests the connection and tries the OAuth discovery flow, which tells you where it stops.

Questions about OpenCode and PopMCP

Answered from OpenCode's documentation, checked on .

Does OpenCode support remote MCP servers?

Yes. OpenCode's config takes MCP servers with type remote and a url. If the server needs sign-in, OpenCode detects it and runs the OAuth flow, using dynamic client registration when the server supports it. PopMCP does.

How do I add an MCP server to OpenCode?

Add an entry under the mcp key in opencode.json with type set to remote, url set to https://app.popmcp.com/mcp and enabled set to true. Then start OpenCode, or run opencode mcp auth popmcp, and approve the sign-in.

Do I need to add an Authorization header?

No. PopMCP is OAuth-only, so there is no API key or bearer token to put in headers. Leave the headers block out and OpenCode signs in for you.

Can I limit PopMCP to one repository?

Yes. Put the entry in opencode.json in that project's root. Put it in your global OpenCode config to make it available in every project.

How do I sign out of PopMCP in OpenCode?

Run opencode mcp logout popmcp. It removes the stored credentials from ~/.local/share/opencode/mcp-auth.json. You can also remove the member or the connection in PopMCP.

Which of my tools can OpenCode reach?

Only the connectors you tick on the PopMCP consent screen. A workspace owner or admin can also set each teammate to no access, read, or read and write per connection.

Sources

3 references, checked 12 October 2026

Every step on this page comes from these sources. Community sources are labelled, and we used them only where the vendor has not documented a step.

  1. OpenCode docs: MCP serversRemote servers use type remote and a url under the mcp key, OAuth starts automatically with dynamic client registration, the opencode mcp auth, list, logout and debug commands, where tokens are stored, and that tools are prefixed with the server name.opencode.ai
  2. Model Context Protocol: AuthorizationThe MCP OAuth 2.1 flow, with PKCE, protected resource metadata and dynamic client registration, that PopMCP implements.modelcontextprotocol.io
  3. PopMCP docs: OpenCodeThe opencode.json entry PopMCP documents for OpenCode.docs.popmcp.com

Use the same URL everywhere

Every client adds the same PopMCP URL and signs in with OAuth.

All AI clients

Put 100+ business tools inside OpenCode

Connect your tools in PopMCP, add the PopMCP URL, and approve the sign-in. There is nothing to install.

Connect your first MCP