OxWorks/gooddata-mcp-server
If you are the rightful owner of gooddata-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The GoodData SDK CLI is a command-line tool and MCP server designed for interacting with GoodData using the official Python SDK, focusing on read-only operations.
GoodData MCP Server
Give Claude Code direct access to your GoodData analytics platform.
A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with GoodData, allowing natural language queries of your business intelligence data. Also includes a standalone CLI for direct terminal access.
Why Use This?
- AI-Powered Analytics: Ask Claude questions about your GoodData dashboards, metrics, and insights in natural language
- Read-Only by Design: All operations are strictly read-only, so there's no risk of modifying your data
- Zero Configuration: Works with Claude Code out of the box (just add your credentials)
- Export Capabilities: Export dashboards to PDF and visualizations to CSV/Excel
- CLI Included: Use the
gooddatacommand directly from your terminal
Features
| Feature | Description |
|---|---|
| List Resources | Workspaces, dashboards, insights, metrics, datasets, users, groups |
| Query Data | Retrieve data from any insight/visualization |
| Export Reports | Export dashboards to PDF, visualizations to CSV/XLSX |
| Explore Data Models | Get the logical data model (LDM) for documentation |
| User Management | List users, groups, and group memberships |
Quick Start
1. Install
# Clone the repository
git clone https://github.com/aalexmrt/gooddata-mcp-server.git
cd gooddata-mcp-server
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install with MCP support
pip install -e ".[mcp]"
2. Configure
cp .env.example .env
Edit .env with your GoodData credentials:
GOODDATA_HOST=https://your-org.cloud.gooddata.com
GOODDATA_TOKEN=your-api-token
GOODDATA_WORKSPACE=your-default-workspace-id
Getting an API Token: Go to your GoodData profile settings and create a Personal Access Token.
3. Add to Claude Code
claude mcp add gooddata \
-s user \
-e GOODDATA_HOST="https://your-org.cloud.gooddata.com" \
-e GOODDATA_TOKEN="your-api-token" \
-e GOODDATA_WORKSPACE="your-workspace-id" \
-- /path/to/gooddata-mcp-server/.venv/bin/python -m gooddata_cli.mcp_server
4. Start Using
In Claude Code, you can now ask questions like:
- "List all dashboards in my GoodData workspace"
- "What metrics are available?"
- "Show me the data from the Revenue Overview insight"
- "Export the Sales Dashboard to PDF"
MCP Tools Reference
| Tool | Description |
|---|---|
list_workspaces | List all available workspaces |
list_insights | List all insights (visualizations) in a workspace |
list_dashboards | List all dashboards in a workspace |
list_metrics | List all metrics in a workspace |
list_datasets | List all datasets in a workspace |
get_dashboard_insights | Get all insights contained in a dashboard |
get_dashboard_filters | Get all filters configured on a dashboard |
get_insight_metadata | Get detailed metadata for an insight |
get_insight_data | Get data from an insight |
get_logical_data_model | Get the workspace's logical data model |
list_users | List all users in the organization |
list_user_groups | List all user groups |
get_user_group_members | Get members of a specific group |
export_dashboard_pdf | Export a dashboard to PDF |
export_visualization_csv | Export a visualization to CSV |
export_visualization_xlsx | Export a visualization to Excel |
MCP Server Management
# Check server status
claude mcp list
# Remove the server
claude mcp remove gooddata
CLI Usage
The package also includes a standalone CLI for direct terminal access.
List Resources
# List all workspaces
gooddata list workspaces
# List insights in a workspace
gooddata list insights -w <workspace_id>
# List dashboards
gooddata list dashboards -w <workspace_id>
# List metrics
gooddata list metrics -w <workspace_id>
# List datasets
gooddata list datasets -w <workspace_id>
# JSON output
gooddata list workspaces --json
Query Data
# Get data from a specific insight
gooddata insight <insight_id> -w <workspace_id>
Export
# Export dashboard to PDF
gooddata export pdf <dashboard_id> -w <workspace_id>
# Export visualization to CSV
gooddata export csv <visualization_id> -w <workspace_id>
# Export visualization to Excel
gooddata export xlsx <visualization_id> -w <workspace_id>
# Custom output path
gooddata export pdf <dashboard_id> -o ./my-report.pdf
Python API
You can also use the package programmatically:
from gooddata_cli.query import list_workspaces, list_insights
from gooddata_cli.export import export_dashboard_pdf, export_visualization_tabular
# List workspaces
workspaces = list_workspaces()
# List insights
insights = list_insights(workspace_id="my_workspace")
# Export dashboard
path = export_dashboard_pdf("dashboard_id", workspace_id="my_workspace")
Project Structure
gooddata-mcp-server/
├── .env.example # Environment template
├── pyproject.toml # Package configuration
├── README.md # This file
├── LICENSE # MIT License
├── CONTRIBUTING.md # Contribution guidelines
└── src/gooddata_cli/
├── __init__.py # Package exports
├── sdk.py # SDK initialization
├── query.py # Query operations
├── export.py # Export operations
├── cli.py # CLI entry point
└── mcp_server.py # MCP server for Claude Code
Security Note
All operations are read-only. This MCP server cannot create, update, or delete any data in GoodData. Operations are limited to:
- Listing resources (workspaces, insights, dashboards, metrics, datasets, users, groups)
- Querying existing data
- Exporting reports to local files
Dependencies
- gooddata-sdk - Official GoodData Python SDK
- gooddata-pandas - Pandas integration for GoodData
- mcp - Model Context Protocol SDK
- click - CLI framework
- rich - Terminal formatting
- python-dotenv - Environment variable loading
Contributing
Contributions are welcome! Please see for guidelines.
License
MIT License - see for details.
Related Projects
- GoodData Python SDK - Official GoodData SDK
- Model Context Protocol - MCP specification
- Claude Code - AI coding assistant