carter-mcp

carter-mcp

Enables AI assistants to author and push CAR-TER control surface layouts to paired iOS devices in real time, with tools for incremental editing, live preview, and data wiring.

Category
Visit Server

README

carter-mcp

An MCP server that lets an AI assistant (e.g. Claude) author and push CAR-TER layouts to a paired iPhone/iPad in real time.

CAR-TER turns a phone or tablet into any control surface you can describe — tabs, grids, and controls (gauges, sliders, joysticks, maps, graphs, live logs, chat, web views…) rendered as native UI and wired to your server over a WebSocket mesh (MeshSocket). This server gives a model the tools to build those layouts conversationally and see them appear on the device as it works.

What it does

  • Reads CAR-TER's live control documentation so the model builds against the real, current catalog instead of guessing — every control type, its fields, and worked examples.
  • Edits incrementally — a server-held draft buffer (begin_edit, add_control, move_control, add_group, preview_buffer, push_buffer…) with validation, snapshots/revert, and grid layout.
  • Pushes live to a device — pair by QR over a zero-config local relay (no account, same Wi-Fi) or a gateway, then push/preview layouts and read control values back.
  • Wires to your data — probe a running service's traffic, auto-wire controls to it, infer a layout from a schema, generate service/adapter stubs, and lint a draft against real frames.
  • 58 tools in total, exposed over stdio via FastMCP under the name carter.

Install

Requires Python 3.11+.

pip install -r requirements.txt

This pulls carterkit (the layout-authoring engine — catalog, buffer, grid, validation, codegen, theming), which brings meshsocket transitively, plus the mcp SDK and qrcode.

Run it from an MCP client

The server speaks MCP over stdio. Point your client at server.py:

// e.g. Claude Desktop's claude_desktop_config.json, or a Claude Code MCP entry
{
  "mcpServers": {
    "carter": {
      "command": "python",
      "args": ["/absolute/path/to/carter-mcp/server.py"]
    }
  }
}

Then ask the assistant to build you a panel — it will read the control docs, draft a layout, show you a QR to pair your device, and push the layout live.

To run it directly for a smoke test:

python server.py   # serves MCP on stdio

Where the knowledge comes from

The MCP is a thin tool layer over the current truth, not a vendored copy of it (see sources.py):

  • Control definitions (the catalog + doc prose) are fetched from the website — carterbeaudoin.net/CAR-TER/catalog.json — cached on disk with a TTL.
  • Authoring demos (example snippets + the builder engine) come from the installed carterkit; it also checks PyPI so it can tell you to upgrade a stale kit.

The check_sources tool reports drift between the website, the installed carterkit, and a paired device so mismatches are visible rather than silent.

Configuration

All optional — the defaults target the zero-config local relay:

Env var Purpose
CARTER_RELAY_URL Gateway ws/wss URL for target='relay' connects.
CARTER_MESH_TOKEN Gateway auth token (else auto-minted via a validator).
CARTER_VALIDATOR_URL Dev validator base URL used to auto-mint a token.
CARTER_LOCAL_RELAY_PORT Port for the in-process local relay (default 8765).

Tests

python -m pytest -q

Related

  • carterkit — the Python layout library + client this depends on.
  • meshsocket — the underlying WebSocket mesh transport.
  • CAR-TER docs — the control reference and integration guide.
  • PROTOCOL.md — the read-back / truthful-push wire contract with the device.

Notes

  • The sample-layout tools read layouts bundled beside the CAR-TER app repo in the original workspace; in a standalone checkout that set is simply empty — build layouts from the catalog and examples instead.

License

MIT — see LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured