AI Configuration Parameters
All the following parameters must be configured in the openkm.properties file. Once configured, the OpenKM service must be restarted for the changes to take effect.
Some functionalities must be enabled in the user's Profiles for it to be available.
From Administration > AI Prompt, prompts can be defined in combination of Creating your own AI prompt plugin.
OpenKM utilizes Spring AI (specifically version 1.1.2 at the time of this documentation). The parameters shown here represent only a subset of those provided by this library. For comprehensive information, please consult the Spring AI documentation:
- Chat Models: https://docs.spring.io/spring-ai/reference/api/chatmodel.html
- Model Comparison: https://docs.spring.io/spring-ai/reference/api/chat/comparison.html
- OpenAI Chat Parameters: https://docs.spring.io/spring-ai/reference/api/chat/openai-chat.html
Currently supported models include: Anthropic Claude, Azure OpenAI, Google VertexAI Gemini, Ollama (for running local models), and OpenAI. Additional models from the comparison list can be integrated as needed.
You should only activate one AI model at a time.
An active AI model is required for several OpenKM functionalities, including prompts, AI plugins for document processing, RAG (Retrieval-Augmented Generation), and the MCP client.
AI Provider Configuration
The following parameters define which AI model to use for chat and embedding operations.
| Property | Type | Description |
|---|---|---|
|
spring.ai.model.chat |
String |
Specifies the chat model provider openai |
|
spring.ai.model.embedding |
String |
Specifies the embedding model provider openai |
|
spring.ai.openai.api-key |
String |
The API key for authentication API KEY |
|
spring.ai.openai.chat.options.model |
String |
The specific model version to use gpt-5-mini |
|
spring.ai.openai.chat.options.temperature |
Float |
Controls randomness in responses (0.0 to 1.0). Lower values make output more focused and deterministic 1 |
MCP Server Configuration
The Model Context Protocol (MCP) Server allows external applications to interact with OpenKM's core functionalities.
| Property | Type | Description |
|---|---|---|
|
spring.ai.mcp.server.enabled |
Boolean |
Enables or disables the MCP server. Set to false |
|
spring.ai.mcp.server.instructions |
String |
Instructions and description for the MCP server This server provides basic OpenKM application information and tools. OpenKM is a document management system that allows you to manage your documents. You can use this server to interact with OpenKM's core functionalities through the MCP protocol. |
|
spring.ai.mcp.server.request-timeout |
Duration |
Request timeout duration 60s |
|
okm.mcp.security.allowed.ips |
String |
Restricts which IP addresses can access the MCP service. Use * to allow all IPs, or specify a specific IP address (e.g., 10.0.0.50) to restrict access * |
Additional parameters for MCP-specific logging:
To enable detailed logging for the MCP service, add the following parameters to openkm.properties:
logging.level.com.openkm.mcp=DEBUGlogging.level.com.openkm.config.MCPToolSecurityAspect=DEBUG
MCP Client Configuration
OpenKM includes an MCP (Model Context Protocol) client that allows it to connect to external MCP servers.
Important: Do not enable the Spring AI auto-configuration for the MCP client. The parameter spring.ai.mcp.client.enabled must always be set to false. OpenKM uses manual configuration instead.
| Property | Type | Description |
|---|---|---|
|
spring.ai.mcp.client.enabled |
Boolean |
Spring AI MCP client auto-configuration. Must always be false |
|
okm.mcp.manual.client.enabled |
Boolean |
Enables or disables the manual MCP client configuration false |
|
okm.mcp.manual.connections.server1.url |
String |
URL of the first MCP server to connect to http://localhost:8080 |
|
okm.mcp.manual.connections.server1.sse-endpoint |
String |
Server-Sent Events (SSE) endpoint for the MCP server /openkm/sse |
|
okm.mcp.manual.connections.server1.token |
String |
Authentication token for OpenKM. We recommend generating a token with a validity period of one year or more |
The MCP client supports multiple server connections. To add additional servers, use the same parameter pattern with different server identifiers:
okm.mcp.manual.connections.server2.urlokm.mcp.manual.connections.server2.sse-endpointokm.mcp.manual.connections.server2.token
RAG (Retrieval-Augmented Generation) Configuration
RAG enhances AI responses by retrieving relevant information from a vector database.
| Property | Type | Description |
|---|---|---|
|
spring.ai.vectorstore.type |
String |
Type of vector store to use for RAG mariadb |
|
spring.ai.vectorstore.mariadb.initialize-schema |
Boolean |
Automatically initialize the MariaDB vector store schema true |