Paragon MCP Server
Enables AI agents to access prebuilt actions for 130+ SaaS integrations via Paragon's ActionKit, with automatic OAuth and API key flows.
README
<p align="center"> <a href="https://www.useparagon.com/" target="blank"><img src="https://raw.githubusercontent.com/useparagon/aws-on-prem/master/assets/paragon-logo-dark.png" width="150" alt="Paragon Logo" /></a> </p>
<p align="center"> <b> The embedded integration platform for developers. </b> </p>
Paragon MCP Server
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.
Features
| Example Chat | Setup Link |
|---|---|
![]() |
![]() |
- Add user-facing integrations from your Paragon account as available capabilities to your agent, for example:
- Google Calendar: Create or update events and get calendar availability on your user's behalf.
- Salesforce: Query and manage records from your user's CRM.
- Slack: Send notifications to your user's Slack workspace.
- Automatically prompt users to authorize integrations with the Connect Portal, a prebuilt component for secure OAuth 2.0 and API Key intake flows.
- Optionally: add Custom Actions or direct API access as available tools in the MCP.
Prerequisites
To start using the Paragon MCP Server, you will need to sign up and register for a Paragon account.
- Node.js @ 22.14.0
- npm package manager
Installation
- Clone the repository
- Install dependencies:
npm install
Environment Variables
Create a .env file in the root directory by running:
cp .env.example .env
Set up the environment variables as described below:
- Required:
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)
- Optional:
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) <sub>Note: WhenNODE_ENVis set todevelopment, the/sseparameter accepts any user ID in the?user=query parameter to automatically authorize as a specific user while testing locally.</sub>
Running the Server
Start the server using:
npm run start
The server will start on http://localhost:3001 by default.
Client Configuration
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.
Cursor
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:3001with your server's domainuser-idwith the ID for the Connected User to use with ActionKit (this parameter only available in development mode)
Claude
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:3001with your server's domainuser-idwith the ID for the Connected User to use with ActionKit (this parameter only available in development mode)
Deploying the MCP Server
The Paragon MCP server can be completely self-hosted. Deploy the MCP Server via Docker in any cloud hosting platform of your choice.
For testing, you can one-click deploy the server through Heroku.
API Endpoints
GET /sse: Establishes SSE connection for MCP communicationPOST /messages: Handles MCP message processingGET /setup: Handles integration setup flow
Authorization
The 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.
Adding Custom Actions with OpenAPI
To add your own Custom Action definitions:
- Set
ENABLE_CUSTOM_OPENAPI_ACTIONS=truein your environment (e.g. .env file). - Create an
openapi/subfolder at the root of the repository. - Add OpenAPI specs in YAML or JSON format, using the integration name as the file name.
- For example, if you are adding Custom Actions for Google Calendar, the OpenAPI specs should be located at:
openapi/googleCalendar.json. - If you are adding Actions for a Custom Integration, use the SDK name of the integration, with the
custom.prefix:openapi/custom.spotify.json.
- For example, if you are adding Custom Actions for Google Calendar, the OpenAPI specs should be located at:
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.
Using experimental Proxy API tool
[!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.
License
This project is open source and available under the MIT License.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

