io.github.crosstabs/crosstabs
REMOTE · MCP.CROSSTABS.COM · 2 COMPONENTS · SCANNED SEP 21
Free survey crosstabs with local analysis and temporary hosted MCP project workflows.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_workspace). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability74
- 98% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (fair).Partial
- Tool/resource definitions use about 8729 tokens (~91/item across 95 items; 52 tools + 43 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage80
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 31% of tool parameters carry a description.Partial
- Structured output schemas are declared (8% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 54 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
How do I install the io.github.crosstabs/crosstabs MCP server?
io.github.crosstabs/crosstabs is a hosted endpoint at https://mcp.crosstabs.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.crosstabs.com
claude mcp add --transport http crosstabs-crosstabs 'https://mcp.crosstabs.com/mcp'
{
"mcpServers": {
"crosstabs-crosstabs": {
"url": "https://mcp.crosstabs.com/mcp"
}
}
} {
"servers": {
"crosstabs-crosstabs": {
"type": "http",
"url": "https://mcp.crosstabs.com/mcp"
}
}
} [mcp_servers.crosstabs-crosstabs] url = "https://mcp.crosstabs.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"crosstabs-crosstabs": {
"type": "remote",
"url": "https://mcp.crosstabs.com/mcp",
"enabled": true
}
}
} openclaw mcp add crosstabs-crosstabs --url 'https://mcp.crosstabs.com/mcp' --transport streamable-http
mcp_servers:
crosstabs-crosstabs:
url: "https://mcp.crosstabs.com/mcp" {
"McpServers": {
"crosstabs-crosstabs": {
"Transport": "http",
"Url": "https://mcp.crosstabs.com/mcp"
}
}
} assistant mcp add crosstabs-crosstabs -t streamable-http -u 'https://mcp.crosstabs.com/mcp'
{
"mcpServers": {
"crosstabs-crosstabs": {
"type": "http",
"url": "https://mcp.crosstabs.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- New tool “analyze_survey” functional
- New tool “build_tab_book” functional
- New tool “compare_survey_waves” functional
- New tool “create_editable_report” functional
- New tool “get_started” functional
- New tool “run_demo_analysis” functional
- 14 Sept 26 +1
- Stability: unverified → 0.03 ▲ functional
- 13 Sept 26 62
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Probed https://mcp.crosstabs.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.crosstabs.com | CN=WE1,O=Google Trust Services,C=US | 13 Sept 2026 | 12 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | c6b0b8bdea05b16a0e1a630a577cfab6 |
| SANs: mcp.crosstabs.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.crosstabs.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| crosstabs.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| content-security-policy | default-src 'none'; script-src 'self'; style-src 'unsafe-inline'; font-src data:; connect-src 'self'; img-src 'self' blob:; base-uri 'none'; frame-ancestors 'none'; form-action 'self' |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.crosstabs.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.crosstabs.com/mcp | HTTPS enforced | 301 | https://mcp.crosstabs.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze_crosstab Analyze aggregate crosstab ~153
Compute deterministic statistics from a bounded aggregate contingency matrix.
| Name | Type | Req | Description |
|---|---|---|---|
| columnLabels | array | – | – |
| columnVariable | string | – | – |
| inputSemantics | string | yes | Required caller attestation. Survey-weighted aggregates are not accepted by this public aggregate tool. |
| observed | array | yes | Rectangular 2×2 to 12×12 matrix of finite, non-negative safe integer frequency counts with a grand total no greater than 1,000,000,000,000. |
| percentage | string | – | – |
| rowLabels | array | – | – |
| rowVariable | string | – | – |
| weighted | boolean | – | Must be false. This aggregate contract has no typed frequency or survey-design weight authority. |
| Name | Type | Req | Description |
|---|---|---|---|
| analysisId | string | yes | – |
| evidenceLinks | array | yes | – |
| limitations | array | yes | – |
| provenance | object | yes | – |
| schemaVersion | string | yes | – |
| statistics | object | yes | – |
| table | object | yes | – |
| warnings | array | yes | – |
No examples provided.
analyze_survey Analyze a survey question ~114
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.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this task, reused only when retrying identical inputs. |
| tableId | string | yes | – |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
apply_filter Apply filter ~122
Create and assign an auditable project filter. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| definition | object | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
apply_raking_weights Apply reviewed raking weights ~249
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.
| Name | Type | Req | Description |
|---|---|---|---|
| acknowledgedWarningCodes | array | yes | – |
| approval | object | yes | – |
| baseWeightId | – | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| maxIterations | integer | yes | – |
| previewFingerprint | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | yes | – |
| targetVariable | object | yes | – |
| targets | array | yes | – |
| tolerance | number | yes | – |
| trim | – | yes | – |
| waveId | string | yes | – |
| weightId | string | yes | – |
| weightName | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
apply_transformation Apply transformation ~158
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.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| recipeId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| runId | string | yes | – |
| waveId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
build_tab_book Build a survey tab book ~114
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.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this task, reused only when retrying identical inputs. |
| tableIds | array | – | – |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
compare_survey_waves Compare survey waves ~118
Compare compatible saved survey waves. This task shortcut uses the same deterministic compare_waves engine and preserves all comparability warnings.
| Name | Type | Req | Description |
|---|---|---|---|
| fromWaveId | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this task, reused only when retrying identical inputs. |
| tableId | string | yes | – |
| toWaveId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
compare_waves Compare waves ~114
Compare compatible tables across project waves. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| fromWaveId | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableId | string | yes | – |
| toWaveId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
create_analysis_plan Create analysis plan ~129
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.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedRevision | integer | yes | – |
| name | string | – | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | yes | – |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
create_editable_report Create an editable report ~146
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.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedRevision | integer | yes | – |
| format | string | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this task, reused only when retrying identical inputs. |
| tableIds | array | – | – |
| templateId | string | – | – |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
create_project Create project ~98
Create an empty, versioned research project. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | yes | – |
| name | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
create_workspace ~50
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.
| Name | Type | Req | Description |
|---|---|---|---|
| consentToUpload | boolean | yes | – |
No output schema declared.
No examples provided.
define_banner Define banner ~122
Create or replace a reusable multilevel banner. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| definition | object | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
define_row_set Define row set ~165
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.
| Name | Type | Req | Description |
|---|---|---|---|
| definition | object | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| multipleResponseDenominator | string | – | Optional display denominator for an assigned row set that names exactly one detected multi-select question. |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
define_survey_design Define survey design ~158
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.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | yes | – |
| definition | object | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
delete_workspace ~65
Permanently delete the temporary workspace and all active project, file and job data. This revokes its token.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmDelete | boolean | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
detect_schema_drift Detect schema drift ~124
Inspect wave compatibility and propose repairs without mutation. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | – |
| renames | object | – | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| uploadId | string | yes | ID of a file uploaded into this workspace. Local paths and arbitrary URLs are not accepted. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
export_project Export project ~107
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dataPolicy | string | – | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
fetch Fetch Crosstabs evidence ~25
Fetch one fixed Crosstabs evidence record by identifier.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| metadata | object | yes | – |
| text | string | yes | – |
| title | string | yes | – |
| url | string | yes | – |
No examples provided.
generate_report_pack Generate report pack ~142
Generate an editable evidence-linked PPTX or DOCX pack. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedRevision | integer | yes | – |
| format | string | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | – | – |
| templateId | string | – | – |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
get_audit_history Get audit history ~106
Return paginated append-only project audit events. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| afterSequence | integer | – | – |
| limit | integer | – | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
get_download_link ~75
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fileId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
get_headless_capabilities ~26
Describe the full accountless hosted MCP, privacy, retention and execution limits.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_job ~90
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.
| Name | Type | Req | Description |
|---|---|---|---|
| jobId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
get_rendered_table ~68
Render the canonical aggregate result of a succeeded render_project_table job. Respondent rows are never included in the widget.
| Name | Type | Req | Description |
|---|---|---|---|
| jobId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
get_runtime_status ~19
Inspect this hosted runtime and its fixed resource limits.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_started ~42
Get client-specific connection guidance, a health check, and the first prompt to try. No account, workspace, or upload is required.
| Name | Type | Req | Description |
|---|---|---|---|
| client | string | – | – |
No output schema declared.
No examples provided.
get_workspace ~53
List this temporary workspace's files, recent jobs and expiry. Includes a private upload link.
| Name | Type | Req | Description |
|---|---|---|---|
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
import_dataset Import dataset ~133
Validate and import respondent records into a project wave. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| uploadId | string | yes | ID of a file uploaded into this workspace. Local paths and arbitrary URLs are not accepted. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
import_project Import project ~124
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.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| uploadId | string | yes | ID of a file uploaded into this workspace. Local paths and arbitrary URLs are not accepted. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
inspect_project Inspect project ~93
Inspect a redacted workspace project graph, capabilities and current revision. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
list_projects List projects ~96
List redacted summaries from the workspace project store. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| limit | integer | – | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
preview_raking_weights Preview raking weights ~167
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.
| Name | Type | Req | Description |
|---|---|---|---|
| baseWeightId | – | yes | – |
| expectedRevision | integer | yes | – |
| maxIterations | integer | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| targets | array | yes | – |
| tolerance | number | yes | – |
| trim | – | yes | – |
| waveId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
profile_dataset Profile dataset ~91
Return bounded types, missingness and cardinality diagnostics. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
propose_transformation Propose transformation ~118
Create a draft, data-free transformation recipe for later review. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| definition | object | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
refresh_report_pack Refresh report pack ~168
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.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | yes | – |
| expectedRevision | integer | yes | – |
| generationId | string | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| uploadId | string | yes | ID of a file uploaded into this workspace. Local paths and arbitrary URLs are not accepted. |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
render_crosstab Render aggregate crosstab ~154
Render a deterministic evidence-linked aggregate crosstab widget.
| Name | Type | Req | Description |
|---|---|---|---|
| columnLabels | array | – | – |
| columnVariable | string | – | – |
| inputSemantics | string | yes | Required caller attestation. Survey-weighted aggregates are not accepted by this public aggregate tool. |
| observed | array | yes | Rectangular 2×2 to 12×12 matrix of finite, non-negative safe integer frequency counts with a grand total no greater than 1,000,000,000,000. |
| percentage | string | – | – |
| rowLabels | array | – | – |
| rowVariable | string | – | – |
| weighted | boolean | – | Must be false. This aggregate contract has no typed frequency or survey-design weight authority. |
| Name | Type | Req | Description |
|---|---|---|---|
| analysisId | string | yes | – |
| evidenceLinks | array | yes | – |
| limitations | array | yes | – |
| provenance | object | yes | – |
| schemaVersion | string | yes | – |
| statistics | object | yes | – |
| table | object | yes | – |
| warnings | array | yes | – |
No examples provided.
render_project_table Render project table ~127
Render one revision-bound saved table execution through the canonical workspace evidence widget. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| evidenceId | string | yes | – |
| expectedRevision | integer | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableId | string | yes | – |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
repair_schema Repair schema ~224
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.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | yes | – |
| approvedOperationIds | array | yes | – |
| categoryOrders | object | – | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| label | string | yes | – |
| labelAliases | object | – | – |
| planId | string | yes | – |
| projectId | string | yes | – |
| renames | object | – | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| typeConversions | object | – | – |
| uploadId | string | yes | ID of a file uploaded into this workspace. Local paths and arbitrary URLs are not accepted. |
| valueRecodes | object | – | – |
| waveId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
replace_dataset Replace dataset ~176
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.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| label | string | yes | – |
| projectId | string | yes | – |
| renames | object | – | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| uploadId | string | yes | ID of a file uploaded into this workspace. Local paths and arbitrary URLs are not accepted. |
| waveId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
review_transformation Review transformation ~153
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.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | yes | – |
| decision | string | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| note | string | yes | – |
| projectId | string | yes | – |
| recipeId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
run_analysis_plan Run analysis plan ~107
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.
| Name | Type | Req | Description |
|---|---|---|---|
| plan | object | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
run_complex_survey_method Run complex-survey method ~206
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.
| Name | Type | Req | Description |
|---|---|---|---|
| clusters | integer | – | – |
| eventValue | – | – | – |
| expectedRevision | integer | yes | – |
| filterId | – | – | – |
| idempotencyKey | string | yes | – |
| method | string | yes | – |
| missingPolicy | string | – | – |
| outcome | string | – | – |
| predictors | array | – | – |
| projectId | string | yes | – |
| referenceValue | – | – | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| seed | integer | – | – |
| surveyDesignId | string | yes | – |
| variables | array | – | – |
| waveId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
run_demo_analysis ~38
Run an instant, upload-free tour using a fixed synthetic survey table. Returns an AI-ready answer, numbers, interpretation, warnings and next action.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
run_tab_book Run tab book ~108
Compute the selected tab-book recipe with progress and cancellation. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | – | – |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
run_table Run table ~107
Compute one crosstab with diagnostics and evidence metadata. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableId | string | yes | – |
| waveId | string | – | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
search Search Crosstabs methodology ~27
Discover fixed Crosstabs methodology, limitations, and evidence pages.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
No examples provided.
set_weight Set weight ~140
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.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | yes | – |
| definition | object | yes | – |
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| tableIds | array | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
undo_change Undo change ~114
Reverse a recorded reversible project mutation. Queues a hosted job; use get_job to retrieve its result.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| targetEventId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
undo_transformation Undo transformation ~122
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.
| Name | Type | Req | Description |
|---|---|---|---|
| expectedRevision | integer | yes | – |
| idempotencyKey | string | yes | – |
| projectId | string | yes | – |
| requestId | string | yes | A new UUID for this job, reused only when retrying identical inputs. |
| runId | string | yes | – |
| workspaceToken | string | yes | Secret workspace capability returned by create_workspace. Treat as a password; never place in a query string. |
No output schema declared.
No examples provided.
What is the io.github.crosstabs/crosstabs MCP server?
io.github.crosstabs/crosstabs is an MCP server listed in the public MCP registry as io.github.crosstabs/crosstabs. Free survey crosstabs with local analysis and temporary hosted MCP project workflows. This page covers its hosted endpoint (https://mcp.crosstabs.com/mcp).
Is the io.github.crosstabs/crosstabs MCP server safe to use?
io.github.crosstabs/crosstabs scores 66 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.crosstabs/crosstabs MCP server expose?
io.github.crosstabs/crosstabs exposes 52 tools: search, fetch, analyze_crosstab, render_crosstab, get_started, and 47 more. Their descriptions and schemas cost roughly 6,019 tokens of context every time the server is loaded.
Does the io.github.crosstabs/crosstabs MCP server require authentication?
No. We connected to io.github.crosstabs/crosstabs without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.github.crosstabs/crosstabs MCP server still maintained?
io.github.crosstabs/crosstabs is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.