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.
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。