data.gv.at MCP Server Logodata.gv.at MCP

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.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

Linux:

~/.config/claude/claude_desktop_config.json

Add 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/mcp with 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 the app/ 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 catalogues

Claude 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 Vienna

Claude 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:

  1. JSON syntax errors - No trailing commas, proper quotes

    // Wrong - trailing comma
    {"key": "value",}
    
    // Right
    {"key": "value"}
  2. 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
  3. File saved - Ensure editor saved changes to disk

  4. 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.toml

Update 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 uv

Option 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 python

Server 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:

  1. Test server directly:

    cd datagvat-mcp/mcp
    python -m app.server

    If this fails, the issue is with your server installation, not Claude Desktop.

  2. Check Python version:

    python --version

    Must show 3.11 or higher.

  3. Verify dependencies:

    cd mcp
    uv pip install -e .
  4. Test API connectivity:

    curl https://www.data.gv.at/api/hub/search/catalogues

    Should return JSON data. If this fails, check your firewall or network.

  5. 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.

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:mcp

Open 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

How is this guide?

Last updated on

On this page