A side-by-side look at the Power BI Modeling MCP Server and Rows.page MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Power BI Modeling MCP Server for data visualization work as a local process; choose Rows.page for data visualization. You can also run both side by side in one mcpServers block.
push, pin_finding, get_dataset.Rows where the two servers differ are marked.
| Spec | R Rows.page | |
|---|---|---|
| Category | Data Visualization | Data Visualization |
| Quality signal | 48/100 · Fair | 53/100 · Good |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Freemium |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1,215 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | Not listed | 6 |
| Full listing | View Power BI Modeling MCP Server | View Rows.page |
No tool names declared yet. Check the project README from the listing page.
pushPublish rows as a rows.page dataset (or a new version of one) and get a shareable URL. Pass exactly one of csv, tsv, jsonl, json, rows or url. Up to 16 MB inline; use url for bigger files. Identical content returns unchanged: true without a new version. Re-pushes report rows_delta, columns_added/removed and a diff_url. Anonymous datasets expire after 7 days unless kept. Finding views use the rows.page query language in q: `word` or `"two words"` searches text columns; `field:value`, `field:"a b"`, `-field:value`, `field:*` (not null), `-field:*` (null), `field:foo*` (prefix); `field:>20`, `>=`, `<`, `<=`, `field:10..20`, ISO dates (`at:>2026-09-01`); dot paths for nested JSON (`payload.customer.country:NL`); `tags:urgent` means the list contains it; combine with `OR` and parentheses. A q starting with SELECT, WITH or FROM runs as SQL against the table `data`. sort is comma-separated columns, `-` for descending (`-price,name`); cols picks and orders visible columns (`a,b,c`).pin_findingPin a finding (a saved, titled view) to a dataset you own. Finding views use the rows.page query language in q: `word` or `"two words"` searches text columns; `field:value`, `field:"a b"`, `-field:value`, `field:*` (not null), `-field:*` (null), `field:foo*` (prefix); `field:>20`, `>=`, `<`, `<=`, `field:10..20`, ISO dates (`at:>2026-09-01`); dot paths for nested JSON (`payload.customer.country:NL`); `tags:urgent` means the list contains it; combine with `OR` and parentheses. A q starting with SELECT, WITH or FROM runs as SQL against the table `data`. sort is comma-separated columns, `-` for descending (`-price,name`); cols picks and orders visible columns (`a,b,c`).get_datasetRead a dataset: meta, recent versions, findings, columns and the first 20 preview rows.list_datasetsList the datasets kept on your account, newest first. Needs an API key.delete_datasetDelete a dataset you own. Its URL stops working immediately.get_limitsShow your plan, its caps (file size, datasets, version history) and usage.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"power-bi-modeling-mcp-server": {
"command": "npx",
"args": [
"-y",
"@microsoft/powerbi-modeling-mcp@latest"
]
}
}
}
No confirmed install command for Rows.page yet — follow the setup steps linked from its listing page rather than a guessed package name.