Capitol Ledger MCP
Read-only congressional stock disclosure research for AI agents. Search official U.S. House disclosures, inspect saved synthetic disclosure-ledger portfolios, and explain portfolio changes with source and timing context.
Request pilot access · API documentation · Public fictional sample · Methodology
Access
The adapter is open source. The hosted data API requires an approved Capitol Ledger API key. Request an invited free 14-day pilot at the link above. Approved pilot accounts default to 1,000 authenticated requests per UTC day, shared across keys. No payment details or automatic paid conversion. Submitting an application does not grant access or subscribe you to a newsletter.
The public JSON sample is fictional and requires no key. It is useful for inspecting the response shape; it is not a real disclosure or live data.
Install
Python 3.12 or later is required. Install from this public repository:
pip install 'git+https://github.com/joalbrecht/capitol-ledger-mcp.git'
The package name for the PyPI release is capitol-ledger-mcp. After that release
is available, install with pip install capitol-ledger-mcp or run with
uvx --from capitol-ledger-mcp capitol-ledger-mcp.
Connect your MCP client
For an installed adapter, use this local stdio configuration:
{
"mcpServers": {
"capitol-ledger": {
"command": "capitol-ledger-mcp",
"env": {
"CAPITOL_LEDGER_API_URL": "https://capitol-ledger.com",
"CAPITOL_LEDGER_API_KEY": "YOUR_APPROVED_API_KEY"
}
}
}
}
Replace the placeholder locally and keep the key in your client's secret store. Do not put it in a shared prompt, URL, issue, or public repository. If your client cannot find the command, use its absolute installation path.
A client using uvx after the PyPI release can instead use "command": "uvx" and
"args": ["--from", "capitol-ledger-mcp", "capitol-ledger-mcp"], with the same env.
This is a local stdio server that calls a hosted HTTPS API. It is not a hosted
remote MCP endpoint. No broker or trading-account credentials are needed.
Tools
| Tool | Purpose | Parameters |
|---|---|---|
search_disclosures |
Search House stock disclosures with filing links and amount ranges | Optional ticker, side, available_after, as_of, limit, offset |
get_portfolio |
Opening/closing allocations for a saved synthetic ledger report | Optional report_id, as_of |
get_portfolio_changes |
Purchases, sales, and allocation changes for a saved period | Optional report_id, as_of |
Example questions after connecting:
- What NVDA purchases were disclosed in the last 30 days? Include source links.
- Show the latest saved synthetic disclosure portfolio and its period.
- What changed in that report? Use the same report ID.
Search defaults to 30 days, with at most 100 rows per call. side accepts purchase,
sale, or exchange. Timestamps must include a timezone. Reuse returned as_of
and available_after when paging with meta.next_offset. Pin report_id to compare
a portfolio and its changes over the same period.
Coverage and interpretation
- House only. Senate data is excluded.
- Disclosures are delayed. The transaction date, public filing availability, and collection time are separate; do not describe a newly filed disclosure as a trade that just happened.
- Disclosed amounts are ranges, not exact transaction values. Synthetic ledger values use midpoint estimates.
- Portfolio snapshots represent a synthetic disclosure ledger, not actual member holdings or Capitol Ledger's executable strategy portfolio. Reports may be daily, weekly, monthly, or ad hoc; inspect returned period metadata.
- Preserve source URLs, calculation metadata, freshness, and coverage warnings. Completeness is not guaranteed. Historical queries use current parsed records, not a complete versioned archive of parser/source revisions.
- Research data only; no personalized investment advice or order execution.
- Pilot access is for internal research workflows; contact Capitol Ledger about redistribution or serving downstream users. The code's MIT license does not grant redistribution rights to the hosted data.
Usage and errors
All three tools use the API's account-wide quota. Usage and expiry can be checked
outside MCP using authenticated GET /api/v1/account (this also consumes a call).
- 401: invalid/revoked key.
- 403: inactive/expired access.
- 404: no completed saved report for that query.
- 422: invalid parameters.
- 429: daily quota exhausted; see the HTTP API's
Retry-Afterheader.
The tools never change subscriptions, rotate keys, submit orders, or access a local product database. API calls require HTTPS except for local development; redirects are not followed with credentials. Keys are environment credentials, not tool inputs. Model inference runs in your MCP client; this adapter only retrieves research data.
Development
pip install -e '.[dev]'
pytest
ruff check .
Tests use mocked HTTP and do not need live credentials or consume API quota.
Publishing
See PUBLISHING.md for the release workflow, PyPI trusted publisher setup, and official MCP Registry metadata. Directory submissions are not evidence of endorsement or listing approval.
License and contact
MIT for the adapter code. Hosted API access and data rights are separate. Contact: hello@capitol-ledger.com.
Metadata
Release files for capitol-ledger-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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| capitol_ledger_mcp-0.1.0.tar.gz | 7.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| capitol_ledger_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.4 kB
Release files / capitol_ledger_mcp-0.1.0.tar.gz
| Download URL | capitol_ledger_mcp-0.1.0.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b093cd321b1b470b938227f6e9346b601c9202b045800b237c0e03c88d615154
|
|
BLAKE2b-256 checksum How to use checksums |
eafddeb66693759e3744c6717fb200e4a762b0e20f8326ed00efb60df0f975dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / capitol_ledger_mcp-0.1.0-py3-none-any.whl
| Download URL | capitol_ledger_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0fea567f053ef723efcaa49d0c1f5577123a39b63496a40b2165629a08084c7b
|
|
BLAKE2b-256 checksum How to use checksums |
1880c4b1a181cdda8458e1d2ba2491bf3bee32ecb24cdb48cb6d79a21aefe2a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for capitol-ledger-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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for capitol_ledger_mcp-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA 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.