Claude Desktop Integration
Configure data.gv.at MCP Server with Claude Desktop
Connect data.gv.at MCP Server to Claude Desktop through the Model Context Protocol. After configuration, you can search Austrian government datasets directly in your Claude conversations.
Prerequisites
- Claude Desktop installed (Download)
- data.gv.at MCP Server installed (see Installation guide)
- Python 3.11+ available in your system PATH
Configuration steps
Locate your configuration file
Claude Desktop stores MCP server configurations at these locations:
macOS:
~/.config/claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/claude/claude_desktop_config.jsonAdd data.gv.at MCP Server to configuration
Open claude_desktop_config.json in a text editor and add this configuration:
{
"mcpServers": {
"datagvat-local": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/datagvat-mcp/mcp",
"python",
"-m",
"app.server"
]
}
}
}Important:
- Replace
/absolute/path/to/datagvat-mcp/mcpwith your actual installation path - Use absolute paths (no
~or relative paths like../) - Windows users: Use double backslashes (
C:\\Users\\...) or forward slashes (C:/Users/...) - The path must point to the
mcp/directory containing theapp/folder
Platform-specific examples
macOS example:
{
"mcpServers": {
"datagvat-local": {
"command": "uv",
"args": [
"run",
"--directory",
"/Users/yourname/projects/datagvat-mcp/mcp",
"python",
"-m",
"app.server"
]
}
}
}Windows example:
{
"mcpServers": {
"datagvat-local": {
"command": "uv",
"args": [
"run",
"--directory",
"C:\\Users\\YourName\\Projects\\datagvat-mcp\\mcp",
"python",
"-m",
"app.server"
]
}
}
}Linux example:
{
"mcpServers": {
"datagvat-local": {
"command": "uv",
"args": [
"run",
"--directory",
"/home/yourname/projects/datagvat-mcp/mcp",
"python",
"-m",
"app.server"
]
}
}
}Alternative: pip installation
If you installed with pip instead of uv:
{
"mcpServers": {
"datagvat-pip": {
"command": "python",
"args": ["-m", "app.server"],
"cwd": "/absolute/path/to/datagvat-mcp/mcp"
}
}
}Restart Claude Desktop
Completely quit and relaunch Claude Desktop:
- macOS: Press Cmd+Q, then reopen from Applications
- Windows: Right-click system tray icon → Exit, then reopen
- Linux: Quit the application, then reopen
Don't just minimize—Claude Desktop must fully restart to load the new configuration.
Verification
Check connection status
Open Claude Desktop. Look for the MCP server indicator (usually a plug icon) showing "datagvat-local" as connected.
Test with a simple query
Ask Claude:
List the first 5 data cataloguesClaude should call list_catalogues and return:
[
{"id": "stadt-wien", "title": "Stadt Wien Open Data"},
{"id": "data-gv-at", "title": "data.gv.at"},
...
]Test search functionality
Ask Claude:
Find datasets about population in ViennaClaude should use semantic_search_datasets or search_datasets and return relevant Austrian datasets.
Troubleshooting
Server doesn't appear as connected
Symptom: No "datagvat-local" in connected servers list
Check these:
-
JSON syntax errors - No trailing commas, proper quotes
// Wrong - trailing comma {"key": "value",} // Right {"key": "value"} -
Path correctness - Use absolute paths, verify directory exists
# Verify path exists (macOS/Linux) ls /Users/yourname/projects/datagvat-mcp/mcp # Verify path exists (Windows) dir C:\Users\YourName\Projects\datagvat-mcp\mcp -
File saved - Ensure editor saved changes to disk
-
Full restart - Quit Claude Desktop completely (not just close window)
ModuleNotFoundError: app
Symptom: Error message: No module named 'app'
Cause: Working directory points to wrong location
Fix: Verify the path points to the mcp/ folder:
datagvat-mcp/
└── mcp/ ← Configuration must point here
├── app/
├── tests/
└── pyproject.tomlUpdate your configuration:
{
"command": "uv",
"args": [
"run",
"--directory",
"/correct/path/to/mcp", // Must end with /mcp
"python",
"-m",
"app.server"
]
}Command not found: uv
Symptom: uv: command not found or similar error
Option 1: Install uv
pip install uvOption 2: Use Python directly
{
"mcpServers": {
"datagvat-local": {
"command": "python",
"args": ["-m", "app.server"],
"cwd": "/absolute/path/to/mcp"
}
}
}Option 3: Use full Python path
{
"mcpServers": {
"datagvat-local": {
"command": "/usr/local/bin/python3.11",
"args": ["-m", "app.server"],
"cwd": "/absolute/path/to/mcp"
}
}
}Find your Python path:
# macOS/Linux
which python3
# Windows
where pythonServer connects then disconnects
Symptom: Server appears connected briefly, then disconnects
Common causes:
- Python version too old (need 3.11+)
- Missing dependencies
- API access blocked by firewall
Diagnostic steps:
-
Test server directly:
cd datagvat-mcp/mcp python -m app.serverIf this fails, the issue is with your server installation, not Claude Desktop.
-
Check Python version:
python --versionMust show 3.11 or higher.
-
Verify dependencies:
cd mcp uv pip install -e . -
Test API connectivity:
curl https://www.data.gv.at/api/hub/search/cataloguesShould return JSON data. If this fails, check your firewall or network.
-
Check Claude Desktop logs:
- macOS:
~/Library/Logs/Claude/ - Windows:
%APPDATA%\Claude\logs\ - Linux:
~/.config/Claude/logs/
Look for error messages with "datagvat" or "mcp" in recent log files.
- macOS:
Tools don't execute
Symptom: Server connected, but tool calls fail or return errors
Verify installation:
cd mcp
uv pip install -e .Test in dev mode:
fastmcp dev app.server:mcpOpen http://localhost:8000 in a browser. The dev interface shows available tools. Try calling list_catalogues with {"limit": 5}.
If tools work in dev mode but not in Claude Desktop, check Claude Desktop logs for specific errors.
Advanced configuration
Configure multiple MCP servers
Add multiple servers to work with different data sources:
{
"mcpServers": {
"datagvat-local": {
"command": "uv",
"args": ["run", "--directory", "/path/to/datagvat-mcp/mcp", "python", "-m", "app.server"]
},
"other-server": {
"command": "node",
"args": ["/path/to/other-server/index.js"]
}
}
}Claude can access all configured servers in the same conversation.
Set environment variables
Configure server behavior through environment variables:
{
"mcpServers": {
"datagvat-local": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp", "python", "-m", "app.server"],
"env": {
"AUSTRIA_MCP_LOG_LEVEL": "DEBUG",
"AUSTRIA_MCP_REQUEST_TIMEOUT": "60"
}
}
}
}Available environment variables:
AUSTRIA_MCP_LOG_LEVEL- Logging level (DEBUG, INFO, WARNING, ERROR)AUSTRIA_MCP_REQUEST_TIMEOUT- API request timeout in seconds (default: 30)AUSTRIA_MCP_LOG_FORMAT- Log format (json or text, default: text)
Next steps
- Your first query - Learn basic search patterns
- Configuration guide - Advanced configuration options
- Other clients - Use with Continue, Cline, or custom clients
How is this guide?
Last updated on