by useparagon
Connect your AI agent to over 130 SaaS applications like Slack, Salesforce, and Google Calendar using Paragon's ActionKit API.
ActionKit by Paragon is a Model Context Protocol (MCP) server that provides a bridge between an AI agent and a library of over 130 SaaS integrations. It enables AI agents to securely connect to and perform actions within a user's applications, such as Salesforce, Slack, and Google Calendar, using a pre-built integration API called ActionKit.
To use ActionKit, a developer first integrates the Paragon MCP server into their environment. When an AI agent needs to perform a task (e.g., "Create a new lead in Salesforce"), the server exposes the relevant action as a tool. If the user hasn't already, they are prompted via the Connect Portal to authorize the application. Once authorized, the agent can execute the action on the user's behalf.
Yes, you need to sign up for a Paragon account to use the ActionKit MCP server.
It uses Paragon's Connect Portal, which securely manages the entire OAuth 2.0 and API key intake flow, so user credentials are not exposed.
Yes, you can define custom actions using an OpenAPI specification to extend the functionality beyond the pre-built integrations.
A server implementation for Model Context Protocol (MCP) that integrates with ActionKit, an API by Paragon that provides access to prebuilt actions for 130+ integrations to your users' SaaS applications.
Example Chat | Setup Link |
---|---|
![]() |
![]() |
To start using the Paragon MCP Server, you will need to sign up and register for a Paragon account.
npm install
Create a .env
file in the root directory by running:
cp .env.example .env
Set up the environment variables as described below:
PROJECT_ID
: Your Paragon project ID)SIGNING_KEY
: Your JWT signing key (requiredif SIGNING_KEY_PATH is not set)SIGNING_KEY_PATH
: Path to your JWT signing key file (required if SIGNING_KEY is not set)LIMIT_TO_INTEGRATIONS
: Comma-separated list of integration names to limit the types of available tools.LIMIT_TO_TOOLS
: Comma-separated list of tool names to additionaly limit available tools if needed.PORT
: Server port (default: 3001)MCP_SERVER_URL
: The URL of your hosted MCP Server. This will be used to generate Setup Links when your users are prompted to install integrations. (default: http://localhost:3001
)CONNECT_SDK_CDN_URL
: Paragon Connect SDK CDN URL (default: https://cdn.useparagon.com/latest/sdk/index.js)ACTIONKIT_BASE_URL
: Paragon ActionKit base URL (default: https://actionkit.useparagon.com)ZEUS_BASE_URL
: Paragon API base URL (default: https://zeus.useparagon.com)PROXY_BASE_URL
: Paragon Proxy API base URL (default: https://proxy.useparagon.com)NODE_ENV
: Node environment (default: development
)
Note: When NODE_ENV
is set to development
, the /sse
parameter accepts any user ID in the ?user=
query parameter to automatically authorize as a specific user while testing locally.Start the server using:
npm run start
The server will start on http://localhost:3001
by default.
Note: Cursor's MCP implementation is a very new protocol and is still in active development. You might encounter unexpected issues. When making changes to the MCP server URL, a full client restart is recommended. For more information about current limitations, see the Cursor MCP documentation.
To use this MCP server with Cursor, add the following to your Cursor configuration file at ~/.cursor/mcp.json
:
{
"mcpServers": {
"mcp-actionkit-dev": {
"url": "http://localhost:3001/sse?user=[user-id]"
}
}
}
Replace:
http://localhost:3001
with your server's domainuser-id
with the ID for the Connected User to use with ActionKit (this parameter only available in development mode)To use this MCP server with Claude, add the following to your Claude configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"actionkit": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:3001/sse?user=[user-id]"]
}
}
}
Replace:
http://localhost:3001
with your server's domainuser-id
with the ID for the Connected User to use with ActionKit (this parameter only available in development mode)GET /sse
: Establishes SSE connection for MCP communicationPOST /messages
: Handles MCP message processingGET /setup
: Handles integration setup flowThe GET /sse
endpoint (base URL for the MCP using the SSE transport) accepts an Authorization
header with a Paragon User Token as the Bearer token.
The Paragon User Token is an RS256-encoded JWT that is verified using the public key stored by Paragon. Your MCP client (e.g. your application server or the service running your AI agent) will sign the User Token using the matching private key generated in the Paragon dashboard, which only your server has access to.
This allows the MCP to validate the authenticity of the requesting user using the JWT signature and public key. Once authenticated, the MCP will associate the user ID encoded in the JWT with the active MCP session.
To add your own Custom Action definitions:
ENABLE_CUSTOM_OPENAPI_ACTIONS=true
in your environment (e.g. .env file).openapi/
subfolder at the root of the repository.openapi/googleCalendar.json
.custom.
prefix: openapi/custom.spotify.json
.The MCP will automatically match OpenAPI files with Active integrations in your Paragon project to augment the list of available tools returned by the MCP.
[!WARNING] Enabling this tool allows your agent to write its own API requests with the account you connect. Always review the request before allowing the agent to use this tool to safeguard against unexpected changes.
To allow the agent to write its own requests to the integration API, set ENABLE_PROXY_API_TOOL=true
in your environment.
This project is open source and available under the MIT License.
Please log in to share your review and rating for this MCP.
Discover more MCP servers with similar functionality and use cases
by Skyvern-AI
Skyvern automates browser-based workflows using LLMs and computer vision, offering a robust solution for repetitive online tasks.
by PipedreamHQ
Connect APIs quickly, run event‑driven automations, and execute custom code in Node.js, Python, Go, or Bash on a hosted platform.
by czlonkowski
Provides AI assistants with structured access to n8n node documentation, properties, and operations, enabling automated workflow creation, validation, and management.
by executeautomation
mcp-playwright is a Model Context Protocol (MCP) server that enables large language models (LLMs) to perform browser automation and web scraping tasks using Playwright.
by browserbase
Provides cloud browser automation capabilities for LLMs, enabling web navigation, interaction, screenshot capture, and data extraction through Browserbase and Stagehand.
by haris-musa
excel-mcp-server is a Python-based Model Context Protocol (MCP) server that enables AI agents to programmatically create, read, and modify Excel files without requiring Microsoft Excel to be installed.
by mobile-next
Mobile-mcp is a Model Context Protocol (MCP) server designed for scalable mobile automation, app scraping, and development across iOS and Android devices, including physical devices, simulators, and emulators.
by anaisbetts
mcp-installer is an MCP server designed to automate the installation of other MCP servers, simplifying the process for users.
by leonardsellem
An MCP server that enables AI assistants to interact with n8n workflows through natural language.