GDP MCP Tools
Facilitates listing, reading, commenting on, and updating pull requests on GitHub.
Provides tools to create branded Google Docs and convert markdown to branded HTML for Google Docs.
Enables deployment of branches to dev, deployment of versions to prod, integration of pull requests, and EMR cluster management via Jenkins.
Supports searching, getting, creating, transitioning issues, and adding comments to Jira issues.
Allows running, creating, updating, and cloning queries, as well as creating visualizations on Redash.
Enables posting messages, reading messages and threads, and searching Slack.
Allows executing SQL queries on dev, preprod, and production Trino clusters.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GDP MCP Toolscheck vpn status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GDP MCP Tools
MCP (Model Context Protocol) server for Grubhub Data Platform operations. 40+ tools across 18 service categories. Works with Claude Code, VS Code, Cursor, JetBrains, or any MCP-compatible client.
Quick Start (5 minutes)
1. Clone and set up virtual environment
# Ask your team lead for the repo URL, or use:
git clone https://github.com/asuar16/gdp-mcp-tools.git
cd gdp-mcp-tools
# macOS / Linux
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Windows (PowerShell)
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt2. Configure credentials
cp .env.example src/.envEdit src/.env with your credentials. See Credentials below.
3. Configure your MCP client
Add to .mcp.json in any repo where you want these tools:
macOS / Linux:
{
"mcpServers": {
"gdp-tools": {
"type": "stdio",
"command": "/absolute/path/to/gdp-mcp-tools/venv/bin/python",
"args": ["/absolute/path/to/gdp-mcp-tools/src/server.py"]
}
}
}Windows:
{
"mcpServers": {
"gdp-tools": {
"type": "stdio",
"command": "C:\\path\\to\\gdp-mcp-tools\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\gdp-mcp-tools\\src\\server.py"]
}
}
}4. Connect VPN and start using
All tools require VPN. Connect first, then use any MCP client.
Related MCP server: infra-ops-mcp
Using from Any Repo
Already have gdp-mcp-tools set up? Here's how to add it to a new repo in 1 minute:
Step 1: Get your paths
cd ~/path/to/gdp-mcp-tools
echo "Python: $(pwd)/venv/bin/python"
echo "Server: $(pwd)/src/server.py"Step 2: Create .mcp.json in your new repo
cd ~/path/to/your-new-repo
cat > .mcp.json << 'EOF'
{
"mcpServers": {
"gdp-tools": {
"type": "stdio",
"command": "/absolute/path/to/gdp-mcp-tools/venv/bin/python",
"args": ["/absolute/path/to/gdp-mcp-tools/src/server.py"]
}
}
}
EOFReplace the paths with your actual paths from Step 1.
Step 3: Start your AI coding session
Claude Code:
cd ~/path/to/your-new-repo
claude
# GDP tools will auto-connect. Try: "check vpn status"VS Code / Cursor:
Open the repo folder -> MCP tools appear in Copilot/AI sidebarGemini CLI:
cd ~/path/to/your-new-repo
gemini
# Tools auto-load from .gemini/settings.jsonAntigravity:
Open project -> Tools auto-load from mcp_config.jsonThat's it. The .mcp.json tells any MCP client where to find the server. No installation needed in the new repo -- everything runs from gdp-mcp-tools/.
Example: Adding to events-mart, ods_data, or any repo
{
"mcpServers": {
"gdp-tools": {
"type": "stdio",
"command": "/Users/yourname/gdp-mcp-tools/venv/bin/python",
"args": ["/Users/yourname/gdp-mcp-tools/src/server.py"]
}
}
}Works from any repo -- events-mart, ods_data, or even non-GDP projects.
Client Setup
Claude Code (CLI / Desktop / Web)
Add .mcp.json to your project root:
{
"mcpServers": {
"gdp-tools": {
"type": "stdio",
"command": "/absolute/path/to/gdp-mcp-tools/venv/bin/python",
"args": ["/absolute/path/to/gdp-mcp-tools/src/server.py"]
}
}
}VS Code / Cursor
Add to .vscode/settings.json:
{
"mcp.servers": {
"gdp-tools": {
"type": "stdio",
"command": "/absolute/path/to/gdp-mcp-tools/venv/bin/python",
"args": ["/absolute/path/to/gdp-mcp-tools/src/server.py"]
}
}
}Google Antigravity
Add to ~/.gemini/antigravity/mcp_config.json (or project-level .gemini/settings.json):
macOS / Linux:
{
"mcpServers": {
"gdp-tools": {
"command": "/absolute/path/to/gdp-mcp-tools/venv/bin/python",
"args": ["/absolute/path/to/gdp-mcp-tools/src/server.py"]
}
}
}Windows:
{
"mcpServers": {
"gdp-tools": {
"command": "C:\\path\\to\\gdp-mcp-tools\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\gdp-mcp-tools\\src\\server.py"]
}
}
}To reload after config change: use Manage MCP Servers > View raw config in Antigravity UI, or restart.
Gemini CLI
Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project-level):
macOS / Linux:
{
"mcpServers": {
"gdp-tools": {
"command": "/absolute/path/to/gdp-mcp-tools/venv/bin/python",
"args": ["/absolute/path/to/gdp-mcp-tools/src/server.py"]
}
}
}Windows:
{
"mcpServers": {
"gdp-tools": {
"command": "C:\\path\\to\\gdp-mcp-tools\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\gdp-mcp-tools\\src\\server.py"]
}
}
}To reload: run /mcp reload in Gemini CLI, or restart.
JetBrains (IntelliJ / PyCharm)
Settings > Tools > MCP Servers > Add:
Name:
gdp-toolsCommand:
/absolute/path/to/gdp-mcp-tools/venv/bin/pythonArgs:
/absolute/path/to/gdp-mcp-tools/src/server.py
Any MCP Client (stdio transport)
/path/to/gdp-mcp-tools/venv/bin/python /path/to/gdp-mcp-tools/src/server.pyReads JSON-RPC from stdin, writes responses to stdout, logs to stderr.
Credentials
Copy .env.example to src/.env and fill in:
Credential | Required | How to Get |
| Yes | Your LDAP username (auto-detected from $USER if not set) |
| Yes | Jenkins > Profile > Configure > API Token |
| Yes | Your Okta login password |
| Yes | Trino cluster password (ask team lead) |
| Yes | Jira > Profile > Personal Access Tokens |
| Yes | Your @grubhub.com email |
| Optional | GitHub > Settings > Developer Settings > PAT (repo + read:org, SSO for GrubhubProd) |
| Optional | dev-redash.gdp.data.grubhub.com > Profile > API Key |
| Optional | Slack browser DevTools > Network > Copy from request |
| Optional | DataDog > Org Settings > API Keys |
| Optional | PagerDuty > User Settings > API Token |
| Optional | DataHub UI > Settings > Access Tokens |
Tool Catalog
Data Platform (13 tools)
Tool | Description |
| Sync prod table to dev |
| Deploy Git branch to dev |
| Deploy version to prod |
| Integrate PR |
| EMR cluster management |
| Validate schedule.json |
| Execute Azkaban flow |
| Monitor execution until complete |
| Check execution status |
| Cancel running execution |
| List flows in project |
| List recent executions |
| Execute SQL on dev/preprod/prod |
Observability (7 tools)
Tool | Description |
| EMR cluster info |
| Spark History Server |
| Azkaban execution logs via SSH |
| F5 VPN management |
| S3 data inspection |
Analytics (7 tools)
Tool | Description |
| PV framework failure analysis |
| Deep-dive metric investigation |
| Root cause tracing |
| HTML report generation |
| Backfill management |
| Smart sync planning |
Collaboration (10 tools)
Tool | Description |
| Jira issues |
| Jira workflow |
| Slack |
| GitHub PRs |
| PR discussion threads |
Data Catalog (7 tools)
Tool | Description |
| DataHub metadata |
| DataHub lineage |
| DataHub auth check |
| Redash queries |
| Redash viz |
| Google Docs |
File Structure
gdp-mcp-tools/
README.md # This file
TOOLS.md # Detailed tool reference
requirements.txt # Python dependencies
.env.example # Credential template (copy to src/.env)
.mcp.json.example # MCP client config template
.gitignore
src/
server.py # FastMCP entry point (stdio transport)
auth.py # Shared auth (Jenkins, Azkaban, Trino, Jira)
.env # Your credentials (gitignored, never committed)
tools/
jenkins_tools.py # Deploy, sync, integrate, cluster ops
scheduler_tools.py # Azkaban flows, monitor, cancel
trino_tools.py # SQL queries (dev/preprod/prod)
emr_tools.py # EMR cluster list/describe
s3_tools.py # S3 partition listing
backfill_tools.py # Backfill planning + execution
sync_plan_tools.py # Smart sync planning
spark_tools.py # Spark History Server
flowlogs_tools.py # Azkaban log retrieval via SSH
pv_tools.py # PV failure analysis
vpn_tools.py # VPN connect/disconnect/status
jira_tools.py # Jira issue management
slack_tools.py # Slack messaging
github_tools.py # GitHub PR operations
pr_tools.py # PR discussion threads
google_doc_tools.py # Branded Google Doc creation
datahub_tools.py # DataHub lineage/search
redash_tools.py # Redash query/viz management
scripts/ # Utility scripts (not MCP tools)
datadog_wrapper.sh # DataDog MCP wrapper
pagerduty_wrapper.sh # PagerDuty MCP wrapper
google_workspace_wrapper.sh
create_redash_queries.py
config/
config.json # Tool configurationTroubleshooting
Problem | Fix |
|
|
| Check |
| Connect VPN first ( |
| Check OKTA_PASSWORD is current |
| Regenerate JENKINS_TOKEN |
| Regenerate JIRA_PERSONAL_TOKEN |
| VPN dropped, reconnect |
Tools not showing in client | Restart MCP client. Check |
Windows path issues | Use |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/asuar16/gdp-mcp-tools'
If you have feedback or need assistance with the MCP directory API, please join our Discord server