Docs / Contact / ai/overview

MCP across Tendrl

Tendrl exposes several Model Context Protocol (MCP) servers. You don't choose between "MCP" and an "MCP app". You connect a server once, and your AI client shows the richest experience it supports: an interactive card where available, the same result as plain text everywhere else. Nothing extra to install for the card.

The servers

Server How you connect What it does
Contact Remote: https://app.tendrl.com/contact/mcp (Bearer key) Manage entities/devices, messages, flows, services, roles, and API keys.
Surface Remote: https://app.tendrl.com/surface/mcp (Bearer key), or a local server Scan files and payloads for malware and prompt-injection threats. Renders an interactive scan card (hosted endpoint and local server).
Local Dev Local stdio server on your machine Flash firmware, provision, and debug physical MicroPython devices.
Strand Not a server you connect an assistant to A workflow platform that consumes MCP servers as connectors inside its AI nodes (see the Strand docs → Connectors → MCP Server).

Contact and Surface are the servers you add to your AI client. Local Dev runs beside them for hardware work. Strand sits on the other side of the protocol: it calls MCP servers from inside automated workflows.

How they work together

The servers don't call each other. Your AI assistant orchestrates them, carrying results from one to the next. A typical end-to-end flow:

  1. Register a device as a Contact entity; its single API key is issued once at creation (Contact).
  2. Flash and provision the physical board with that key (Local Dev).
  3. Scan before you trust: check firmware, payloads, or an inbound message with Surface, and only proceed if it passes.
  4. Automate: route the device's messages through a Strand workflow (which can itself call Surface or Contact via MCP connectors).

Because one assistant drives all of them, "provision a device end-to-end" or "scan this before I deploy it" become single conversations instead of four separate dashboards.

Text or interactive card: your client decides

Where a server ships an interactive UI, clients that support the MCP Apps extension render it inline; others fall back to the same data as text. There is nothing to toggle.

Client Interactive card Falls back to
Claude Desktop · claude.ai Yes
VS Code (Copilot) Yes
Goose · Postman Yes
Cursor · CLI clients Not yet Full text result

On clients that support the MCP Apps extension, the Surface MCP server (hosted or local) renders scan results as a card (the malware verdict plus any prompt-injection findings) instead of raw JSON. Everywhere else, and for every other tool, results come back as text (the same data, just not visualized).

Set up a server