Skip to main content
Glama
Analog-Labs

Firestarter MCP Server

by Analog-Labs
README.md
# Firestarter MCP Server

The [Model Context Protocol](https://modelcontextprotocol.io) server for
[Firestarter](https://firestarter.network) — AI-native commerce execution.
Lets an AI assistant search real products, buy them with your approval, track
deliveries, and run a seller business end to end.

## Connect

The hosted server lives at **`https://api.firestarter.network/mcp`**
(streamable HTTP; WebSocket on the same path). Pick your client:

**Claude.ai (web, desktop app, mobile).** Settings → Connectors → *Add custom
connector* → paste the server URL. Claude discovers the OAuth endpoints
automatically and walks you through signing in with your Firestarter account —
no API key needed.

**Claude Code.**

```bash
claude mcp add --transport http firestarter https://api.firestarter.network/mcp
```

Authenticate via the OAuth prompt, or set a Bearer API key header if you prefer
a key.

**Claude Desktop (offline-friendly extension).** Download the packaged
extension from
[`https://api.firestarter.network/mcp/download`](https://api.firestarter.network/mcp/download)
(or grab `firestarter.mcpb` from the latest
[GitHub release](https://github.com/Analog-Labs/firestarter-mcp/releases)),
open it with Claude Desktop, and paste your API key when prompted — it is
stored in your OS keychain.

**Any other MCP client.** Remote: point it at the server URL with
`Authorization: Bearer fs_live_…` (or `fs_test_…` for sandbox). Local stdio:

```bash
FIRESTARTER_API_KEY=fs_test_... npx -y @analog-labs/firestarter-mcp
```

Get an API key at
[firestarter.network/dashboard](https://firestarter.network/dashboard); full
setup docs at [firestarter.network/mcp](https://firestarter.network/mcp).

## Authentication

Two supported schemes:

- **OAuth 2.0** — the server publishes RFC 9728 / RFC 8414 discovery metadata
  and answers unauthenticated requests with a `WWW-Authenticate` challenge.
  Dynamic client registration (RFC 7591) and PKCE S256 are supported, so
  OAuth-capable hosts (claude.ai, ChatGPT, Claude Code) connect with no
  pre-shared secret.
- **API keys** — `fs_live_…` / `fs_test_…` Bearer tokens from the dashboard,
  for clients and scripts that prefer a static credential.

## What's inside

86 tools, 7 resources, and 10 prompts covering the full commerce lifecycle:

- **Buying** — search and price real products, approve-gated checkout,
  receipts, delivery tracking, returns, disputes, and an inline shopping grid
  (MCP Apps) for browsing results.
- **Buyer safety** — saved addresses, payment methods, spend caps, and
  auto-approve limits.
- **Price monitoring** — watches with scheduled checks and notifications.
- **Selling** — listings, repricing, imports, Shopify/TikTok/store connectors,
  order fulfillment, analytics, and payouts.
- **Community markets & drops** — curated storefronts with revenue sharing.

Every tool declares `readOnlyHint` / `destructiveHint` / `openWorldHint`
annotations, enforced by tests, so MCP hosts can apply the right confirmation
policy per call.

## Developing

```bash
npm ci
npm run build        # builds the inline shopping UI, then compiles
npm test
npm run build:mcpb   # produces mcpb/dist/firestarter.mcpb
```

Set `FIRESTARTER_API_KEY` (`fs_live_...` for live orders, `fs_test_...` for
sandbox) to run the stdio server; `FIRESTARTER_API_URL` overrides the API base
for sandbox use.

## Safety model

Purchases never complete without an explicit approval step: `firestarter_execute`
finds and prices options, and only `firestarter_approve` charges. Tools that
move money or delete records are annotated `destructiveHint: true` so MCP hosts
prompt before running them; read-only tools are annotated so they don't.

## Privacy Policy

Full policy: **https://firestarter.network/privacy** · Questions: **privacy@firestarter.network**

This section covers the Firestarter Desktop Extension (`mcpb/`), which runs the
Firestarter MCP server locally and calls the Firestarter API on your behalf.

**What is collected.** The extension holds one credential you supply at install time: your
Firestarter API key. Claude Desktop stores it in your operating system's keychain, not in
plaintext config. Beyond that, the extension sends only what a request needs — the product
search or listing you ask about, and, when you approve a purchase, the order and delivery
address tied to it. It reads no files and collects no telemetry of its own.

**How it is used and stored.** Requests go over TLS to `https://api.firestarter.network`
(overridable via the `api_url` config for sandbox use) and are handled under the policy
linked above. Order, listing, and account records are stored server-side to run the
service. Payment card numbers are never stored by Firestarter; card details are handled by
the payment processor, and stored secrets are kept as cryptographic hashes.

**Third-party sharing.** Data is shared only where completing the transaction requires it —
principally the merchant fulfilling your order, plus payment and shipping providers. It is
not sold, and there is no third-party advertising or tracking.

**Retention.** Data is retained while your account is active; execution logs are retained
for 90 days. You may export your data or request deletion of your account from the
dashboard, or by writing to the address above.

**Your control.** Uninstalling the extension removes the stored API key from your keychain
and ends its access. Revoking the key in the Firestarter dashboard has the same effect
immediately, from any device.

## License

MIT — see [LICENSE](LICENSE).

TDQS

A3.7/5.0

Scored across 89 tools

Disambiguation3/5

Long descriptions do a lot of work to separate closely related tools, but several names genuinely overlap in purpose: firestarter_execute vs firestarter_preview, firestarter_list vs firestarter_listings, firestarter_watch vs firestarter_watches, and the family of firestarter_*drop* tools. An agent could easily pick the wrong one without carefully reading the detailed descriptions.

Naming Consistency3/5

Most tools follow a clear firestarter_verb_noun pattern, but there are many exceptions: bare verbs (check, execute, reprice), plain nouns (status, receipt, payouts), and confusing singular/plural pairs (watch/watches, list/listings, my_market/my_markets). No camelCase or other conventions, so it's still readable, but the pattern is far from uniform.

Tool Count1/5

At 89 tools, this is an extreme count for any single server. Even a multi-faceted marketplace platform would be better split into buyer, seller, and community-focused servers. The sheer volume makes it hard for an agent to navigate and select efficiently.

Completeness4/5

The tool surface is remarkably complete across buyer purchasing, seller fulfillment, community markets, drops, wallets, and payments. Minor gaps exist—there is no address update/delete, no seller response to reviews, and no explicit tool to update a saved address—but these are edge cases agents can work around.

Maintenance

ActivityActive
ResponsivenessWithin a week