Skip to main content

MCP server for acsearch.info — ancient coin auction archive with 16M+ lots

Project description

acsearch-mcp

MCP server for acsearch.info — the ancient coin auction archive with 16M+ lots from 475 auction houses. Framework-agnostic: works with any MCP-compatible client (Hermes, Claude Desktop, Claude Code, Cursor, Continue.dev, etc.).

Setup

git clone git@github.com:wushanyun64/acsearch-mcp.git
cd acsearch-mcp
uv sync

Requires an acsearch.info Premium account (€85/year) for price data.

Credentials are passed via environment variables:

export ACSEARCH_USERNAME="your_username"
export ACSEARCH_PASSWORD="your_password"

Session cookies are cached to ~/.acsearch_cookies.json after first login to avoid re-authenticating on every tool call.

MCP Tools

Tool Description
search Full-text Boolean search with wildcards, phrases, exclusions
get_lot Full lot details: description, specs, references, provenance
price_history Year-by-year price analysis for market research
find_comparables Recent comparable auction results for valuation

Search Syntax

  • * — wildcard (auto-appended to 3+ char words)
  • "..." — exact phrase
  • -word — exclude results containing word
  • (...) — group sub-queries

Examples: "Philip II tetradrachm", Alexander* stater -bronze, cistophorus Ephes*

Client Configuration

Hermes Agent

Add to ~/.hermes/config.yaml:

mcp_servers:
  acsearch:
    command: uv
    args:
      - --directory
      - /path/to/acsearch-mcp
      - run
      - acsearch-mcp
      - --transport
      - stdio
    env:
      ACSEARCH_USERNAME: your_username
      ACSEARCH_PASSWORD: your_password

Then restart: hermes gateway restart (or /reset in CLI).

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "acsearch": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/acsearch-mcp",
        "run", "acsearch-mcp", "--transport", "stdio"
      ],
      "env": {
        "ACSEARCH_USERNAME": "your_username",
        "ACSEARCH_PASSWORD": "your_password"
      }
    }
  }
}

Claude Code / Cursor / Continue.dev

Any MCP client that accepts stdio command config. Point command to uv, pass --directory /path/to/acsearch-mcp run acsearch-mcp --transport stdio as args, and include the two ACSEARCH_* env vars.

Generic MCP Client (stdio)

ACSEARCH_USERNAME="your_username" \
ACSEARCH_PASSWORD="your_password" \
uv --directory /path/to/acsearch-mcp run acsearch-mcp --transport stdio

HTTP Mode (remote / networked clients)

uv run acsearch-mcp --transport http --host 0.0.0.0 --port 8001

Then connect your client to http://host:8001/mcp.

Architecture

acsearch_mcp/
├── server.py    # FastMCP server with 4 tools (stdio + HTTP)
├── client.py    # HTTP client: login, cookies, rate limiting
├── parser.py    # JSON extraction from script tags, HTML fallback
└── models.py    # Dataclasses: SearchResult, LotDetail, etc.

Key insight: acsearch.info embeds search results as acsearch.initSearchResults = [{...}] JSON in a <script> tag. No fragile HTML parsing needed for search results.

Limitations

  • Descriptions are capped at 350 characters by acsearch.info. The full catalog text lives on the original auction house page (accessible via the link field in lot details).
  • Prices are only visible with a Premium account.

Project details


Download files

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

Source Distribution

acsearch_mcp-0.1.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

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

acsearch_mcp-0.1.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: acsearch_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for acsearch_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2d4452110a306e71102015762ee63ed724e45e63b7afd48fda666408ea5f11a7
MD5 72a87a9a9d12ccf2e501b269b3a67c7e
BLAKE2b-256 a8e540dc92e1b02c9d01fdb12f469ce5b3b046c4ae73734047bee10f28323240

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for acsearch_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e656189236bc5f8cffe5ca2897ea5a7b2189dab3cedca34f5ca5a5f15a6aca13
MD5 db20e4911e0176e857401b17ab3df54f
BLAKE2b-256 433aba030b24ffbb915420d4900d9d5ce5cbce281cde7b6f5ba3e7745f619524

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page