PluginBench
MCP Server
Maintained
MIT

Chart Library — Market-state research MCP Server

io.github.grahammccain/chart-library

Market memory for AI: historical market states, published research, and source evidence for agents.

What is the Chart Library — Market-state research MCP server?

The Chart Library MCP server provides AI agents with access to historical market states, published research studies, and calibrated evidence for financial analysis. It offers five read-only tools for querying market conditions, daily research notes, and peer-reviewed publications without requiring authentication.

Chart Library gives Claude and other AI agents a structured interface to historical market data and published financial research. Use it to retrieve completed-session states with historical analogs, search and read peer-reviewed studies, check research quality calibration, and access daily market research notes. All data is read-only and free to access.

How to install Chart Library — Market-state research

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • CHART_LIBRARY_API_KEY
    secret

    Optional API key. Public research works without authentication; service limits apply.

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "chart-library": {
      "command": "uvx",
      "args": [
        "chartlibrary-mcp"
      ],
      "env": {
        "CHART_LIBRARY_API_KEY": "<YOUR_CHART_LIBRARY_API_KEY>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • market_state — Retrieve completed-session state for a symbol with historical analogs, outcome ranges, transition memory and tape; optionally specify a date (YYYY-MM-DD).
  • daily_note — Access published daily research including selection rule and settled-note tally; optionally specify a date.
  • research_quality — Retrieve published calibration receipt, dated sample and qualifications for research methodology audit.
  • search_research — Search relevant publications by query with optional filters for kind, limit and offset; returns IDs, findings, sample receipts and versions.
  • read_research — Read a specific research publication by ID with optional section, offset and version parameters; returns overview or exact source document with pagination and hashes.

Use cases

  • Retrieve historical market state and analogs for a stock symbol to understand past session outcomes and transition patterns.
  • Search published financial research by keyword and read full peer-reviewed studies with source evidence and limitations.
  • Access daily market research notes and calibration audits to verify research methodology and population coverage.
  • Compare current market conditions against historical analogs with sample sizes and percentage-point observations.
  • Build financial analysis workflows that cite dated evidence, sample sizes and provenance from published sources.

Chart Library — Market-state research MCP server FAQ

What is the Chart Library MCP server?

Chart Library provides AI agents with read-only access to historical market states, published research studies, and calibrated evidence for financial analysis. It includes tools to query market conditions, search peer-reviewed publications, and retrieve daily research notes.

Is Chart Library free to use?

Yes, research access is free. Service limits and underlying data terms apply; honor HTTP 429 rate-limit responses.

How do I install Chart Library in Cursor or Claude?

Install via pip: `python -m pip install --upgrade chartlibrary-mcp`. Then configure your MCP client with the command `chartlibrary-mcp`. Alternatively, use the remote HTTP endpoint at https://chartlibrary.io/mcp with no authentication required.

Do I need an API key?

No API key is required. An optional `CHART_LIBRARY_API_KEY` environment variable can be set and will be forwarded as a Bearer token; an empty key does not send an Authorization header.

What Python version is required?

Python 3.10 or higher is required. The server uses MCP 1.x with FastMCP and pins `mcp>=1.28.1,<2.0.0`.

How do I search and read research publications?

Use `search_research(query=...)` to find publications by keyword, then `read_research(research_id=...)` with the full 64-character version from the search result to retrieve the complete source document. Follow the content.next_read field for pagination.

README (reference)

Source of truth, from the repository.

Chart Library MCP

<!-- mcp-name: io.github.grahammccain/chart-library -->

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

ToolInputResult
market_stateSymbol; optional dateCompleted-session state, historical analogs, outcome ranges, transition memory and tape
daily_noteOptional datePublished daily research, selection rule and settled-note tally
research_qualityNonePublished calibration receipt, dated sample and qualifications
search_researchQuery; optional kind, limit and offsetRelevant publications, IDs, findings, sample receipts, limitations and versions
read_researchResearch ID; optional section, offset and versionOverview 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.

Related MCP servers

MCP server for Blacksmith CI - query runs, analyze test failures, detect flaky tests.

4
TypeScript
MIT
View repository →
ACacdoyle logo

acdoyle

Active

Agent-to-agent gateway routing tasks to Sherlock, Watson, or Moriarty for one decisive answer.

0
TypeScript
View repository →

Read public X posts, replies, profiles, and search results through Rettiwt or the official API.

1
TypeScript
ISC
View repository →
GRGraphPilot logo

Structural memory for coding agents: persistent code graph with callers, callees, blast radius, and evidence anchors.

15
TypeScript
Apache-2.0
View repository →
SHShuttle logo

Shuttle

Active

Android framework preventing TransactionTooLargeException crashes by safely transporting large Serializable objects between components.

87
Kotlin
MIT
View repository →

Browser-measured visual debugging and verification tools for coding agents.

0
TypeScript
View repository →