About JCGE Agent Interface
JCGE Agent Interface is an MCP server for agents working with Julia-based JCGE computable general equilibrium models. It combines model discovery and development guidance with solving, validation, rendering, and results export.
Key features
- 01Discover installed JCGE packages and blocks
- 02Guidance on model formulation and calibration
- 03List reference model examples
- 04Solve and validate registered models
- 05Render models and export results
Use cases
- 01Explore reusable blocks before assembling a CGE model
- 02Choose formulation and solver approaches
- 03Run and validate a registered RunSpec model
- 04Inspect equations and export model results
MCP support
Provides MCP stdio access to JCGE discovery, guidance, model interaction, reporting, and package maintenance tools.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
docker run -i --rm ghcr.io/equicirco/jcge-agentinterface-mcp:0.3.1Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
ghcr.io/equicirco/jcge-agentinterface-mcp:0.3.1stdioTools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README
JCGEAgentInterface
What is a CGE?
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.
What is JCGE?
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.
What is this package?
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:
- discovering installed JCGE packages and available functionality,
- listing and describing reusable
JCGEBlockscomponents, - guiding users through CGE model development with JCGE blocks,
- guiding formulation choices such as equality systems, inequalities, MCP/complementarity, and optimization-style representations,
- guiding source-data preparation with released
JCGEImportDataadapters while retaining model-owned SAM construction choices, - guiding calibration with the currently available
JCGECalibrateloaders, SAM helpers, labeled containers, and parameter workflows, - guiding solver choice and reporting from generated equations,
- listing released
JCGEExamplesreference model modules, - solving registered
RunSpecmodels, - validating solved contexts,
- rendering implemented equations, blocks, and symbols through
JCGEOutput, - reporting or applying updates to released JCGE packages in the active Julia environment.
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.
MCP server
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_import_data_guidejcge_calibration_guidejcge_reporting_guidejcge_list_examplesjcge_package_statusjcge_update_packagesjcge_list_modelsjcge_load_modeljcge_solvejcge_validate_modeljcge_render_modeljcge_export_results
The original custom JSON action protocol remains available:
serve() reads JSON requests from stdin and writes JSON responses to stdout.
Docker and MCP Registry
OCI-oriented MCP registry metadata is declared in server.json.
Future version tags matching v*.*.* trigger .github/workflows/publish-mcp.yml, which:
- verifies the tag version matches
Project.toml, - builds the MCP Docker image,
- pushes it to GitHub Container Registry as
ghcr.io/equicirco/jcge-agentinterface-mcp:<release-version>, - updates
server.jsonfor that release, - publishes the metadata to the official MCP Registry through GitHub OIDC.
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.
How to cite
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).
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.