Streamable HTTP MCP Server

Connect Your AI Agent

Directly attach Claude, ChatGPT, Grok, or Gemini to VirtMCU's simulation engine using the Model Context Protocol.

Stable MCP Endpoint URL

https://api.virtmcu.com/mcp

Add this URL to your MCP client. The first time it connects, it opens a VirtMCU sign-in window (OAuth) -- there is no key to copy, and the client refreshes access on its own.

How sign-in works

  1. Add https://api.virtmcu.com/mcp as a remote MCP server in your client.
  2. The client discovers VirtMCU's OAuth server and opens a browser window to sign in.
  3. You approve the access it asks for on VirtMCU's consent screen.
  4. The client receives short-lived tokens and refreshes them itself -- nothing to paste or rotate.

Running in CI or a headless script with no browser? See CI & headless agents.

Claude (Anthropic)

Desktop & Connectors

Works with Claude Desktop and Claude Code via Streamable HTTP remote MCP.

Claude Code

claude mcp add --transport http virtmcu https://api.virtmcu.com/mcp
# then run /mcp inside Claude Code and choose "Authenticate"

Claude.ai and Claude Desktop

  1. Open Settings > Connectors and add a Custom Connector.
  2. Set the server URL to https://api.virtmcu.com/mcp.
  3. Click Connect and sign in to VirtMCU when the window opens.

ChatGPT (OpenAI)

Developer Mode / Custom MCP

Works with ChatGPT Developer Mode, GPT Custom Actions, and MCP connectors.

  1. In your GPT / Developer settings, add an MCP Server connection.
  2. Set Server URL to: https://api.virtmcu.com/mcp
  3. Choose OAuth authentication and sign in to VirtMCU when prompted.

Grok (xAI)

Custom Connectors

Works with Grok Custom Connectors for real-time firmware execution and debugging.

  1. Navigate to grok.com/connectors
  2. Click New Connector and choose Custom.
  3. Set Name to VirtMCU.
  4. Set Endpoint URL to: https://api.virtmcu.com/mcp
  5. Choose OAuth if offered and sign in to VirtMCU. If the connector only takes a bearer token, use a token from CI & headless agents.

Gemini (Google)

Streamable HTTP

Works with Gemini CLI's remote Streamable HTTP servers. Add VirtMCU to ~/.gemini/settings.json, then sign in once:

{
  "mcpServers": {
    "virtmcu": { "httpUrl": "https://api.virtmcu.com/mcp" }
  }
}
# then run /mcp auth virtmcu inside Gemini CLI

CI & headless agents

VirtMCU is completely keyless. For non-interactive environments without a browser, authenticate using the device grant or OIDC federation:

Headless & Background Agents (Device Grant)

Run virtmcu-cli login once to approve via your browser. The CLI stores credentials securely and virtmcu-cli token emits fresh, auto-refreshed access tokens.

# 1. Headless CLI / background agents: sign in via RFC 8628 device grant
virtmcu-cli login
# Prints approval URL (https://virtmcu.com/device) and code; waits for approval.

# 2. Print a fresh access token (auto-refreshed via stored credentials):
export VIRTMCU_MCP_TOKEN=$(virtmcu-cli token)

CI / CD Pipelines (GitHub Actions OIDC Federation)

Automated CI workflows exchange a trusted GitHub Actions OIDC identity token directly for a short-lived VirtMCU bearer token — no static credentials or secrets stored in your repo.

# CI pipelines (GitHub Actions): keyless OIDC token exchange
# Add permissions to your workflow:
permissions:
  id-token: write
  contents: read

# Exchange GitHub OIDC token with VirtMCU for a short-lived access token:
# POST https://virtmcu.com/api/auth/oauth2/token
#   grant_type=urn:ietf:params:oauth:grant-type:token-exchange
#   subject_token_type=urn:ietf:params:oauth:token-type:id_token
#   client_id=virtmcu-ci

Developer Resources & Specifications