← Back to Dashboard
Integrations & MCP Hub
Connect MCP servers, built-in integrations, and community skills to extend your agents with external tools and services.
Overview
Non-technical summary: This page is the "app store" for your AI agents. You can connect them to external services like GitHub, Slack, databases, and more. There are three ways to add tools: MCP servers (technical), built-in integrations (just add a password), and community skills (install from marketplace).
The Integrations & MCP Hub is the central place to extend your agents' capabilities. It has three tabs:
- MCP Servers — Connect Model Context Protocol servers that provide custom tools
- Built-in Integrations — 145+ pre-built adapters for popular services (one-click or credential-based setup)
- Community Skills — Custom skill packages installed from the marketplace
How It Works
When you add a connection (MCP server, integration, or community skill), the system:
- Discovers tools — Queries the server/adapter for available tools
- Registers tools — Makes them available to assigned agents
- Stores credentials — Encrypts API keys and tokens in the vault
- Manages lifecycle — Handles auto-restart, connection health, and token refresh
Key Concepts
MCP (Model Context Protocol)
MCP is an open standard by Anthropic for connecting AI models to external tools. It's the same protocol used by Claude Code, Cursor, and other AI tools. Any MCP-compatible server works with AgenticMail.
Connection Types
| Type | Transport | Best For |
| Local Process (stdio) | stdin/stdout | Locally installed tools. Most common. Runs a command on your server. |
| SSE | HTTP + Server-Sent Events | Remote/cloud MCP servers with streaming |
| HTTP (Streamable) | Standard HTTP | Stateless remote servers |
Authentication Types
| Type | Flow |
| OAuth 2.0 | Click "Connect" → authorize via service's login page. Tokens auto-refresh. |
| API Key | Paste a key from the service's developer settings |
| Bearer Token | Paste an access token |
| Credentials | Multiple fields (e.g., key + domain, key + project ID) |
MCP Servers
Server List
Each connected server shows:
- Status dot — Green (connected), amber (enabled but not connected), red (error), gray (disabled)
- Name and type badge (stdio / SSE / HTTP)
- Tool count — Number of discovered tools
- Command/URL — The connection string
- Description and assigned agents
- Tool list — Expandable list showing up to 20 tool names
Actions
- Test — Verifies connection and reports discovered tool count
- Enable/Disable — Toggle server without deleting it
- Edit — Modify configuration
- Remove — Delete (3-step confirmation process)
Adding an MCP Server
The Add modal includes:
- Server Name — Friendly identifier
- Description — What the server provides
- Connection Type — Visual selector for stdio/SSE/HTTP
- For stdio: Command, Arguments, Environment Variables (JSON, encrypted)
- For SSE/HTTP: Server URL, API Key/Bearer Token, Custom Headers (JSON)
- Connection Timeout — Seconds to wait (default: 30)
- Auto-restart on failure — Toggle
- Agent Access — Select which agents can use this server's tools
Quick Start Templates
Pre-configured templates for common MCP servers:
| Template | Command | Environment Needed |
| Filesystem | npx -y @modelcontextprotocol/server-filesystem /home | None |
| GitHub | npx -y @modelcontextprotocol/server-github | GITHUB_PERSONAL_ACCESS_TOKEN |
| PostgreSQL | npx -y @modelcontextprotocol/server-postgres | DATABASE_URL |
| Brave Search | npx -y @modelcontextprotocol/server-brave-search | BRAVE_API_KEY |
| Puppeteer | npx -y @modelcontextprotocol/server-puppeteer | None |
| Slack | npx -y @modelcontextprotocol/server-slack | SLACK_BOT_TOKEN, SLACK_TEAM_ID |
| Google Drive | npx -y @modelcontextprotocol/server-gdrive | OAuth |
| Memory | npx -y @modelcontextprotocol/server-memory | None |
| Sentry | npx -y @modelcontextprotocol/server-sentry | SENTRY_AUTH_TOKEN |
| Fetch | npx -y @modelcontextprotocol/server-fetch | None |
Note: Templates using npx require Node.js installed on the host machine. The -y flag auto-installs packages without prompting.
3-Step Delete Confirmation
Deleting an MCP server requires three confirmation steps:
- Step 1: Review what you're deleting (server name, tools, command/URL)
- Step 2: Agent impact warning — lists affected agents and consequences
- Step 3: Type the server name to confirm permanent deletion
Destructive action: Deleting an MCP server is irreversible. All tool registrations are removed, and agents using those tools will get errors. Running tasks that depend on these tools will fail.
Built-in Integrations
AgenticMail includes 145+ pre-built integrations organized by category:
| Category | Examples |
| CRM & Sales | Salesforce, HubSpot, Pipedrive |
| Communication | Slack, Discord, Twilio |
| Productivity | Notion, Asana, Trello |
| DevOps & CI/CD | GitHub, GitLab, Jenkins |
| Finance & Billing | Stripe, QuickBooks |
| Marketing | Mailchimp, SendGrid |
| HR & People | BambooHR, Gusto |
| E-Commerce | Shopify, WooCommerce |
| Security | 1Password, Vault |
| Data & AI | Snowflake, BigQuery |
Each integration card shows: name, category, auth type, tool count, and a Connect/Disconnect button. Use the search bar and category dropdown to filter.
Tip: All credentials are encrypted in the vault. OAuth tokens auto-refresh before expiry — you don't need to manually reconnect.
Community skills are custom packages installed from the marketplace. This tab shows:
- Installed skill name and description
- Connection status (Connected / Not connected)
- Configure button for skill-specific settings
The configuration modal dynamically renders fields based on the skill's config schema, with automatic secret field detection for passwords/tokens.
Agent Access Control
MCP servers have explicit agent access control — you must select which agents can use each server's tools. This ensures:
- Sensitive tools (database access, file system) are only available to authorized agents
- No agent gets unexpected capabilities
- You can audit exactly which agent has access to what
Important: No agent has access to an MCP server until explicitly granted. This is a security-first design.
Configuration & Setup
Adding Your First MCP Server
- Click "Add MCP Server" in the MCP Servers tab
- Choose a Quick Start Template or fill in manually
- Set environment variables (API keys, etc.) if required
- Select which agents should have access
- Click "Add Server" and then test the connection
Connecting a Built-in Integration
- Switch to the "Built-in Integrations" tab
- Find your service using search or category filter
- Click "Connect" — for OAuth services, a popup opens; for API key services, a credential modal appears
- Enter credentials and save
API Reference
| Endpoint | Method | Description |
/mcp-servers | GET/POST | List or add MCP servers |
/mcp-servers/:id | PUT/DELETE | Update or delete a server |
/mcp-servers/:id/test | POST | Test connection, discover tools |
/integrations/catalog | GET | List all built-in integrations |
/integrations/:skillId/credentials | PUT/DELETE | Save or remove credentials |
/oauth/authorize/:skillId | GET | Start OAuth flow |
/community/installed | GET | List installed community skills |
/community/skills/:id/config | PUT | Update skill configuration |
Best Practices
- Use Quick Start Templates: They pre-fill command, args, and environment variable names correctly.
- Test after adding: Always test the connection before assigning agents to catch configuration errors early.
- Enable auto-restart: Keep this on for production MCP servers so agents don't lose access if a server crashes.
- Least-privilege access: Only assign agents to servers they actually need. Don't give every agent access to your database.
- Use environment variables for secrets: Never put API keys in the command arguments — use the encrypted environment variables field.
- Monitor tool counts: If a server suddenly shows 0 tools after having many, something went wrong with the connection.
- Review connected integrations: Periodically audit which integrations are connected and disconnect unused ones.
Troubleshooting
| Issue | Solution |
| MCP server shows red status | Click Test to see the error. Common causes: command not found (Node.js not installed), wrong URL, invalid credentials. |
| 0 tools discovered | The server may be running but not responding correctly. Check the command/URL. Try running the command manually in a terminal. |
| Agent can't find tools | Verify the agent is in the server's assigned agents list. Check the server is enabled. |
| OAuth popup doesn't open | Browser may be blocking popups. Allow popups for this domain. |
| Integration shows "Not connected" after connecting | Credentials may be invalid. Disconnect and reconnect with correct credentials. |
| Connection timeout | Increase the timeout value. Docker-based servers may need 60+ seconds to start. |
| Environment variables not working | Ensure the JSON is valid. Common mistake: trailing commas or missing quotes. |