Platoona MCP Server
OfficialAllows sending messages to Slack channels and interacting with Slack integration actions.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Platoona MCP ServerSearch for tools to send a Slack message"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Catalyst MCP Server
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 |
| Yes | Your Platoona Connect API key |
| 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 |
| RAG search for integration tools |
| Connect to integration (OAuth or API key) |
| Execute an integration action |
| List active connections |
| Disconnect from integration |
| 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
Support
Available Tools
6 toolsconnect-appConnect AppA
Connect to an integration/app. For API key integrations, provide the API key directly. For OAuth integrations, this will return an authorization URL for the user to complete.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | API key for the integration (required for API key auth type) | |
| scopes | No | OAuth scopes to request (for OAuth integrations) | |
| integration | Yes | Integration ID or slug to connect (e.g., "slack", "github") |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| authUrl | No | |
| message | Yes | |
| connectionId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the two authentication modes and that OAuth returns an authorization URL for the user to complete. However, it does not mention side effects like whether the connection is persisted or whether API keys are validated, leaving gaps for an agent to infer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the main purpose, and provides enough detail without unnecessary fluff. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 params, output schema present, sibling context), the description covers the primary decision branches and return behavior adequately. It could be more explicit about post-connection behavior but is reasonably complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters already have descriptions. The tool description adds some contextual grouping (API key for API-key integrations, scopes for OAuth) but does not provide additional syntax or specifics beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb and resource: "Connect to an integration/app." It also distinguishes the tool from siblings by describing the action of establishing a connection, unlike list-connections, disconnect-app, or execute-tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by distinguishing API-key and OAuth flows, telling the agent what to expect for each. However, it does not explicitly mention when to use this tool instead of siblings or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect-appDisconnect AppA
Disconnect from an integration, revoking all connections.
| Name | Required | Description | Default |
|---|---|---|---|
| integration | Yes | Integration ID or slug to disconnect |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It does disclose a significant behavioral trait: 'revoking all connections,' indicating a broad, likely destructive action. However, it does not mention permanence, reversibility, permissions, or other side effects, leaving gaps in the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and its effect. It is concise, with no wasted words, and includes the critical qualifier 'all connections' without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only one parameter and an output schema, the description is nearly complete. It states the purpose and the key behavioral scope (all connections). However, it could benefit from noting that the action is likely irreversible or requires reconnection, which would enhance completeness given the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the single parameter 'integration' with a clear description ('Integration ID or slug to disconnect'), providing 100% schema coverage. The tool description does not add additional semantic meaning beyond what the schema already documents, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Disconnect from an integration, revoking all connections.' It uses a specific verb ('disconnect') and resource ('integration'), and explicitly notes the scope ('all connections'), which distinguishes it from sibling tools like list-connections and connect-app.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or reference sibling tools like connect-app or list-connections. The intended context is only implied by the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute-toolExecute ToolB
Execute an integration action/tool. Requires an active connection for the integration.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action ID or slug to execute (get this from search-tools) | |
| timeout | No | Execution timeout in milliseconds (default: 30000) | |
| parameters | Yes | Parameters for the action (check inputSchema from search-tools) |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| output | No | |
| status | Yes | |
| success | Yes | |
| duration | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the weight of behavioral disclosure. It only mentions the connection requirement; it does not disclose that executing actions may have side effects, mutate external systems, or what guarantees exist around execution. This is a significant gap for an 'execute' tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core purpose ('Execute an integration action/tool') followed by a critical prerequisite. There is no redundancy or filler, perfectly earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, a nested object, and an output schema, the description is minimal but adequate for a generic execution wrapper. It mentions the connection prerequisite but does not address error handling, long-running behavior, or side effects. The output schema covers return values, so that absence is less critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all parameters (100% coverage), including 'action', 'timeout', and 'parameters'. The tool description itself adds no additional parameter-level meaning, so it relies on the schema. Baseline of 3 applies because schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function as 'Execute an integration action/tool', with 'execute' as a specific verb and 'integration action/tool' as the resource. This distinguishes it from siblings like 'search-tools' (searching) and 'list-connections' (listing), though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a key prerequisite ('Requires an active connection for the integration'), which implicitly guides when to use the tool. However, it does not explicitly state when to use this tool versus alternatives or add exclusion guidance, leaving usage largely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-connectionsList ConnectionsA
List all active integration connections. Use this to see which integrations are already connected.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| connections | Yes | |
| totalConnections | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It reveals that only active connections are returned, which is useful, but it does not describe the output format, pagination, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two short sentences. Every word serves a purpose, and the key information is front-loaded in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and an output schema, the description is mostly complete. However, ambiguity with the sibling 'list-integrations' tool and lack of any note about output details slightly reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the baseline is 4. The description adds semantic value by qualifying the result as 'active' connections, which is not otherwise captured in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists active integration connections, with the specific resource 'active integration connections' and a clarifying purpose. It partially distinguishes from sibling 'list-integrations' by emphasizing 'already connected', but doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Use this to see which integrations are already connected' provides a clear use case. However, it does not mention alternatives or exclusions, such as when to use 'list-integrations' instead, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list-integrationsList IntegrationsA
List available integrations/apps that can be connected.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default: 20) | |
| search | No | Optional: Search term to filter integrations |
Output Schema
| Name | Required | Description |
|---|---|---|
| totalFound | Yes | |
| integrations | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It adds a useful behavioral scoping ('that can be connected') to clarify what is returned, but doesn't explicitly state side effects or pagination behavior beyond what the schema already indicates. This is adequate for a simple list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, clearly worded, with no filler. It front-loads the verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter list tool with a full output schema, this one-sentence description is sufficient. It captures the key distinction from list-connections and doesn't leave significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides complete descriptions for both `limit` and `search`, so the description doesn't need to add parameter details. It adds no extra parameter semantics beyond the schema, which is acceptable per baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with the resource 'available integrations/apps that can be connected', clearly distinguishing from sibling tools like list-connections (which likely handles existing connections). It clearly states what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by noting that these are integrations 'that can be connected', which differentiates this from list-connections. However, it doesn't explicitly name alternatives or provide when-not-to-use guidance, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-toolsSearch ToolsA
Search for available integration tools/actions using semantic search (RAG). Use this to discover what tools are available for a specific task or integration.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (default: 10) | |
| query | Yes | Search query describing what you want to do (e.g., "send email", "create github issue") | |
| integrationFilter | No | Optional: Filter by integration name (e.g., "slack", "github") |
Output Schema
| Name | Required | Description |
|---|---|---|
| tools | Yes | |
| totalFound | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the semantic search (RAG) mechanism, implying a read-only discovery operation, but lacks details on pagination, result limits, or edge cases. The output schema compensates for return structure, but behavioral nuance is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise, front-loaded sentences with zero redundancy. It states the core function and a clear usage directive without unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search/discovery tool, the description covers purpose, usage, and leverages the output schema for return details. It could explicitly name sibling tools for contrast, but the existing guidance is sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter descriptions in the schema cover 100% of parameters, so the description adds no extra semantics. The mention of 'specific task or integration' loosely hints at query usage but does not go beyond the schema, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for available integration tools/actions via semantic search (RAG), using a specific verb and resource. It distinguishes itself from siblings like list-integrations by emphasizing discovery through search rather than simple enumeration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Use this to discover what tools are available for a specific task or integration.' This tells the agent when to invoke this tool, though it does not explicitly mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v1.0.0- First observed
connect-app - First observed
disconnect-app - First observed
execute-tool - First observed
list-connections - First observed
list-integrations - First observed
search-tools
TDQS
Each tool has a clearly distinct role: search-tools for discovering actions, list-integrations for available apps, list-connections for active connections, connect-app for establishing connections, execute-tool for running actions, and disconnect-app for revoking connections. No two tools overlap in purpose.
All tools follow a consistent verb-noun pattern with lowercase hyphenation: search-tools, list-integrations, list-connections, connect-app, execute-tool, disconnect-app. The naming is uniform and predictable.
With six tools, the set is well-scoped for an integration management server. Each tool covers a necessary part of the connection lifecycle without unnecessary redundancy or bloat.
The tool surface covers the full integration lifecycle: discovery (search-tools), catalog (list-integrations), status (list-connections), connection establishment (connect-app), usage (execute-tool), and teardown (disconnect-app). No obvious gaps exist for the stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Let AI agents query data and act across all your business apps via MCP.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA comprehensive MCP server providing over 390 tools across 66 providers, including major SaaS platforms like GitHub, Slack, and Stripe. It enables AI assistants to interact directly with a wide array of public APIs and utility services through a single interface.-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that loads and serves Knowledge Packs to connect AI assistants with business systems like databases, DevOps tools, and APIs.1-
- AlicenseBqualityDmaintenanceA comprehensive MCP server that connects AI assistants to GoHighLevel CRM, enabling management of contacts, conversations, calendars, pipelines, payments, and more through 60+ tools.6456MIT
- FlicenseNot gradedqualityCmaintenanceA single MCP server that exposes safe, permission-checked tools for AI assistants to reach file systems, databases, APIs, Git, cloud services, and business applications.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Platoona/platoona-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server