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.

Metadata

Release files for visceral-consignment-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for visceral-consignment-mcp 0.1.0
File Size Uploaded Provenance
visceral_consignment_mcp-0.1.0.tar.gz 6.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for visceral-consignment-mcp 0.1.0
File Interpreter ABI Platform
visceral_consignment_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.3 kB

Release files / visceral_consignment_mcp-0.1.0.tar.gz

Download URL visceral_consignment_mcp-0.1.0.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c59fd88dd515a94c961420c84780e98bf588ce5de5324dcc78345a4556953ca7
BLAKE2b-256 checksum
How to use checksums
3192229849ac7ca93ba6399c2b13e9c97876fd7d5e3c6f972bb44ec755c3b184
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.15

Release files / visceral_consignment_mcp-0.1.0-py3-none-any.whl

Download URL visceral_consignment_mcp-0.1.0-py3-none-any.whl
Size 6.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a00bc3084df4cd0acecb2c5567d04a05ce6ba53cc758abc09dbe7be2e2ff746b
BLAKE2b-256 checksum
How to use checksums
dfdd98968c47aabc21eb5b217f735792d1d5ed49e182cb4150e3aba955a9c7df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.15

Security for visceral-consignment-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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