Skip to main content

Chart Library MCP

Market memory for AI, with published research for agents and people.

Version 6.3.3 marks failed public tool calls as MCP errors while preserving their structured recovery details. Invalid requests explain how to correct the inputs; stale publication versions retain instructions to restart from the current overview. Successful response schemas and direct Python calls remain compatible.

Five read-only tools

Tool Input Result
market_state Symbol; optional date Completed-session state, historical analogs, outcome ranges, transition memory and tape
daily_note Optional date Published daily research, selection rule and settled-note tally
research_quality None Published calibration receipt, dated sample and qualifications
search_research Query; optional kind, limit and offset Relevant publications, IDs, findings, sample receipts, limitations and versions
read_research Research ID; optional section, offset and version Overview or an exact source document, with pagination and hashes

Market-state requests need no preliminary search or cohort handle. For published research, search for an ID, then read its evidence.

Example question: “Read AAPL's latest completed-session state. Report the historical analog ranges, sample sizes, session date and limitations.”

Omitting date uses the latest built/published session, not a real-time quote. Dates use YYYY-MM-DD. Missing or thin evidence stays missing or thin.

Connect

The primary remote endpoint is https://chartlibrary.io/mcp, using Streamable HTTP and no authentication.

For a command-based client, install or upgrade the package:

python -m pip install --upgrade chartlibrary-mcp

Then use the equivalent of this configuration in your MCP client:

{
  "mcpServers": {
    "chartlibrary": {
      "command": "chartlibrary-mcp"
    }
  }
}

No API key or server-side Python packages are required. An optional CHART_LIBRARY_API_KEY is forwarded as a Bearer token when set. An empty key does not send an Authorization header. CHART_LIBRARY_API_URL can select your own compatible endpoint; only point it at a server you trust with that key.

Python 3.10+ is required. This release uses the MCP 1.x FastMCP interface and pins mcp>=1.28.1,<2.0.0; MCP 2.x is a separate migration.

The equivalent HTTP calls

curl "https://chartlibrary.io/api/v1/state-packet?symbol=AAPL"
curl "https://chartlibrary.io/api/v1/daily"
curl "https://chartlibrary.io/api/v1/calibration"

Use only the call relevant to the question. For a historical state add &date=YYYY-MM-DD. Daily REST requests call the date parameter session.

Research workflow

search_research(query="IONQ noon", kind="casebook")
read_research(research_id="casebook:ionq-noon", section="article",
              version="FULL_VERSION_FROM_SEARCH")

Replace FULL_VERSION_FROM_SEARCH with the full 64-character version from the chosen search result. Updated servers supply documents[section].read_arguments directly; copy those into the tool and follow content.next_read until null. With earlier servers, pass the returned version and next_offset explicitly. Omitting the optional version reads the current publication without checking it against earlier responses. A changed version returns an error explaining how to restart from the current overview; the client does not retry automatically.

Search summaries are discovery metadata, not a source read. Read available guides and relevant limiting findings before making claims. Keyword search ranks document relevance, not market similarity or evidence strength. A partial result means a publication source was unavailable. Withdrawn articles cannot be read. Publication dates and market cutoffs differ; the noon IONQ case must not be merged with completed-session state analogs.

Complete IONQ example · Agent research plan

Read the evidence accurately

  • Preserve dates, sample sizes, informative receipts, warnings and provenance.
  • State-packet excess returns are percentage-point observations relative to a date-matched liquid-stock baseline. Each horizon has its own observed n.
  • Raw historical percentiles are not automatically calibrated forecasts.
  • research_quality audits only the method and population its receipt names. Do not transfer its coverage percentage to every market state or all research.
  • Daily research has its own selection rule and settled-note tally.
  • Historical frequencies are not recommendations to buy or sell.

Research access is free. Service limits and underlying data terms still apply. Honor HTTP 429 and retry guidance; do not assume unlimited throughput.

Existing integrations

Existing tool names stay registered and callable, including pull_comps, search, state_packet, and the cohort inspection tools. To discover the extended menu in a local client, set CHART_LIBRARY_MCP_PROFILE=advanced. This changes discovery, not authorization or access to private research.

The public menu does not expose private fund operations or every experimental state-memory method. Legacy examples in examples/ use the advanced interface.

Build with us

For a custom integration, a larger study, or a product built on the memory, contact Graham McCain — graham@chartlibrary.io.

Developer guide · Methodology · Data terms · Privacy

Local verification

python -m pytest test_vendor_import.py

The import smoke runs without an API key and without application services/ or db/ packages. No package or registry publication is performed by tests.

Release files for chartlibrary-mcp 6.3.3

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

Source distribution (sdist)

Source distribution for chartlibrary-mcp 6.3.3
File Size Uploaded
chartlibrary_mcp-6.3.3.tar.gz 42.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chartlibrary-mcp 6.3.3
File Interpreter ABI Platform
chartlibrary_mcp-6.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 86.6 kB

Release files / chartlibrary_mcp-6.3.3.tar.gz

Download URL chartlibrary_mcp-6.3.3.tar.gz
Size 42.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d34354c80cfa6cf1bad46776f589e87c76cbd5a6fea687796ad89345484ff1fb
BLAKE2b-256 checksum
How to use checksums
8150179e94403f6a9c24afe37fbccb1b79c1f08aeda2a564dce722a74cba85d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Release files / chartlibrary_mcp-6.3.3-py3-none-any.whl

Download URL chartlibrary_mcp-6.3.3-py3-none-any.whl
Size 43.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da65a1e9a6c4bbad1f1ba52f22f9976533133b0c3360421a48a94fa9e950d99c
BLAKE2b-256 checksum
How to use checksums
0d1d2a97bf0e704eb73e2602d5c048305ef23bb324a1d34c0021f4ce8cdd2678
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.2

Release history Release notifications | RSS feed

This release

6.3.3 This release

2 release files

6.3.2

2 release files

6.3.1

2 release files

6.3.0

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.4

2 release files

5.0.3

2 release files

5.0.2

2 release files

5.0.1

2 release files

5.0.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.0.0

2 release files

2.0.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release 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