forcepoint-mcp
MCP server for the Forcepoint DLP 9.0 REST API. Enables incident management, policy management, and authentication via natural language, with multi-user support and persistent storage in Postgres and Vault.
README
forcepoint-mcp
forcepoint-mcp is a Node.js MCP server for the Forcepoint DLP 9.0 REST API.
It is built around three repository guarantees:
- Forcepoint connection configuration is persistent in Postgres.
- Forcepoint passwords, Forcepoint JWTs, and MCP HTTP bearer tokens are persistent in Vault.
- Multi-user and multi-tenant scope is explicit across tools, storage paths, and auth workflows.
API coverage
Dedicated MCP tools cover the documented Forcepoint DLP 9.0 REST surface for:
- Authentication
POST /dlp/rest/v1/auth/refresh-tokenPOST /dlp/rest/v1/auth/access-token
- Incident management
POST /dlp/rest/v1/incidentsPOST /dlp/rest/v1/incidents/update
- Policy management
GET /dlp/rest/v1/policy/enabled-namesGET /dlp/rest/v1/policy/rulesGET /dlp/rest/v1/policy/rules/severity-actionGET /dlp/rest/v1/policy/rules/source-destinationGET /dlp/rest/v1/policy/rules/exceptions/allGET /dlp/rest/v1/policy/rules/exceptionsPOST /dlp/rest/v1/policy/rulesPOST /dlp/rest/v1/policy/rules/severity-actionPOST /dlp/rest/v1/policy/rules/source-destinationPOST /dlp/rest/v1/policy/rules/exceptions
The repository also exposes forcepoint_api_request for documented routes that do not yet deserve a more specialized tool surface.
Tooling highlights
Discovery and planning:
forcepoint_schema_discoveryforcepoint_query_suggestionforcepoint_connection_infoforcepoint_scope_infoforcepoint_health_check
User profile and secret management:
forcepoint_set_user_connectionforcepoint_get_user_connectionforcepoint_set_user_passwordforcepoint_get_user_auth_stateforcepoint_update_user_tokensforcepoint_issue_refresh_tokenforcepoint_issue_access_token
MCP HTTP token administration:
forcepoint_create_mcp_user_tokenforcepoint_list_mcp_user_tokensforcepoint_revoke_mcp_user_token
Forcepoint API operations:
forcepoint_get_incidentsforcepoint_update_incidentsforcepoint_list_enabled_policiesforcepoint_get_policy_rulesforcepoint_get_rule_severity_actionforcepoint_get_source_destinationforcepoint_list_rule_exceptionsforcepoint_get_rule_exception_detailsforcepoint_post_policy_rulesforcepoint_post_rule_severity_actionforcepoint_post_source_destinationforcepoint_post_rule_exceptionsforcepoint_api_request
All tools return JSON inside MCP text content. Mutating tools require authorizationKey whenever MCP_ADMIN_AUTH_KEY is configured.
Most tools accept an optional accountId argument so callers can explicitly target a tenant or account. When omitted, the server uses the default account scope.
Storage model
Postgres stores configuration only, scoped by account and user:
forcepoint.connectionbaseUrltimeoutMsusername
- Scope key format:
<account-id>:<user-id>:forcepoint.connection
Vault stores secrets only, scoped by account and user:
forcepoint/accounts/<account-id>/users/<user-id>/forcepoint/authpasswordrefreshTokenrefreshTokenExpiresAtaccessTokenaccessTokenExpiresAt
forcepoint/http/auth/token-index- multi-user MCP HTTP bearer token metadata and revocation state
Local development
- Copy
.env.exampleto.env. - Start local Vault and Postgres:
docker compose up -d postgres vault
- Install dependencies:
npm install
- Start stdio mode:
npm run start:stdio
- Start HTTP mode:
npm run start:http
- Generate endpoint artifacts:
npm run generate:inventory
- Run tests:
npm test
External Services Mode
If Vault and Postgres are already managed outside this repository, use docker-compose.external.yml to run only the MCP application container.
Required external settings include:
POSTGRES_HOSTPOSTGRES_PORTPOSTGRES_DBPOSTGRES_USERPOSTGRES_PASSWORDVAULT_ADDRVAULT_TOKENor Vault Agent runtime settings
This mode keeps the same storage model: config in Postgres, secrets in Vault.
MCP registration
VS Code stdio example:
{
"servers": {
"forcepoint-mcp": {
"type": "stdio",
"command": "npm",
"args": ["run", "start:stdio"],
"cwd": "/Users/lesterjohn/Documents/GitHub/forcepoint-mcp"
}
}
}
HTTP-capable clients can point to http://127.0.0.1:3000/mcp after npm run start:http.
Generated artifacts
artifacts/forcepoint-endpoint-inventory.jsonartifacts/forcepoint-openapi.jsonscripts/generate-forcepoint-openapi.js
Safety notes
- Incident updates and all policy POST operations are high-risk.
- Forcepoint policy mutations can be hard to roll back. Back up Forcepoint before policy changes.
forcepoint_get_incidentscan return large payloads. The Forcepoint documentation notes a maximum of 10,000 incidents per response.forcepoint_create_mcp_user_tokenreturns the raw bearer token once. Treat it as a secret.
License
MIT. See LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.