Streamable HTTP
Connect a remote MCP server using its HTTPS endpoint.
View connectionConnect a supported remote MCP server so agents can use the tools it exposes. Keep the server, authentication and agent access explicit.
Read the documentation

A supported remote server exposes tools through its HTTPS endpoint.
Configure authentication, discover tools and choose agent access.
Use the available tools within their permissions and confirmation settings.
This describes Chippi as a client of remote MCP servers. A local stdio server uses a different setup; it is not a remote HTTPS connection.
Chippi supports three MCP transports. Choose the one your server provides. The tools come from that server and appear after discovery.
Connect a remote MCP server using its HTTPS endpoint.
View connectionConnect a remote MCP server that uses the SSE transport.
View connectionConfigure a command-based MCP server on the Chippi host.
View connectionChippi connects as an MCP client. These public TypeScript SDK v1 examples show the same connection, discovery and tool-call flow. Use your provider’s endpoint and credentials.
For Node.js with @modelcontextprotocol/sdk 1.30.0.
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from
"@modelcontextprotocol/sdk/client/streamableHttp.js";
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
const endpoint = process.env.MCP_SERVER_URL;
if (!endpoint) throw new Error("Set MCP_SERVER_URL");
const token = process.env.MCP_ACCESS_TOKEN;
const client = new Client({ name: "mcp-example", version: "1.0.0" });
const transport = new StreamableHTTPClientTransport(new URL(endpoint), {
requestInit: {
headers: token ? { Authorization: "Bearer " + token } : {},
},
});
await client.connect(transport);const tools: Tool[] = [];
let cursor: string | undefined;
do {
const page = await client.listTools(cursor ? { cursor } : {});
tools.push(...page.tools);
cursor = page.nextCursor;
} while (cursor);
for (const tool of tools) {
console.log(tool.name, tool.description, tool.inputSchema);
}const name = process.env.MCP_TOOL_NAME;
const input = process.env.MCP_TOOL_ARGUMENTS;
if (!name || !input) throw new Error("Set tool name and JSON arguments");
const tool = tools.find((item) => item.name === name);
if (!tool) throw new Error("Tool not offered by this server");
const args = JSON.parse(input);
if (!args || typeof args !== "object" || Array.isArray(args)) {
throw new Error("Tool arguments must be a JSON object");
}
const result = await client.callTool({ name: tool.name, arguments: args });
if (result.isError) throw new Error("The tool reported an error");
console.log(result.content);// Wrap discovery and any intended tool call in try / finally.
try {
// Discover tools and call the one you selected.
} finally {
await client.close();
}A remote MCP connection brings external tools into Chippi. It is separate from adding a workspace app or connecting a service through the integration catalog.
Explore integrationsAsk your own agent about Chippi