# SilphCo connector for Muse

SilphCo is Pokémon TCG market data: quotes, sales tape, live asks, grade ladders, and the signed-in user's watchlist / portfolio.

## Connect

MCP Streamable HTTP:

`https://silphcoanalytics.xyz/api/v3/mcp/`

Keyless calls are accepted: without a credential the call runs at the playground tier (2,000 units/month). Sign in for the keyed quota and the caller-owned list tools. An invalid Bearer credential returns HTTP 401; the `WWW-Authenticate` header names OAuth 2.0 Protected Resource Metadata (RFC 9728).

### OAuth 2.1 (one-tap Connect)

- Resource: `https://silphcoanalytics.xyz/api/v3/mcp/`
- Protected resource metadata: `https://silphcoanalytics.xyz/.well-known/oauth-protected-resource/api/v3/mcp`
- Authorization server metadata: `https://silphcoanalytics.xyz/.well-known/oauth-authorization-server`
- Register (RFC 7591 DCR): `POST https://silphcoanalytics.xyz/oauth/register`
- Authorize: `https://silphcoanalytics.xyz/oauth/authorize` (PKCE S256, `response_type=code`)
- Token: `POST https://silphcoanalytics.xyz/oauth/token`
- Human login: Google (same account as silphcoanalytics.xyz)
- Connect page: `https://silphcoanalytics.xyz/connect/muse`

Send `Authorization: Bearer <access_token>` on every MCP request. Access tokens are SilphCo-issued and bound to the MCP resource (RFC 8707). They are not Google or Supabase tokens.

A dashboard API key (`sk_live_…` from https://silphcoanalytics.xyz/dashboard) also works as `Authorization: Bearer`.

## Scopes

- `mcp` — public market tools (`search`, `quote`, `get_prices`, `get_sales`, `get_listings`, cohort jobs)
- Identified user (OAuth token or that user's API key) also gets list tools: `list_user_lists`, `get_list_contents`, `add_to_watchlist`, `add_cards_to_list`, and the matching remove/analyze tools

Anonymous playground (REST and MCP): `GET /api/v3/price` works without a key, and a keyless MCP call runs at the same tier.

Signed-in free: 2,000 API units/month and 10 chat messages/month.

## Limits (catalog)

| | Anonymous playground (REST + MCP) | Signed-in free | SilphCo Pro |
|---|---|---|---|
| Price | $0 | $0 | **$12.99/mo** |
| API / MCP units | 2,000/month | **2,000/month** | 50,000/month |
| Chat messages | 10/month | **10/month** | 100/month |

When a signed-in free caller hits the monthly API cap, the 429 body includes a Stripe Checkout URL for Pro. Payment is Stripe Checkout / Link, not x402.

## Agent notes

- Finish is a parameter on `quote` / listings / ladder — not a word in `search.q`.
- Batch first: pass `ids` lists. Bound `get_prices` with `limit` or `since`.
- Bare `/api/v3/mcp` 307s to the trailing-slash URL. Follow redirects. Use Streamable HTTP.
