MCP Tools
The Model Context Protocol (MCP) enables AI agents to access external tools and integrations. Strongly AI ships with 136 pre-built MCP servers covering databases, APIs, productivity tools, and more.
Architecture
Single MCP App per org (one K8s pod)
├── Tool Registry (in-memory registered functions)
├── 136 MCP servers (each in its own mcps/ folder)
├── /mcp endpoint (standard MCP protocol)
└── MongoDB persistence (survives pod restarts)
When a user enables an MCP:
- Tool definitions loaded into the in-memory registry
- User config (API keys) stored securely in MongoDB
- Tools appear in the aggregated
/mcptools/list response - Workflow agents can call tools via tools/call
Available MCP Servers
Search & Web
- Brave Search — web, image, video, news search
- DuckDuckGo — privacy-focused search (no API key)
- Exa — AI-powered semantic search
- Firecrawl — web scraping and data extraction
- Google Translate — translation for 100+ languages
Development & DevOps
- GitHub — repos, issues, PRs, code search (26 tools)
- Docker Hub — image search, tags, repositories
- GitLab — repository management
- SonarQube — code quality analysis
- Postman — API testing and management
- Netlify / Render — deployment platforms
Databases
- Redis — key-value, hashes, lists, sets
- Elasticsearch — full-text search and analytics
- MongoDB — document CRUD, aggregation
- Neo4j — graph database Cypher queries
- SingleStore — distributed SQL
- Couchbase — NoSQL document database
- CockroachDB — distributed SQL
Productivity
- Atlassian — Jira, Confluence, Bitbucket (16 tools)
- Notion — pages, databases, search
- Todoist — task management
- Google Tasks — task lists
Communication
- Mailgun — transactional email
- LinkedIn — post content, profile
- Webex / Mattermost / RocketChat — messaging
Finance & Commerce
- Stripe — payments, customers, subscriptions
- Coinbase — cryptocurrency data
- Razorpay — payment processing
AI & Data
- Wolfram Alpha — computational knowledge
- DeepL — neural machine translation
- ElevenLabs — text-to-speech
- OpenWeather — weather data and forecasts
Monitoring
- Grafana — dashboards, alerts, data sources
- Dynatrace — APM monitoring
Utilities
- HTTP Fetch — generic web requests (no API key)
- RSS — feed parsing (no API key)
- Time — timezone operations
...and 100+ more. See the full catalog at /workflow-tools.
Configuring an MCP
- Navigate to Workflows > Tools
- Find the MCP server you want to use
- Click Details and enter the required configuration (API keys, URLs)
- Toggle the MCP On — tools become available immediately
- Use in workflows via the MCP Tools Provider node
REST API
# Register an MCP with config
POST /api/v1/mcps/register
{
"mcp_id": "mcp-brave-search",
"mcp_name": "Brave Search",
"tools": [...],
"config": { "braveApiKey": "BSAxxxx" },
"enabled": true
}
# Toggle MCP on/off
PATCH /api/v1/mcps/{mcp_id}/toggle
{ "enabled": true }
# List all MCPs
GET /api/v1/mcps
# List all tools (aggregated)
GET /api/v1/mcps/tools
# MCP Protocol (standard)
POST /mcp
{ "jsonrpc": "2.0", "method": "tools/list", "id": 1 }
Adding Custom MCPs
Each MCP server is a Python module in apps/mcp-gateway/app/mcps/{name}/:
# mcps/my_custom_tool/__init__.py
import httpx
from typing import Dict, Any
TOOLS = [
{"name": "my_tool", "description": "Does something useful",
"inputSchema": {"type": "object", "properties": {"query": {"type": "string"}}, "required": ["query"]}},
]
async def execute(tool_name: str, arguments: Dict[str, Any], config: Dict[str, str]) -> Dict[str, Any]:
async with httpx.AsyncClient() as c:
r = await c.get("https://api.example.com/search", params={"q": arguments["query"]})
return {"content": [{"type": "text", "text": r.text}]}