Dbt MCP vs Apiverket MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Dbt MCP vs Apiverket MCP
In-depth architectural comparison of the Dbt MCP and Apiverket MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Dbt MCP
Data Platforms · Local stdio
Quality: 78/100 (Great) | Auth: API Key required
Apiverket MCP
Data Platforms · Local stdio
Quality: 59/100 (Good) | Auth: API Key required
Verdict Summary: Choose Dbt MCP if you need specialized Data Platforms tools running via a local process. Choose Apiverket MCP if your workspace requires Data Platforms integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Dbt MCP when:
You need dedicated capabilities in the Data Platforms domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (BYOK (Pay Provider Direct)).
Official MCP server for dbt (data build tool) providing integration with dbt Core/Cloud CLI, project metadata discovery, model information, and semantic layer querying capabilities.
Query Swedish public data through Apiverket, including company data, SCB statistics, weather, transport, and more. Install: npx -y apiverket-mcp-server.
Category & Scope
Tools & Capabilities Breakdown
Dbt MCP Tools (62)
execute_sql
Executes SQL on dbt Platform infrastructure with Semantic Layer support.
text_to_sql
Generates SQL from natural language using project context.
get_dimension_values
Gets distinct values for a dimension; option to scope to specific metrics.
get_dimensions
Gets dimensions for specified metrics.
get_entities
Gets entities for specified metrics.
get_metrics_compiled_sql
Returns compiled SQL for metrics without executing the query.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Dbt MCP is categorized under Data Platforms and uses a local stdio subprocess. In contrast, Apiverket MCP belongs to Data Platforms using local stdio subprocess. Select Dbt MCP when you need capabilities focused on data platforms and Apiverket MCP when you require tools for data platforms.
Executes metric queries with filtering and grouping options.
get_all_macros
Retrieves macros; option to filter by package or return package names only.
get_all_models
Retrieves name and description of all models.
get_all_sources
Gets all sources with freshness status; option to filter by source name.
+50 more tools listed on main page
Apiverket MCP Tools (2)
govdata_discover
Search and browse available Swedish government data endpoints in the Apiverket API.
Use this tool to find the right endpoint before calling govdata_query. The API covers 139 endpoints across 16 categories including weather, transport, economy, health, environment, parliament, police, education, and more.
Args:
- query (string, optional): Keyword to search across endpoint names, descriptions, and paths
- category (string, optional): Filter by category name
When called with no arguments, returns all available categories with endpoint counts.
Examples:
- Find weather endpoints: query="weather"
- Browse transport category: category="Transport"
- Find pension info: query="pension"
- List all categories: (no arguments)
Returns:
Matching endpoints with their paths, parameters, and descriptions.
govdata_query
Call any Apiverket API endpoint to retrieve Swedish government data.
Use govdata_discover first to find the right endpoint path and required parameters. Then call this tool with the endpoint path and any path/query parameters.
Args:
- endpoint (string, required): The API path (e.g. "/v1/weather/{city}")
- path_params (object, optional): Values for path parameters like {city}, {code}, {id}
- query_params (object, optional): Query string parameters (q, limit, offset, lat, lon, etc.)
Examples:
- Current weather in Stockholm:
endpoint="/v1/weather/{city}", path_params={"city": "stockholm"}
- Search jobs:
endpoint="/v1/jobs/search", query_params={"q": "developer", "limit": 5}
- Train departures from Stockholm Central:
endpoint="/v1/transport/trains/{station}", path_params={"station": "Cst"}
- Exchange rates:
endpoint="/v1/rates"
- Population by municipality:
endpoint="/v1/population/{municipalityCode}", path_params={"municipalityCode": "0180"}
- Police events in Stockholm:
endpoint="/v1/police/events", query_params={"location": "Stockholm", "limit": 10}
- Find EV chargers near a location:
endpoint="/v1/infrastructure/ev-chargers", query_params={"lat": 59.33, "lon": 18.07}
Returns:
The API response as JSON, containing a "meta" envelope with request info and a "data" object with the actual data.
Error handling:
- Returns clear error messages if the API is unreachable, the endpoint doesn't exist, or parameters are invalid
- Large responses are automatically truncated with pagination guidance