# io.github.crosstabs/crosstabs

> Free survey crosstabs with local analysis and temporary hosted MCP project workflows.

- name: io.github.crosstabs/crosstabs
- version: 1.4.1
- connection class: unknown (unknown)
- trust: 47/100 flags: no-repository
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.crosstabs%2Fcrosstabs
- tools: https://api.protogrid.dev/v1/servers/io.github.crosstabs%2Fcrosstabs/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "crosstabs": {
      "type": "http",
      "url": "https://mcp.crosstabs.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 0
- freshness: 85
- provenance: 45
- drivers: +website -unreachable(5 failures) ~updated-37d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 52 of 52 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- fail `tools.token_cost`: about 35,133 tokens to load every tool, a large share of an agent's context
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 80 resolved packages
- pass `deps.mcp_sdk_version`: mcp 1.30.0, no known advisory
- pass `deps.resolvable`: crosstabs@1.4.0 resolved: 80 packages

- tools: 52, about 35,133 tokens to load them all
- tool set hash: 0d5803bc7ebe79ac729926a4609e3fef
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.crosstabs/crosstabs.svg)](https://protogrid.dev/servers/io.github.crosstabs/crosstabs)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- pypi crosstabs@1.4.0: resolved, 79 dependencies, MCP SDK mcp 1.30.0

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.crosstabs.com/mcp (streamable-http, auth none, reachable false, uptime30d 0.9444444)

## Packages

- pypi crosstabs@1.4.0

## Tools (52)

- `analyze_crosstab`: Compute deterministic statistics from a bounded aggregate contingency matrix.
- `analyze_survey`: Run a governed crosstab for an existing hosted project. This task shortcut uses the same deterministic run_table engine and returns a job to poll with get_job.
- `apply_filter`: Create and assign an auditable project filter. Queues a hosted job; use get_job to retrieve its result. 
- `apply_raking_weights`: Recompute a reviewed weighting fingerprint and atomically save a new sampling-weight column and definition with human approval, warning acknowledgement, revision checks and replay. Does not authorize ordinary or complex-survey inference. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `apply_transformation`: Apply an approved transformation to one workspace wave with recorded human approval and reversible provenance. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `build_tab_book`: Build a reusable tab book for an existing hosted project. This task shortcut uses the same deterministic run_tab_book engine and returns a job to poll with get_job.
- `compare_survey_waves`: Compare compatible saved survey waves. This task shortcut uses the same deterministic compare_waves engine and preserves all comparability warnings.
- `compare_waves`: Compare compatible tables across project waves. Queues a hosted job; use get_job to retrieve its result. 
- `create_analysis_plan`: Create a portable revision-bound document for explicitly selected saved tables without mutating the project. Queues a hosted job; use get_job to retrieve its result. 
- `create_editable_report`: Generate an editable PPTX or DOCX report pack from an existing hosted project. Use get_download_link on the returned artifact ID after the job succeeds.
- `create_project`: Create an empty, versioned research project. Queues a hosted job; use get_job to retrieve its result. 
- `create_workspace`: Create a private temporary workspace without signing in. Explain that uploads leave the device, then obtain consent. The secret token is the sole access credential and cannot be recovered.
- `define_banner`: Create or replace a reusable multilevel banner. Queues a hosted job; use get_job to retrieve its result. 
- `define_row_set`: Create or replace a reusable ordered row-variable set, with an optional cases-or-responses denominator for one detected multi-select question. Queues a hosted job; use get_job to retrieve its result. 
- `define_survey_design`: Create an approved immutable Taylor or replicate-weight survey design, or assign an identical existing design, atomically across selected tables. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `delete_workspace`: Permanently delete the temporary workspace and all active project, file and job data. This revokes its token.
- `detect_schema_drift`: Inspect wave compatibility and propose repairs without mutation. Queues a hosted job; use get_job to retrieve its result. 
- `export_project`: Export a definition-only package by default or an explicit full-data package to the temporary hosted workspace. Queues a hosted job; use get_job to retrieve its result. 
- `fetch`: Fetch one fixed Crosstabs evidence record by identifier.
- `generate_report_pack`: Generate an editable evidence-linked PPTX or DOCX pack. Queues a hosted job; use get_job to retrieve its result. 
- `get_audit_history`: Return paginated append-only project audit events. Queues a hosted job; use get_job to retrieve its result. 
- `get_download_link`: Create a private browser download link for an uploaded file or generated artifact in this workspace. The link contains a secret in its fragment; never share it publicly.
- `get_headless_capabilities`: Describe the full accountless hosted MCP, privacy, retention and execution limits.
- `get_job`: Read a queued analysis job. Wait at least two seconds between polls. Only succeeded jobs contain completed results; failed jobs contain an error. Use get_download_link for artifact IDs, or get_rendered_table for completed render_project_table jobs.
- `get_rendered_table`: Render the canonical aggregate result of a succeeded render_project_table job. Respondent rows are never included in the widget.
- `get_runtime_status`: Inspect this hosted runtime and its fixed resource limits.
- `get_started`: Get client-specific connection guidance, a health check, and the first prompt to try. No account, workspace, or upload is required.
- `get_workspace`: List this temporary workspace's files, recent jobs and expiry. Includes a private upload link.
- `import_dataset`: Validate and import respondent records into a project wave. Queues a hosted job; use get_job to retrieve its result. 
- `import_project`: Verify and import a full-data Crosstabs project package as a new workspace copy. Queues a hosted job; use get_job to retrieve its result. 
- `inspect_project`: Inspect a redacted workspace project graph, capabilities and current revision. Queues a hosted job; use get_job to retrieve its result. 
- `list_projects`: List redacted summaries from the workspace project store. Queues a hosted job; use get_job to retrieve its result. 
- `preview_raking_weights`: Preview explicit population margins against the saved active wave. Returns aggregate balance, trimming and effective-base diagnostics with a revision-bound review fingerprint; respondent weights remain in the temporary hosted workspace. Queues a hosted job; use get_job to retrieve its result. 
- `profile_dataset`: Return bounded types, missingness and cardinality diagnostics. Queues a hosted job; use get_job to retrieve its result. 
- `propose_transformation`: Create a draft, data-free transformation recipe for later review. Queues a hosted job; use get_job to retrieve its result. 
- `refresh_report_pack`: Refresh generated regions while preserving declared manual regions. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `render_crosstab`: Render a deterministic evidence-linked aggregate crosstab widget.
- `render_project_table`: Render one revision-bound saved table execution through the canonical workspace evidence widget. Queues a hosted job; use get_job to retrieve its result. 
- `repair_schema`: Apply an approved, reversible schema repair plan. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `replace_dataset`: Import a replacement wave without overwriting prior source data. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `review_transformation`: Approve or reject a draft transformation recipe with recorded human approval. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `run_analysis_plan`: Validate and execute a portable plan against one loaded project revision, returning aggregate evidence and review findings. Queues a hosted job; use get_job to retrieve its result. 
- `run_complex_survey_method`: Run a declared-design OLS, logistic, or K-means method and record bounded canonical evidence. Queues a hosted job; use get_job to retrieve its result. 
- `run_demo_analysis`: Run an instant, upload-free tour using a fixed synthetic survey table. Returns an AI-ready answer, numbers, interpretation, warnings and next action.
- `run_tab_book`: Compute the selected tab-book recipe with progress and cancellation. Queues a hosted job; use get_job to retrieve its result. 
- `run_table`: Compute one crosstab with diagnostics and evidence metadata. Queues a hosted job; use get_job to retrieve its result. 
- `search`: Discover fixed Crosstabs methodology, limitations, and evidence pages.
- `set_weight`: Create and assign a validated weighting definition. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `undo_change`: Reverse a recorded reversible project mutation. Queues a hosted job; use get_job to retrieve its result. 
- `undo_transformation`: Mark one applied transformation run undone and restore its derived variable in this workspace. Queues a hosted job; use get_job to retrieve its result. 
- `update_variable_metadata`: Apply an approved label, coding, missing-value, measurement, role, and display-format update without rewriting respondent rows. Queues a hosted job; use get_job to retrieve its result. Obtain actual user approval before calling; do not fabricate approval fields.
- `validate_analysis_plan`: Preflight a portable analysis plan against the current workspace project and return actionable validation issues. Queues a hosted job; use get_job to retrieve its result. 
