Progress OpenEdge MCP Connector For ABL

Secure authentication and token management for Progress OpenEdge MCP ABL services using Progress Data Cloud (PDC) API Keys.
This extension provides seamless authentication and token management for accessing Progress OpenEdge MCP (Model Context Protocol) ABL documentation services using Progress Data Cloud (PDC) API keys. Works universally across VS Code, Windsurf, Antigravity, KiloCode, and Continue environments.
Dependencies
- Python 3.9 or higher must be installed and available in system PATH along with pip, for the mcp proxy to function.
🎯 Multi-IDE Support
- VS Code:
.vscode/mcp.json
- Windsurf:
~/.codeium/windsurf/mcp_config.json
- Antigravity:
~/.gemini/antigravity/mcp_config.json
- KiloCode:
.kilocode/mcp.json
- Continue:
.continue/mcpServers/openedge-abl.yaml
- Auto-detection of IDE environment on startup
📊 Status Bar Integration
- Real-time connection status indicator
- Bearer token expiry countdown (shows hours and minutes remaining)
- One-click access to connection details
- Visual alerts for authentication failures
🌐 Supported IDEs
| IDE |
Status |
Auto-Detection Method |
Config Location |
| VS Code |
✅ Supported |
Default environment |
.vscode/mcp.json (workspace) |
| Windsurf |
✅ Supported |
App name contains "windsurf" or "codeium" |
~/.codeium/windsurf/mcp_config.json (global) |
| Antigravity |
✅ Supported |
App name contains "antigravity" |
~/.gemini/antigravity/mcp_config.json (global) |
| KiloCode |
✅ Supported |
KiloCode extension installed |
.kilocode/mcp.json (workspace) |
| Continue |
✅ Supported |
Continue extension installed |
.continue/mcpServers/openedge-abl.yaml (workspace) |
Auto-Detection: Extension automatically detects your IDE and uses the correct config location.
🚀 Quick Start
Getting Your PDC API Key
- Visit Progress Data Cloud
- Sign in with your Progress account
- Click on the Profile Icon (top right corner)
- Click on your email address in the dropdown menu
- You will be taken to the Account Settings page
- Look for the Your API Key: section
- If you see an API key already displayed, you already have a key
- If no key is shown, you need to generate one
- Click on Manage your API Key option
- A side panel will open showing the Generate your API Key section
- Set the API key expiration:
- Default expiration is shown (this is the maximum allowed)
- You can provide a lower expiration in minutes if needed
- You cannot exceed the maximum allowed expiration
- Leave as default if you want maximum expiration
- Click Generate to create your API Key
- Copy the generated API key and use it for authentication in the extension
Security Note: To protect your account, login attempts are rate-limited to 5 attempts per minute.
MCP Connector Login
- Login to MCP Connector with API Key
- Press
Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS)
- Type and run:
Progress OpenEdge MCP: Login to MCP
- Enter your PDC API Key when prompted
- Wait for authentication to complete
- ✅ MCP configuration created automatically
That's it! The extension will:
- ✅ Start proxy automatically when IDE opens
- ✅ Validate bearer token and API key every 40 seconds
- ✅ Refresh bearer token automatically at 55 minutes
- ✅ Show connection status in status bar
- ✅ Handle bearer token expiry gracefully (no false "API key revoked" errors)
📋 Available Commands
Access commands via Command Palette (Ctrl+Shift+P or Cmd+Shift+P):
| Command |
Description |
When to Use |
| Login to MCP |
Authenticate with your Progress Data Cloud API Key |
First time setup or after logout |
| Show Connection Status |
Display current connection and bearer token details |
Check bearer token expiry, connection health |
| Refresh Token Now |
Manually refresh bearer token (usually automatic) |
Force refresh before long operation |
| Clear Stored API Key |
Remove saved API key |
Before entering new API key |
| Disconnect MCP (Clean All Data) |
Disconnect and remove all stored credentials |
Complete cleanup, switch accounts |
📊 Status Messages & UI Elements
Status Bar Badge
The extension displays a status bar item in the bottom-right corner with real-time connection status:
| Badge |
Status |
Description |
| 🟢 OE MCP Connected |
Connected |
Successfully authenticated and connected to MCP server |
| 🔴 OE MCP Disconnected |
Disconnected |
Not connected to MCP server (login required) |
| 🟡 OE MCP Starting... |
Connecting |
Authentication in progress |
| ❌ OE MCP Auth Failed |
Authentication Failed |
Invalid API Key or authentication error |
| 🔄 OE MCP Refreshing... |
Refreshing |
Token refresh in progress (happens at 55 minutes) |
Click on the status bar badge to see detailed connection information including token expiry time.
Success Messages
The extension shows these success notifications:
| Message |
When Shown |
Description |
| ✅ Login successful with new API key! |
After successful login |
Login completed, MCP server connected |
| ✅ MCP server connected |
After proxy starts |
Python proxy started successfully |
| ✅ Bearer token refreshed and stored securely |
After auto-refresh |
Bearer token renewed (happens at 55 minutes) |
| ✅ MCP configuration updated |
After config file creation |
MCP config file created/updated in correct location |
| ✅ Stored API Key cleared |
After clearing API key |
API Key removed from secure storage |
| ✅ Disconnected successfully |
After disconnect command |
Clean disconnect, all data cleared |
Info Messages
| Message |
When Shown |
Description |
| ℹ️ Bearer token is still valid (XX minutes remaining) |
When clicking "Refresh Token Now" |
Manual refresh not needed, bearer token still valid |
| ℹ️ Not logged in. Please login first. |
When trying to refresh without login |
Need to login before refresh |
| ℹ️ Already logged in. Use 'Disconnect' to logout. |
When trying to login while connected |
Already authenticated |
| ℹ️ Validating API key with Progress Data Cloud... |
During 40-second validation cycle |
Background validation in progress |
| ℹ️ Bearer token refresh successful - API Key is VALID |
After 401 error + successful refresh |
Bearer token was expired (not API key revoked) |
Warning Messages
| Message |
When Shown |
Description |
| ⚠️ No API Key found. Please login again. |
When API Key missing from storage |
API Key cleared or expired |
| ⚠️ Python is not installed or not found in PATH |
When Python not detected |
Python 3.9+ required for proxy |
| ⚠️ Bearer token is expiring soon (< 5 minutes). Refreshing... |
When bearer token about to expire |
Proactive refresh triggered |
Error Messages
| Message |
When Shown |
Action Buttons |
Description |
| ❌ Cannot reach Progress Data Cloud. Please check your internet connection. |
When cannot reach Progress Data Cloud |
[Retry Connection] |
Network connectivity issue |
| ❌ Failed to refresh bearer token. Please try logging in again. |
When bearer token refresh fails |
[Login Again] |
Bearer token refresh failed |
| ❌ Login failed. Please check your API key and try again. |
When authentication request fails |
[Login Now] |
Authentication failed, verify API key |
| ❌ Login cancelled |
When user cancels API Key input |
- |
User cancelled login prompt |
| ❌ API Key must be at least 20 characters |
When entering too short API key |
- |
Invalid API key format |
| ⏱️ Too many login attempts. Please wait X seconds. |
When exceeding 5 login attempts per minute |
- |
Rate limit protection triggered |
When errors occur, the extension provides quick action buttons for easy resolution:
| Button |
When Shown |
Action |
| Login Now |
When API Key invalid/expired |
Opens login prompt to enter new API Key automatically |
| Retry |
When network error occurs |
Retries the failed operation |
| Show Status |
After successful operations |
Shows detailed connection status in information message |
🔧 Troubleshooting
Commands Not Showing in Command Palette
Symptom: Can't find "Login to MCP" or other commands
Solutions:
- Reload IDE window (
Ctrl+Shift+P → "Developer: Reload Window")
- Check extension is installed and enabled in Extensions panel
- Look in Command Palette with category filter: type
>Progress OpenEdge MCP
- Verify IDE version (VS Code 1.85.0+ required)
Connection Issues
Symptom: "Cannot reach Progress Data Cloud" or "Bearer token validation failed"
Solutions:
- Run Clear Stored API Key command
- Get a fresh API key from Progress Data Cloud portal (openedge.data.progress.cloud)
- Run Login to MCP with new API key
- Check network connectivity to
openedge.data.progress.cloud
- Verify no proxy/firewall blocking HTTPS traffic
Python Not Found (Proxy Only)
Symptom: "Python is not installed or not found in PATH"
Solutions:
- Install Python 3.9 or higher from python.org
- During installation, check "Add Python to PATH" option
- Restart IDE after installing Python
- Verify by running
python --version in terminal (should show 3.9+)
- Try
python3 --version if python doesn't work
Auto-Refresh Not Working
Symptom: Bearer token expires and service stops
Solutions:
- Check IDE is not in sleep/hibernation mode
- Verify
mcpAuth.autoRefreshInterval setting (should be 55 minutes)
- Check IDE Output panel (
View → Output → select "Progress OpenEdge MCP") for extension logs
- Run Refresh Token Now manually to test refresh mechanism
- Check status bar for error indicators
API Key Rejected / Revoked
Symptom: "API Key is invalid or expired" after working previously
Solutions:
- Verify API key hasn't been revoked in Progress Data Cloud portal
- Check API key hasn't reached its expiration date
- Generate new API key in Progress Data Cloud portal
- Use Clear Stored API Key command
- Login with new API key using Login to MCP command
Login Rate Limited
Symptom: "Too many login attempts. Please wait X seconds."
Solutions:
- Wait for the specified time (usually less than 1 minute)
- Check if you have multiple VS Code instances trying to login simultaneously
- Verify you are using the correct API Key to avoid repeated failures
Extension Not Starting
Symptom: No status bar item, commands don't work
Solutions:
- Check IDE version (VS Code 1.85.0+ required)
- Check extension is enabled in Extensions panel
- Look for error messages in Output panel
- Try uninstalling and reinstalling extension
- Check IDE logs:
Help → Toggle Developer Tools → Console tab
Config File Not Created
Symptom: After login, MCP config file not found
Solutions:
- Check your IDE type is detected correctly
- Expected locations:
- VS Code:
.vscode/mcp.json in workspace
- Windsurf:
~/.codeium/windsurf/mcp_config.json
- Antigravity:
~/.gemini/antigravity/mcp_config.json
- Continue:
.continue/mcpServers/openedge-abl.yaml
- Check file permissions in target directory
- Try running Disconnect MCP then Login to MCP again
🌍 Network Requirements
Required Endpoints
| Endpoint |
Purpose |
Protocol |
openedge.data.progress.cloud/token |
Bearer token generation |
HTTPS (443) |
openedge.data.progress.cloud/api/account/apikey |
API key validation |
HTTPS (443) |
openedge.data.progress.cloud/openedgemcp/connector4abl/mcp |
MCP service |
HTTPS (443) |
Firewall Configuration
If behind corporate firewall, allow outbound HTTPS (port 443) to:
*.progress.cloud
- Specific:
openedge.data.progress.cloud
Proxy Support
The extension uses IDE's proxy settings automatically. No additional configuration needed.
Version 1.0.0
💬 Feedback & Support
Join our community and get help:
- Discord Community: Join discussions about the MCP Connector on our Discord Channel
- Bug Reports: Found a bug or have a feature request? Share it on our Discord channel