Skip to content

MCP Integrations

Prometheal connects agents to external services via the Model Context Protocol. MCP clients run on the Prometheal server — sandboxes never see credentials.

How it works: Admins add integrations in Settings > Integrations, enter credentials, then bind them to agents. When an agent uses an MCP tool, Prometheal spawns the MCP server process with decrypted credentials and proxies the call.


Google Workspace

Package: @pegasusheavy/google-mcpGives agents: Google Drive, Docs, Sheets, Slides, Gmail, Calendar, and more

Prerequisites

  • A Google account
  • A Google Cloud project (free tier is fine)

Step 1: Create a GCP project

  1. Go to Google Cloud Console
  2. Click Select a project > New Project, give it a name, and create it

Step 2: Enable Google APIs

Important: You must enable each API individually in the GCP console. If you skip this, agents will get errors like "API has not been used in project X before or it is disabled" when trying to use those tools.

  1. In your project, go to APIs & Services > Library
  2. Search for and enable each API you want agents to access:
    • Google Drive API (required — needed for all file operations)
    • Google Docs API (for reading/creating/editing docs)
    • Google Sheets API (for reading/creating/editing spreadsheets)
    • Google Slides API (for presentations)
    • Gmail API (for email)
    • Google Calendar API (for calendar)

Each API has its own enable page. Click into it and click Enable. It takes effect within a minute or two.

Step 3: Create OAuth credentials

  1. Go to APIs & Services > Credentials
  2. Click Create Credentials > OAuth client ID
  3. If prompted, configure the OAuth consent screen first:
    • User type: External (or Internal if using Google Workspace)
    • Fill in app name and your email
    • Add scopes for the APIs you enabled
    • Add your Google account as a test user (required while in "Testing" mode)
  4. Back in Credentials, create an OAuth client ID:
    • Application type: Web application
    • Under Authorized redirect URIs, add: https://your-prometheal-url/api/integrations/INTEGRATION_ID/oauth/callback (You'll get the exact integration ID after step 4 — you can update the redirect URI then)
    • Click Create
  5. Copy the Client ID and Client Secret

Step 4: Add in Prometheal

  1. Log in as Admin
  2. Go to Settings > Integrations
  3. Click Google Workspace from the catalog
  4. Enter the Client ID and Client Secret from step 3
  5. Click Create & Test

Step 5: Update the GCP redirect URI

Now that the integration is created, you have its ID. Go back to the GCP console and update the authorized redirect URI to:

https://your-prometheal-url/api/integrations/<INTEGRATION_ID>/oauth/callback

You can find the integration ID in the Prometheal URL or API response.

Step 6: Authorize with Google

  1. In the integration list, click the Authorize button next to Google Workspace
  2. You'll be redirected to Google's consent screen
  3. Sign in and grant access to the requested APIs
  4. Google redirects you back to Prometheal — you'll see a success toast

The OAuth tokens are stored encrypted in Prometheal's database. They auto-refresh — no manual token rotation needed.

Step 7: Bind to an agent

  1. Go to the agent's settings page
  2. Under Integrations, attach Google Workspace
  3. Save

Available tools

Once connected, agents get access to tools like:

  • google_drive_search, google_drive_list, google_drive_read
  • google_docs_read, google_docs_create, google_docs_edit
  • google_sheets_read, google_sheets_write
  • google_slides_read, google_slides_create
  • google_calendar_list, google_calendar_create
  • google_gmail_search, google_gmail_read, google_gmail_send
  • google_auth_status (check if authenticated)

Troubleshooting

ProblemFix
"API has not been used in project X"You need to enable that specific API in GCP. Go to APIs & Services > Library, search for it (e.g., "Google Sheets API"), and click Enable. See Step 2.
OAuth redirect errorMake sure the redirect URI in GCP matches exactly: {APP_URL}/api/integrations/{ID}/oauth/callback
"Access blocked: app not verified"Normal for testing mode — click Advanced > Go to (app name)
OAuth consent screen errorAdd your account as a test user in GCP console
Token expired errorsTokens auto-refresh. If issues persist, click Authorize again to re-authenticate
Integration shows ERRORClick Authorize to complete the OAuth flow, then Test to verify

GitHub

Package: @modelcontextprotocol/server-githubGives agents: Repos, issues, pull requests, code search, file contents

Setup

  1. Go to github.com/settings/tokens
  2. Create a Personal Access Token (classic or fine-grained)
    • Classic: select repo, read:org scopes
    • Fine-grained: select the repositories and permissions you want
  3. In Prometheal, go to Settings > Integrations > GitHub
  4. Paste the token
  5. Optionally restrict by owner/repo in the scope fields
  6. Bind to an agent

Slack

Package: @anthropic/mcp-server-slackGives agents: Read channels, search messages, post updates

Setup

  1. Go to api.slack.com/apps and create a new app
  2. Under OAuth & Permissions, add bot scopes:
    • channels:history, channels:read, chat:write, users:read, search:read
  3. Install the app to your workspace
  4. Copy the Bot User OAuth Token (xoxb-...)
  5. Find your Team ID in Slack workspace settings (or from the URL)
  6. In Prometheal, go to Settings > Integrations > Slack
  7. Enter the bot token and team ID
  8. Bind to an agent

PostgreSQL

Package: @modelcontextprotocol/server-postgresGives agents: Query databases

Setup

  1. In Prometheal, go to Settings > Integrations > PostgreSQL
  2. Enter your connection string: postgresql://user:pass@host:5432/dbname
  3. Bind to an agent

Security note: Consider using a read-only database user. The agent can run any SQL the connection allows.


Filesystem

Package: @modelcontextprotocol/server-filesystemGives agents: Read and write files on the host

Setup

  1. In Prometheal, go to Settings > Integrations > Filesystem
  2. Enter the allowed directory (e.g., /home/user/documents)
  3. Bind to an agent

Security note: The agent gets full read/write access to the specified directory and all subdirectories. Choose carefully.


Notion

Package: @notionhq/notion-mcp-serverGives agents: Read pages, databases, and blocks

Setup

  1. Go to notion.so/my-integrations
  2. Create a new internal integration
  3. Copy the Internal Integration Secret (ntn_...)
  4. In Notion, share the pages/databases you want agents to access with the integration
  5. In Prometheal, go to Settings > Integrations > Notion
  6. Paste the token
  7. Bind to an agent

Package: @modelcontextprotocol/server-brave-searchGives agents: Web search

Setup

  1. Go to brave.com/search/api and get an API key
  2. In Prometheal, go to Settings > Integrations > Brave Search
  3. Paste the API key
  4. Bind to an agent

Sentry

Package: @sentry/mcp-serverGives agents: Query errors, manage issues

Setup

  1. Go to sentry.io/settings/auth-tokens
  2. Create a User Auth Token with org:read and project:read scopes
  3. In Prometheal, go to Settings > Integrations > Sentry
  4. Paste the token
  5. Bind to an agent

Puppeteer

Package: @modelcontextprotocol/server-puppeteerGives agents: Browser automation, screenshots, web scraping

Setup

  1. In Prometheal, go to Settings > Integrations > Puppeteer
  2. No credentials needed — just add and bind to an agent

Note: Puppeteer runs a headless browser on the Prometheal host, not inside the sandbox.


Custom MCP Servers

You can connect any MCP-compatible server:

  1. In Prometheal, go to Settings > Integrations
  2. Click Add Custom Integration
  3. Choose transport type:
    • stdio: Enter the shell command (e.g., npx -y my-mcp-server)
    • HTTP: Enter the server URL
  4. Add any required credentials (passed as environment variables to stdio servers)
  5. Bind to an agent

Released under the MIT License.