Aigroup Econ Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Aigroup Econ Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Econometrics MCP server for regression, causal inference, time series, panel data, machine learning, and broader statistical analysis workflows.
aigroup-econ-mcp is a professional econometrics-oriented MCP server designed to help AI assistants and MCP clients perform structured quantitative analysis.
It covers:
The server currently groups its 66 tools across the following categories:
uvx recommended for easiest usage, or pipuvx aigroup-econ-mcpIf uvx keeps using an older cached build:
uvx --no-cache aigroup-econ-mcppip install aigroup-econ-mcp
aigroup-econ-mcpA subset of machine-learning tools links against xgboost, which requires the OpenMP runtime (libomp.dylib) at import time. Without it, these four tools return a tool_unavailable payload even though the server itself starts fine:
ml_kmeans_clusteringml_hierarchical_clusteringml_double_machine_learningml_causal_forestInstall once with Homebrew:
brew install libompLinux / Windows users are unaffected — the xgboost wheels bundle or locate OpenMP automatically.
{
"mcpServers": {
"aigroup-econ-mcp": {
"command": "uvx",
"args": ["aigroup-econ-mcp"]
}
}
}.xlsx, .xls)Typical usage patterns:
json (default — structured Pydantic result serialized)markdown (human-readable tables and coefficient stars)text (compact str(model.model_dump()) fallback)Every tool accepts parameters either inline (direct lists) or from a file via file_path. The server returns a JSON string; on failure the payload has a uniform {"ok": false, "error": {...}} shape.
{
"name": "basic_parametric_estimation_ols",
"arguments": {
"y_data": [1.0, 2.1, 2.9, 4.1, 5.0, 5.9, 7.1, 8.0, 8.9, 10.1],
"x_data": [[1.0], [2.0], [3.0], [4.0], [5.0],
[6.0], [7.0], [8.0], [9.0], [10.0]],
"output_format": "json"
}
}Your CSV first column is the dependent variable (y_data), the rest are covariates (x_data). For domain-specific keys like treatment, time_period, outcome, supply a .json file:
// policy.json
{"treatment": [0,0,1,1,0,0,1,1],
"time_period": [0,1,0,1,0,1,0,1],
"outcome": [4.1,4.8,3.9,5.6,4.0,4.7,3.8,5.5]}{
"name": "causal_difference_in_differences",
"arguments": {"file_path": "policy.json", "output_format": "markdown"}
}{
"name": "time_series_arima_model",
"arguments": {
"data": [/* monthly observations */],
"order": [1, 1, 1],
"forecast_steps": 6,
"output_format": "markdown"
}
}fit_warningsSeveral models return a fit_warnings array. A non-empty value means the statistic was a fallback placeholder — treat the associated numbers with care. For example, a Cox regression with singular Hessian:
{
"coefficients": [...],
"std_errors": [1.0, 1.0, 1.0],
"p_values": [1.0, 1.0, 1.0],
"fit_warnings": [
"Hessian inversion failed; std_errors are placeholder 1.0 — Z/p values below are not real"
]
}Seeing p=1.0 with no warning means "not significant"; the same with a warning means "could not compute".
Set AIGROUP_ECON_MCP_DEBUG=1 before launching the server to include Python tracebacks inside the structured error payload — useful when developing new MCP clients.
aigroup-econ-mcp/
├── aigroup_econ_mcp/ # MCP server + CLI
│ ├── cli.py # argparse entry point
│ ├── server.py # FastMCP wire-up
│ ├── registry.py # ToolSpec registry
│ ├── _registrations.py # all 66 tools registered here
│ └── errors.py
├── tools/ # adapter layer (I/O + formatting)
├── econometrics/ # algorithms
├── resources/
├── prompts/
├── docs/
│ ├── ARCHITECTURE.md
│ ├── PUBLISHING.md
│ └── TESTING.md
├── tests/
├── CHANGELOG.md
└── pyproject.tomlSee docs/ARCHITECTURE.md for layer boundaries and how to add a new tool.
uv sync
uv run pytest # full suite, ~12 s (271 tests)
uv run pytest -m "not slow" # fast iteration, ~1.5 s (264 tests)
uv run ruff check .
uv run ruff format .All 66 registered tools are covered by a four-tier test pyramid: registration-shape → smoke → mathematical-correctness (known-DGP) → real MCP stdio protocol. See docs/VERIFICATION.md for the testing paradigm, ground-truth DGPs, tolerance rationale, and the record of real bugs this approach has surfaced (9 to date). See docs/TESTING.md for quick-run commands and the test-file layout.
uvx caches per-version, so if a published release is not picked up:
uvx --refresh aigroup-econ-mcp
# or
uv cache cleanThis project is released under the MIT License.
You may use, copy, modify, merge, publish, distribute, sublicense, and sell copies of this software, including in academic, research, internal, and commercial environments, provided that the original copyright notice and license text are preserved.
Please keep in mind:
See the full text in LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.