Skip to main content

Visceral Consignment MCP Server

Official MCP server for the Visceral Consignment external API v1 — lets Claude (or any MCP client) answer questions about a shop's consignors, payouts, and payout line items in plain English.

Read-only. Every tool call is an authenticated HTTPS request to the external REST API (/api/external/v1/), so the shop's API-key scoping, tenant isolation, rate limits, usage metering, and secure-field masking all apply unchanged. Bank details and other secure fields are always masked and cannot be revealed through this server.

Prerequisites

  1. The external API enabled for the shop (pilot: enabled by Visceral support).
  2. A read-only API key: in Visceral, Settings → API → Create key. Name it for the tool that will use it (e.g. "Claude assistant") — usage is tracked per key and you can revoke it independently at any time.

Configuration

Environment variable Required Meaning
VISCERAL_API_KEY yes The vsk_... key from Settings → API
VISCERAL_API_URL no API base URL. Default: https://b.visceralapps.com/api/external/v1

Install & run

With uv (recommended — installs in one command and manages its own Python, so no Python setup is needed):

uvx visceral-consignment-mcp

Or with pip:

pip install visceral-consignment-mcp
visceral-mcp

The server speaks MCP over stdio (the standard transport for desktop clients).

Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "visceral-consignment": {
      "command": "uvx",
      "args": ["visceral-consignment-mcp"],
      "env": {
        "VISCERAL_API_KEY": "vsk_your_key_here"
      }
    }
  }
}

Claude Code

claude mcp add visceral-consignment \
  --env VISCERAL_API_KEY=vsk_your_key_here \
  -- uvx visceral-consignment-mcp

Then ask things like:

"Which consignors haven't had a completed payout since July?" "Summarize payout #918 — what sold and what did the consignor earn?" "How much did we pay out in total last month?"

Tools

Tool Purpose
get_shop_info Confirm the connection: shop, key scopes, rate-limit headroom
list_consignors Search/filter consignors (search, email, active, updated_since)
get_consignor One consignor's full record (secure fields masked)
list_payouts Filter payouts (status, consignor_id, processed_since, …)
get_payout One payout's summary
get_payout_line_items The sold items behind a payout, matching the CSV export

Behavior notes

  • Money values are decimal strings ("184.50") — the server instructs clients never to treat them as floats.
  • On a short rate-limit (429 with Retry-After ≤ 15s) the server waits and retries once; longer waits surface as a readable error telling the model how long to pause.
  • Versioned with the external API: these tools track v1 and follow the same early-access stability contract (see the External API v1 guide).

Development

Source lives in src/visceral_mcp/server.py — one @mcp.tool() per endpoint, a shared _get() helper for auth/errors/rate-limit handling.

python -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest tests/ -q

Tests inject an httpx.MockTransport via server._transport and call the tool functions directly (the @mcp.tool() decorator returns the plain function) — no network, no real key needed.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

visceral_consignment_mcp-0.1.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

visceral_consignment_mcp-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file visceral_consignment_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: visceral_consignment_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.15

File hashes

Hashes for visceral_consignment_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c59fd88dd515a94c961420c84780e98bf588ce5de5324dcc78345a4556953ca7
MD5 064898830adde35e7627f715e3f07a7d
BLAKE2b-256 3192229849ac7ca93ba6399c2b13e9c97876fd7d5e3c6f972bb44ec755c3b184

See more details on using hashes here.

File details

Details for the file visceral_consignment_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for visceral_consignment_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a00bc3084df4cd0acecb2c5567d04a05ce6ba53cc758abc09dbe7be2e2ff746b
MD5 62a27a3c897cf250a9ef0632c78699c1
BLAKE2b-256 dfdd98968c47aabc21eb5b217f735792d1d5ed49e182cb4150e3aba955a9c7df

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page