JACTUS MCP Server
Standalone MCP server for JACTUS — Enables AI assistants like Claude Code to directly access JACTUS financial contract simulation capabilities.
What is this?
Model Context Protocol (MCP) is a protocol that allows AI assistants to interact with external tools. This package gives Claude (and other MCP-compatible assistants) the ability to discover, validate, and simulate all 18 ACTUS financial contract types powered by JACTUS.
Installation
pip install jactus-mcp
This installs the MCP server and pulls jactus as a dependency automatically.
Download Docs & Examples
After installing, optionally download JACTUS documentation and examples from GitHub:
jactus-mcp setup
This downloads the matching version's docs/ and examples/ into ~/.jactus-mcp/data/. You can also specify a tag:
jactus-mcp setup --tag v0.2.0 # specific version
jactus-mcp setup --force # re-download
jactus-mcp status # check what's downloaded
jactus-mcp clean # remove downloaded data
From GitHub
pip install git+https://github.com/pedronahum/JACTUS-MCP.git
For Development
git clone https://github.com/pedronahum/JACTUS-MCP.git
cd JACTUS-MCP
pip install -e ".[dev]"
Configuration
Claude Code
Add to your Claude Code MCP settings (.mcp.json or settings):
{
"mcpServers": {
"jactus": {
"command": "jactus-mcp"
}
}
}
Or using Python module:
{
"mcpServers": {
"jactus": {
"command": "python",
"args": ["-m", "jactus_mcp"]
}
}
}
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"jactus": {
"command": "jactus-mcp"
}
}
}
Transport Options
# Default: stdio transport (for local clients)
jactus-mcp
# or
python -m jactus_mcp
# Streamable HTTP transport (for remote clients)
python -m jactus_mcp --transport streamable-http
Features
Core Tools (always available)
These tools work with just pip install jactus-mcp — no source tree needed:
| Tool | Description |
|---|---|
jactus_list_contracts |
List all 18 contract types by category |
jactus_get_contract_info |
Get detailed info about a contract type |
jactus_get_contract_schema |
Get required/optional parameters for all 18 types |
jactus_get_event_types |
List all ACTUS event types |
jactus_list_risk_factor_observers |
List all risk factor observer types |
jactus_simulate_contract |
Simulate a contract and get structured cash flows |
jactus_validate_attributes |
Validate contract attributes before simulation |
jactus_compute_risk |
Compute DV01, delta, gamma, PV01 risk metrics |
jactus_simulate_portfolio |
Simulate a portfolio with aggregation |
jactus_get_topic_guide |
Structured guides on 7 topics |
jactus_get_quick_start |
Built-in PAM quick start example |
jactus_health_check |
Verify installation and JACTUS availability |
jactus_get_version_info |
Version information |
Docs & Example Tools (requires setup)
These tools require JACTUS docs/examples. Enable them with jactus-mcp setup:
| Tool | Description |
|---|---|
jactus_search_docs |
Search across JACTUS documentation |
jactus_get_doc_structure |
Browse documentation files and headers |
jactus_list_examples |
List Python scripts and notebooks |
jactus_get_example |
Retrieve example source code |
jactus_run_example |
Execute an example |
Alternatively, point to a local JACTUS checkout:
export JACTUS_ROOT=/path/to/JACTUS
MCP Resources
| Resource URI | Description |
|---|---|
jactus://docs/architecture |
System architecture guide |
jactus://docs/pam |
PAM contract walkthrough |
jactus://docs/derivatives |
Derivative contracts guide |
jactus://docs/readme |
Project overview |
jactus://contract/{type} |
Dynamic contract info + schema |
MCP Prompts
| Prompt | Description |
|---|---|
create_contract |
Guide to create a new contract |
troubleshoot_error |
Help troubleshoot errors |
understand_contract |
Explain a contract type |
compare_contracts |
Compare two contract types |
Quick Example
With the MCP server running, ask Claude:
"Simulate a $100k PAM loan at 5% interest maturing in 1 year"
Claude will:
- Call
jactus_get_contract_schema("PAM")to get required fields - Call
jactus_simulate_contractwith the attributes - Return structured cash flow events (IED, IP, MD) with payoff amounts
Contract Types
JACTUS implements all 18 ACTUS contract types:
- Principal: PAM, LAM, LAX, NAM, ANN, CLM
- Non-Principal: UMP, CSH, STK
- Exotic: COM
- Derivatives: FXOUT, OPTNS, FUTUR, SWPPV, SWAPS, CAPFL, CEG, CEC
Development
Running Tests
# Unit tests
pytest tests/ -v --ignore=tests/test_mcp_integration.py
# Integration tests (requires MCP stdio client)
pytest tests/test_mcp_integration.py -v
# All tests
pytest tests/ -v
Architecture
JACTUS-MCP/
├── src/jactus_mcp/
│ ├── __init__.py # Package version
│ ├── __main__.py # python -m jactus_mcp entry point
│ ├── server.py # FastMCP server (tools, resources, prompts)
│ ├── models.py # Pydantic response models
│ └── tools/
│ ├── _utils.py # Shared utilities (get_jactus_root, type conversion)
│ ├── contracts.py # Contract discovery & schema (18 types)
│ ├── simulate.py # Contract simulation
│ ├── examples.py # Example retrieval & execution
│ ├── validation.py # Attribute validation
│ ├── documentation.py # Documentation search & topic guides
│ ├── risk.py # Risk analytics (DV01, delta, gamma)
│ └── system.py # Health checks & version info
├── tests/ # Comprehensive test suite
├── pyproject.toml # Package configuration
└── README.md
License
Apache License 2.0
Links
Metadata
Release files for jactus-mcp 0.2.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 | Actions |
|---|---|---|---|---|
| jactus_mcp-0.2.0.tar.gz | 49.8 kB | With provenance | Details for jactus_mcp-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jactus_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for jactus_mcp-0.2.0-py3-none-any.whl |
Total release size: 95.9 kB
Release files / jactus_mcp-0.2.0.tar.gz
| Download URL | jactus_mcp-0.2.0.tar.gz |
|---|---|
| Size | 49.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1a031b4f1aa81d3c9ba4be8ced0de7adb4d10cba5e15562713f591f4fe040ea
|
|
BLAKE2b-256 checksum How to use checksums |
c361afb3033c94ee9ae53da4c683a371bc03a5f575d4822ad91b6ad66b2f719d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Apr 1, 2026.
Transparency logRelease files / jactus_mcp-0.2.0-py3-none-any.whl
| Download URL | jactus_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 46.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
541cbbf8df18719d17bf73b6153e9b8cba2bf24b5555160adda9dbdebea191b4
|
|
BLAKE2b-256 checksum How to use checksums |
1873c92f97f929d7725ac6cabc78f10bdfed67ca3e56b20b8327dfb9992fc425
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Apr 1, 2026.
Transparency logSecurity for jactus-mcp 0.2.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 jactus_mcp-0.2.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 Apr 1, 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.