Brings the JCGE economic modeling framework into the MCP ecosystem with a focused agent API for building and solving Computable General Equilibrium models in Julia. Exposes twelve tools covering discovery (list_blocks, describe_block), guidance (modeling_guide, formulation_guide, solver_guide, calibration_guide), execution (load_model, solve, validate_model), and output (render_model, export_results). You'd reach for this when prototyping CGE models through conversation rather than writing Julia directly, or when you need an LLM to help assemble reusable JCGEBlocks components, choose solvers, work through Social Accounting Matrix calibration, or validate equilibrium conditions. Ships as a Docker image with stdio transport and maintains a parallel JSON action protocol for non-MCP integrations.
A Computable General Equilibrium (CGE) model is a quantitative economic model that represents an economy as interconnected markets for goods and services, factors of production, institutions, and the rest of the world. It is calibrated with data (typically a Social Accounting Matrix) and solved numerically as a system of nonlinear equations until equilibrium conditions (zero-profit, market-clearing, and income-balance) hold within tolerance.
JCGE is a block-based CGE modeling and execution framework in Julia. It defines a shared RunSpec structure and reusable blocks so models can be assembled, validated, solved, and compared consistently across packages.
MCP-compatible interface layer for agents that need to discover, load, solve, validate, and inspect
JCGE models. It exposes a small action API and a standard MCP stdio server over the same functionality.
The agent surface is intentionally focused on:
JCGEBlocks components,JCGECalibrate loaders, SAM helpers, labeled containers, and parameter workflows,RunSpec models,JCGEOutput,The package services are grouped in the documentation as discovery, modeling
guidance, model interaction, reporting, environment maintenance, and MCP runtime
services. See docs/src/services.md for the full service contract and current
limits.
The standard MCP transport is:
using JCGEAgentInterface
serve(transport=:mcp_stdio)
Minimal local MCP client configuration:
{
"mcpServers": {
"jcge": {
"command": "julia",
"args": [
"--project=/path/to/JCGEAgentInterface.jl",
"-e",
"using JCGEAgentInterface; serve(transport=:mcp_stdio)"
]
}
}
}
The MCP tools use the jcge_ prefix:
jcge_capabilitiesjcge_list_blocksjcge_describe_blockjcge_modeling_guidejcge_formulation_guidejcge_solver_guidejcge_calibration_guidejcge_reporting_guidejcge_package_statusjcge_update_packagesjcge_list_modelsjcge_load_modeljcge_solvejcge_validate_modeljcge_render_modeljcge_export_resultsThe original custom JSON action protocol remains available:
serve() reads JSON requests from stdin and writes JSON responses to stdout.
OCI-oriented MCP registry metadata is declared in server.json.
Future version tags matching v*.*.* trigger .github/workflows/publish-mcp.yml, which:
Project.toml,ghcr.io/equicirco/jcge-agentinterface-mcp:<release-version>,server.json for that release,The Docker image includes the MCP ownership label required by the MCP Registry:
LABEL io.modelcontextprotocol.server.name="io.github.equicirco/JCGEAgentInterface.jl"
No release, tag, image publication, or registry publication is performed by editing this repository.
If you use the JCGE framework, please cite:
Boero, R. JCGE - Julia Computable General Equilibrium Framework [software], 2026. DOI: 10.5281/zenodo.18282436 URL: https://JCGE.org
@software{boero_jcge_2026,
title = {JCGE - Julia Computable General Equilibrium Framework},
author = {Boero, Riccardo},
year = {2026},
doi = {10.5281/zenodo.18282436},
url = {https://JCGE.org}
}
If you use this package, please cite:
Boero, R. JCGEAgentInterface.jl - MCP-compatible agent interface for JCGE tooling. [software], 2026. DOI: 10.5281/zenodo.18335121 URL: https://AgentInterface.JCGE.org SourceCode: https://github.com/equicirco/JCGEAgentInterface.jl
@software{boero_jcgeagentinterface_2026,
title = {JCGEAgentInterface.jl - MCP-compatible agent interface for JCGE tooling.},
author = {Boero, Riccardo},
year = {2026},
doi = {10.5281/zenodo.18335121},
url = {https://AgentInterface.JCGE.org}
}
If you use a specific tagged release, please cite the version DOI assigned on Zenodo for that release (preferred for exact reproducibility).