MCP Dual-Transport Server

Connect to the same scoped Dots MCP server over local stdio or credentialed Streamable HTTP without changing tool behavior.

Overview

Description

The Dual-Transport Server makes Dots usable from locally spawned MCP hosts and remote network clients through one shared server factory. runStdioServer connects createScopedMcpServer to the official stdio transport behind dots mcp. createMcpWebHandler manages credential-bound Streamable HTTP sessions mounted at /api/v1/mcp, while both transports resolve authority through the same authenticated path.

The workflow is designed for MCP host integrators. It uses the same authenticated, company-scoped service contracts as the rest of Dots, so terminal or protocol convenience never creates a second source of truth. Inputs are validated before or at the route boundary, and outputs preserve identifiers and structured details needed for a reliable next step.

Selling Points

  • Lets desktop and coding hosts spawn a local server with a simple command.
  • Supports remote MCP clients through a standard credentialed HTTP endpoint.
  • Keeps tool catalog, scope, rendering, and behavior identical across transports.
  • Binds network sessions to bearer identity and active-company context.
  • Uses the official MCP SDK rather than a bespoke JSON-RPC implementation.

User Story

A developer uses stdio from a local coding host during desktop work, then configures a remote service to connect over Streamable HTTP with a PAT. Both clients discover the same scoped tools and receive the same result contracts. The result is a concrete, inspectable outcome that another person or automation can continue from without reconstructing hidden state.

Extension Surface

The feature is configurable: packages/mcp/src/index.ts exposes the stdio runner, packages/mcp/src/web-handler.ts exposes the HTTP bind, and callers inject endpoint, token, company, fetch, and read-only settings. The rating reflects the most-open supported seam that is true for this capability, not a transitive implementation detail. The cited path is the operational proof: consumers can use the documented seam, while unsupported changes still require a core release.

Capabilities & Limits

  • Capability: Local stdio transport launched by dots mcp.
  • Capability: Credentialed Streamable HTTP sessions on the API route.
  • Capability: Shared scoped factory and concurrency-safe injected HTTP client.
  • Limit: The network bind requires a valid bearer and supported MCP session flow; stdio remains a long-running protocol process rather than a one-shot CLI command.

The limit is intentional product truth rather than missing documentation. Calls also remain subject to authentication, tenant selection, schema validation, and the permissions enforced by the authoritative service.

Implementation Map

  • packages/mcp/src/index.ts
  • packages/mcp/src/web-handler.ts
  • docs/mcp/transport-and-auth.md

Properties

Property
Value
product
dots-platform
extensibility
configurable
module
MCP, CLI
packages
mcp, cli, api
status
shipped
surface
mcp
summary
Connect to the same scoped Dots MCP server over local stdio or credentialed Streamable HTTP without changing tool behavior.

Connections

MCP Dual-Transport Server · Explore connections

  • documented bytoMCP Overview
  • documented bytodots mcp, dots repo, and dots graph
  • documented bytoConnect Your Agent
  • implemented bytopackages/mcp/src/index.ts
  • implemented bytopackages/mcp/src/web-handler.ts
  • requirestoMCP Scope-Filtered Advertisement and Read-Only Mode
  • complementstoLocal Runtime Operations
  • complementsfromMCP Scope-Filtered Advertisement and Read-Only Mode

Connected Records8

Complements
Documented by
Implemented by
packages/mcp/src/index.ts
packages/mcp/src/web-handler.ts
Requires
8 connections.

Documents