Crosstabs is a remote MCP server that gives an AI agent 46 tools, among them analyze_crosstab, apply_filter, apply_raking_weights. It answers at https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 5 of 7 times since 11 September 2026; the last check, on 9 November 2026, succeeded.
Free survey crosstabs with local analysis and temporary hosted MCP project workflows.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
analyze_crosstab | Compute deterministic statistics from a bounded aggregate contingency matrix. Inputs: observed, inputSemantics, rowLabels, columnLabels, rowVariable, columnVariable |
apply_filter | Create and assign an auditable project filter. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, expectedRevision, idempotencyKey, tableIds, definition, workspaceToken |
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. Qu Inputs: projectId, expectedRevision, waveId, targets, baseWeightId, trim |
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 fi Inputs: projectId, expectedRevision, idempotencyKey, recipeId, waveId, runId |
compare_waves | Compare compatible tables across project waves. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, tableId, fromWaveId, toWaveId, workspaceToken, requestId |
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. Inputs: projectId, expectedRevision, tableIds, waveId, name, workspaceToken |
create_project | Create an empty, versioned research project. Queues a hosted job; use get_job to retrieve its result. Inputs: name, idempotencyKey, workspaceToken, requestId |
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. Inputs: consentToUpload |
define_banner | Create or replace a reusable multilevel banner. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, expectedRevision, idempotencyKey, tableIds, definition, workspaceToken |
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. Inputs: projectId, expectedRevision, idempotencyKey, tableIds, multipleResponseDenominator, definition |
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 ca Inputs: projectId, expectedRevision, idempotencyKey, tableIds, definition, approval |
delete_workspace | Permanently delete the temporary workspace and all active project, file and job data. This revokes its token. Inputs: workspaceToken, confirmDelete |
detect_schema_drift | Inspect wave compatibility and propose repairs without mutation. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, renames, uploadId, workspaceToken, requestId |
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. Inputs: projectId, dataPolicy, workspaceToken, requestId |
fetch | Fetch one fixed Crosstabs evidence record by identifier. Inputs: id |
generate_report_pack | Generate an editable evidence-linked PPTX or DOCX pack. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, expectedRevision, idempotencyKey, format, waveId, tableIds |
get_audit_history | Return paginated append-only project audit events. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, afterSequence, limit, workspaceToken, requestId |
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. Inputs: workspaceToken, fileId |
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_tab Inputs: workspaceToken, jobId |
get_rendered_table | Render the canonical aggregate result of a succeeded render_project_table job. Respondent rows are never included in the widget. Inputs: workspaceToken, jobId |
get_runtime_status | Inspect this hosted runtime and its fixed resource limits. |
get_workspace | List this temporary workspace's files, recent jobs and expiry. Includes a private upload link. Inputs: workspaceToken |
import_dataset | Validate and import respondent records into a project wave. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, expectedRevision, idempotencyKey, uploadId, workspaceToken, requestId |
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. Inputs: idempotencyKey, uploadId, workspaceToken, requestId |
inspect_project | Inspect a redacted workspace project graph, capabilities and current revision. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, workspaceToken, requestId |
list_projects | List redacted summaries from the workspace project store. Queues a hosted job; use get_job to retrieve its result. Inputs: limit, cursor, workspaceToken, requestId |
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. Que Inputs: projectId, expectedRevision, waveId, targets, baseWeightId, trim |
profile_dataset | Return bounded types, missingness and cardinality diagnostics. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, workspaceToken, requestId |
propose_transformation | Create a draft, data-free transformation recipe for later review. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, expectedRevision, idempotencyKey, definition, workspaceToken, requestId |
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. Inputs: projectId, expectedRevision, idempotencyKey, generationId, waveId, approval |
render_crosstab | Render a deterministic evidence-linked aggregate crosstab widget. Inputs: observed, inputSemantics, rowLabels, columnLabels, rowVariable, columnVariable |
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. Inputs: projectId, tableId, waveId, expectedRevision, evidenceId, workspaceToken |
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. Inputs: projectId, expectedRevision, idempotencyKey, planId, waveId, label |
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. Inputs: projectId, expectedRevision, idempotencyKey, waveId, label, renames |
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. Inputs: projectId, expectedRevision, idempotencyKey, recipeId, decision, note |
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. Inputs: projectId, expectedRevision, idempotencyKey, method, waveId, surveyDesignId |
run_tab_book | Compute the selected tab-book recipe with progress and cancellation. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, tableIds, waveId, workspaceToken, requestId |
run_table | Compute one crosstab with diagnostics and evidence metadata. Queues a hosted job; use get_job to retrieve its result. Inputs: projectId, tableId, waveId, workspaceToken, requestId |
search, set_weight, undo_change, undo_transformation, update_variable_metadata, validate_analysis_plan
Every block below points at https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs. Pick your client and copy.
claude mcp add --transport http crosstabs https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs
{
"mcpServers": {
"crosstabs": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"]
}
}
}{
"mcpServers": {
"crosstabs": {
"url": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"
}
}
}{
"servers": {
"crosstabs": {
"type": "http",
"url": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"
}
}
}{
"context_servers": {
"crosstabs": {
"url": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"
}
}
}{
"mcpServers": {
"crosstabs": {
"serverUrl": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"
}
}
}{
"mcpServers": {
"crosstabs": {
"url": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"
}
}
}name: Crosstabs
version: 0.0.1
schema: v1
mcpServers:
- name: Crosstabs
type: streamable-http
url: https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs{
"mcpServers": {
"crosstabs": {
"httpUrl": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"
}
}
}{
"mcpServers": {
"crosstabs": {
"type": "http",
"url": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"
}
}
}{
"mcpServers": {
"crosstabs": {
"url": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs"
}
}
}goose://extension?url=https%3A%2F%2Fregistry.modelcontextprotocol.io%2Fv0%2Fservers%3Fsearch%3Dio.github.crosstabs%2Fcrosstabs&type=streamable_http&id=crosstabs&name=Crosstabs
It answered our last check on 9 November 2026 in 360 ms. Over 7 checks since 11 September 2026 it answered 5. Status here comes from Neuronto's own probes, not from the publisher.
46, as returned by the server's own tools/list on 13 September 2026: analyze_crosstab, apply_filter, apply_raking_weights, apply_transformation, compare_waves, create_analysis_plan, create_project, create_workspace, and 38 more.
It answered our last check on 9 November 2026 in 360 ms. Over 7 checks since 11 September 2026 it answered 5.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://registry.modelcontextprotocol.io/v0/servers?search=io.github.crosstabs/crosstabs. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.crosstabs. Endpoint host: registry.modelcontextprotocol.io. ARD identifier: urn:air:io.github.crosstabs:mcp:crosstabs.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.