frontegg-mcp-server
Frontegg MCP Server is a Model Context Protocol server that interacts with the Frontegg API.
Frontegg MCP Server
This project implements a Model Context Protocol (MCP) server that interacts with the Frontegg API.
Prerequisites
- Node.js (version 18.0.0 or higher)
- npm or yarn
Installation
- Clone the repository:
git clone <repository-url> cd frontegg-mcp-server
- Install dependencies:
ornpm install
yarn install
Configuration
This server requires authentication with Frontegg. You need to set up proper configuration to connect your MCP server with Frontegg's API.
First, ensure you have your Frontegg credentials available.
Configure your environment variables
Create a .env
file in the root directory with your Frontegg credentials:
FRONTEGG_CLIENT_ID=your_client_id
FRONTEGG_API_KEY=your_api_key
# Optional: Only needed if not using the default Frontegg URL (https://api.frontegg.com)
# FRONTEGG_BASE_URL=https://api.frontegg.com
Replace your_client_id
and your_api_key
with your actual Frontegg credentials from your Frontegg account settings.
Running the Server
- Build the project:
npm run build
- Start the MCP server:
npm start
This will start the server, which listens for MCP connections via standard input/output (stdio).
How to use with Claude Desktop
-
Locate Claude Desktop Config File
To locate the
claude_desktop_config.json
file:- Open the Claude Desktop app and enable Developer Mode from the top-left menu bar.
- Go to Settings, navigate to the Developer section, and click the Edit Config button.
Alternatively, open the file directly:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
-
Add Server Configuration
Add the following to the
mcpServers
section inclaude_desktop_config.json
:{ "mcpServers": { "frontegg": { "command": "npx", "args": ["@frontegg/frontegg-mcp-server"], "env": { "FRONTEGG_CLIENT_ID": "your_client_id", "FRONTEGG_API_KEY": "your_api_key" // FRONTEGG_BASE_URL is optional and defaults to https://api.frontegg.com } } } }
Replace
/path/to/frontegg-mcp-server
with the absolute path to your project directory, and fill in your credentials. -
Restart Claude Desktop
- Fully quit Claude Desktop.
- Relaunch Claude Desktop.
- Check for the 🔌 icon to confirm the server connection.
How to use with Cursor AI
-
Create MCP Configuration File
You can configure Cursor per-project or globally.
- Project-level: Create a
.cursor/mcp.json
file in the root of this project. - Global: Create a
~/.cursor/mcp.json
file in your home directory.
- Project-level: Create a
-
Add Server Configuration
Add the following content to your chosen
mcp.json
file:{ "mcpServers": { "frontegg": { "command": "npx", "args": ["@frontegg/frontegg-mcp-server"], "env": { "FRONTEGG_CLIENT_ID": "your_client_id", "FRONTEGG_API_KEY": "your_api_key" // FRONTEGG_BASE_URL is optional and defaults to https://api.frontegg.com } } } }
Replace
your_client_id
,your_api_key
. If using the global configuration, ensure the path inargs
points to the correct location ofbuild/index.js
(e.g., use an absolute path). -
Restart/Reload Cursor
After saving the file, restart Cursor or reload the project/window to activate the MCP server.
Running the Server
- Build the project:
npm run build
- Start the MCP server:
npm start
This will start the server, which listens for MCP connections via standard input/output (stdio).
Running as an HTTP Server
Alternatively, you can run the server in HTTP mode. This mode exposes an HTTP endpoint (/mcp
) that MCP clients can connect to over the network.
- Build the project (if not already done):
npm run build
- Start the HTTP server:
By default, the server listens on port 3000. You can change the port using thenpm run start:http
PORT
environment variable or the--port
command-line argument:
(Note the extraPORT=8080 npm run start:http # or npm run start:http -- --port 8080
--
before--port
when using npm scripts).
Configuring Clients for HTTP Mode
When running in HTTP mode, clients like Claude Desktop need to connect to the server's URL (e.g., http://localhost:3000/mcp
).
Important: The Claude Desktop configuration example provided earlier (claude_desktop_config.json
) is for the stdio server. Configuring Claude Desktop (or other clients) to connect to an HTTP MCP server might require a different configuration structure (e.g., using a url
field instead of command
/args
).
Consult your MCP client's documentation for instructions on connecting to an MCP server via an HTTP endpoint. You will typically need to provide the base URL where the server is listening (e.g., http://localhost:3000
). The client will usually append /mcp
automatically.
If direct URL configuration is not supported by your client, you may need to run the HTTP server manually in a separate terminal and then configure the client accordingly, if possible.
Model Context Protocol (MCP) Integration
This application acts as an MCP server (@modelcontextprotocol/sdk/server
). It registers tools (defined in ./src/tools/
) that can be invoked by an MCP client (like an AI model or development tool).
The server uses @modelcontextprotocol/sdk/server/stdio
for communication, meaning it expects MCP messages via stdin and sends responses via stdout.
To interact with this server using an MCP client, configure the client to launch the frontegg-mcp-server
executable (or run npm start
or node build/index.js
in the project directory).
Tools
This server provides the following tools to interact with the Frontegg API:
Applications
get_users_for_application
: Retrieves users assigned to a specific application.assign_users_to_application
: Assigns users to a specific application.get_applications
: Fetches Frontegg applications with optional filters.create_agent_application
: Creates a new agent application with specified configuration including name, URLs, access type, and AI-specific settings like model provider and orchestration platform.update_agent_application
: Updates an existing agent application's configuration, allowing modification of properties like name, URLs, access settings, and AI integration settings.get_agent_applications
: Fetches a list of agent applications with optional filtering by access type, default status, active status, or specific IDs.
API Tokens
create_api_token
: Creates a new API token.delete_api_token
: Deletes an API token.get_api_tokens
: Retrieves API tokens.
Tenant Access Tokens
create_token
: Creates a new tenant access token.get_tokens
: Retrieves tenant access tokens.delete_token
: Deletes a tenant access token.
Client Credentials
create_client_credentials
: Creates a new client credentials token.get_client_credentials
: Retrieves client credentials tokens.update_client_credentials
: Updates an existing client credentials token.delete_client_credentials
: Deletes a client credentials token.
Permissions
create_permission
: Creates a new permission.delete_permission
: Deletes a permission.get_permissions
: Retrieves permissions.update_permission
: Updates an existing permission.set_permission_multiple-roles
: Associates a permission with multiple roles. Existing roles remain associated.set_permissions_classification
: Sets the classification type (assignment rule: NEVER, ALWAYS, ASSIGNABLE) for specified permissions.set_permissions_to_role
: Assigns permissions to a role, replacing any existing permissions.
Permission Categories
get_permission_categories
: Retrieves permission categories.create_permission_category
: Creates a new permission category.update_permission_category
: Updates an existing permission category.delete_permission_category
: Deletes a permission category.
Personal Tokens
create_personal_token
: Creates a new personal API token.delete_personal_token
: Deletes a personal API token.get_personal_tokens
: Retrieves personal API tokens.
Roles
create_role
: Creates a new role.delete_role
: Deletes a role.get_roles
: Retrieves roles.update_role
: Updates an existing role.
Tenants
create_tenant
: Creates a new tenant account.update_tenant
: Updates an existing tenant account.delete_tenant
: Deletes a tenant account.
Users
invite_user
: Invites a new user to a specified tenant.delete_user
: Deletes a user.get_users
: Retrieves users.update_user
: Updates an existing user.
Vendor Integrations
get_vendor_integrations
: Fetches all vendor integrations.create_vendor_integration
: Creates a new vendor integration.update_vendor_integration
: Updates an existing vendor integration.delete_vendor_integration
: Deletes a vendor integration.assign_agents_to_vendor_integration
: Assigns agents to a vendor integration.unassign_agents_from_vendor_integration
: Unassigns agents from a vendor integration.
Frontegg Integrations
get_frontegg_integrations
: Fetches all Frontegg integrations.get_frontegg_integration
: Fetches a single Frontegg integration by ID.
Related MCP Servers
View all developer_tools servers →context7
by upstash
Context7 MCP provides up-to-date, version-specific documentation and code examples directly into your prompt, enhancing the capabilities of LLMs by ensuring they use the latest information.
Sequential Thinking
by modelcontextprotocol
An MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.
git-mcp
by idosal
GitMCP is a free, open-source, remote Model Context Protocol (MCP) server that transforms GitHub projects into documentation hubs, enabling AI tools to access up-to-date documentation and code.
Everything MCP Server
by modelcontextprotocol
The Everything MCP Server is a comprehensive test server designed to demonstrate the full capabilities of the Model Context Protocol (MCP). It is not intended for production use but serves as a valuable tool for developers building MCP clients.
exa-mcp-server
by exa-labs
A Model Context Protocol (MCP) server allows AI assistants to use the Exa AI Search API for real-time web searches in a secure manner.
repomix
by yamadashy
Repomix is a tool that packs your codebase into AI-friendly formats, making it easier to use with AI tools like LLMs.
mcpdoc
by langchain-ai
MCP LLMS-TXT Documentation Server provides a structured way to manage and retrieve LLM documentation using the Model Context Protocol.