@platoona/mcp
v1.0.0
Published
MCP server for Platoona Connect - Access 10,000+ SaaS integrations from AI assistants like Claude Code, Cursor, and more
Downloads
93
Readme
Platoona MCP Server
An MCP (Model Context Protocol) server that connects AI assistants like Claude Code, Cursor, and others to 10,000+ SaaS integrations through Platoona Connect.
Features
- search-tools - Semantic search (RAG) for 10K+ integration actions
- list-integrations - Browse available integrations
- list-connections - View your active connections
- connect-app - Connect to integrations (OAuth or API key)
- execute-tool - Execute integration actions
- disconnect-app - Disconnect from integrations
Prerequisites
- A Platoona Connect account
- Your Platoona API key (get it from Platoona Connect Portal)
- Node.js 18+
Installation
Option 1: Install from npm (recommended)
npm install -g @platoona/mcpOption 2: Install from source
git clone https://github.com/platoona/platoona-mcp.git
cd platoona-mcp
npm install
npm run buildConfiguration
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| PLATOONA_API_KEY | Yes | Your Platoona Connect API key |
| PLATOONA_BASE_URL | No | Custom API URL (for self-hosted) |
Note: User ID is automatically derived from your API key using a deterministic hash. This ensures consistent identification across sessions - same API key always produces the same user ID (mcp_<hash>).
Usage with Claude Code
Add to your Claude Code configuration (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"platoona": {
"command": "npx",
"args": ["@platoona/mcp"],
"env": {
"PLATOONA_API_KEY": "platoona_xxx..."
}
}
}
}Or if installed globally:
{
"mcpServers": {
"platoona": {
"command": "platoona-mcp",
"env": {
"PLATOONA_API_KEY": "platoona_xxx..."
}
}
}
}Usage with Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"platoona": {
"command": "npx",
"args": ["@platoona/mcp"],
"env": {
"PLATOONA_API_KEY": "platoona_xxx..."
}
}
}
}Available Tools
search-tools
Search for integration tools using semantic/RAG search.
Input:
- query: "send a message to slack"
- integrationFilter: "slack" (optional)
- limit: 10 (optional)
Output:
- List of matching tools with IDs, descriptions, and similarity scoreslist-integrations
List available integrations that can be connected.
Input:
- search: "email" (optional)
- limit: 20 (optional)
Output:
- List of integrations with IDs, names, and slugslist-connections
List all active connections for your MCP user.
Input: (none required)
Output:
- List of connections with IDs, status, and expirationconnect-app
Connect to an integration.
Input:
- integration: "slack" or UUID
- apiKey: "..." (for API key integrations)
- scopes: ["read", "write"] (for OAuth)
Output:
- For API key: connectionId and status
- For OAuth: authUrl to complete authorizationexecute-tool
Execute an integration action.
Input:
- action: "slack:send-message" or UUID
- parameters: { channel: "#general", text: "Hello!" }
- timeout: 30000 (optional)
Output:
- Execution result with output datadisconnect-app
Disconnect from an integration.
Input:
- integration: "slack" or UUID
Output:
- Success confirmationExample Workflow
Search for tools:
"Search for tools to send a Slack message"Check connections:
"List my Slack connections"Connect if needed:
"Connect to Slack" (will return OAuth URL)Execute the tool:
"Send a Slack message to #general saying Hello!"
API Endpoints Used
This MCP uses the dedicated /mcp/* endpoints for simplified integration:
| Endpoint | Purpose |
|----------|---------|
| POST /mcp/tools/search | RAG search for integration tools |
| POST /mcp/connect | Connect to integration (OAuth or API key) |
| POST /mcp/execute | Execute an integration action |
| GET /mcp/connections | List active connections |
| POST /mcp/disconnect | Disconnect from integration |
| GET /ipaas/integrations | List available integrations |
Development
# Install dependencies
bun install
# Run in development mode
bun run dev
# Build for production
bun run build
# Start production server
bun startLicense
MIT
