Getting Started

Introduction#

The MCP-developer track. You write your MCP server + hooks (and optionally commands, skills, subagents, memory) once with defineConnector({...}), then deploy across every detected agent platform under your branded MCP package. agent-connector is the framework underneath; your users should see npx @acme/acme-db-mcp install, not a foreground framework brand. You get per-MCP and per-tool token counts for your own wrapped server.

Just use agent hosts and have not authored a connector? See the agent user track → (one connector-free command — no defineConnector, no install).

The one accuracy-critical line between the tracks

"See what your tools cost" (per-MCP / per-tool, from your own wrapped server's serve proxy) is never the same as "see what the MCPs you use cost" (only available as whole-conversation host totals). The connector-free usage path cannot itemize per MCP server or tool — the canonical explanation covers why and which track gives you per-tool numbers.

Two pillars#

  • Single-API multi-platform deployment. One declarative + programmatic defineConnector({...}) → per-platform adapters render it into each host's native MCP registration, hook config, and content files; your branded package's CLI installs/syncs/uninstalls every detected host.
  • Default per-MCP token telemetry for your own server. Platform-independent, local-first, privacy-preserving (aggregate counts, never content). On by default for the stdio server your connector wraps.

It generalizes context-mode's proven adapter layer into a reusable framework: where context-mode hardcoded the served identity, here the MCP package metadata (package.json name, bin, and mcpName) becomes the source of truth. Public guides focus on 42 production-relevant agent hosts: every closed-source flagship and every major vendor's agent, whatever its star count, plus independent open-source projects above the listing floor. Install still targets only the hosts detected on your machine or the targets you name. It is Windows-first (no symlinks, no POSIX-only assumptions).