Skip to main content

MCP Server

Embeddings

In order for the MCP to interact with the marketplace, Witboost should create the embeddings of the marketplace instances.

In your values.yaml add these lines:

ui:
appConfig:
# ... other config properties ...
mesh:
...
marketplace:
...
backend:
...
embeddingsSearch:
enabled: true
embeddingsModel:
apiKey: {api_key}
apiVersion: {api_version}
instanceName: {instance_name}
deploymentName: {deployment_name}
endpoint: {azure_endpoint}

An embedder model is composed of these fields:

  • apiKey: The authentication API key provided by Azure OpenAI
  • apiVersion: The specific API version to use for the embedding service (format: YYYY-MM-DD)
  • instanceName: The name of your embedding model instance as configured in Azure OpenAI
  • deploymentName: The specific deployment name of the embedding model (e.g., text-embedding-3-large)
  • endpoint: The full HTTPS URL endpoint where your embedding service is hosted

Here's an example of a embedder configuration:

embeddingsModel:
apiKey: xxx
apiVersion: '2023-05-15'
instanceName: yyy
deploymentName: text-embedding-3-large
endpoint: https://yyy.cognitiveservices.azure.com

Supported models

Currently Witboost supports following models/providers:

Embedder ProviderModel
azure_openaitext-embedding-3-large (preferred)
azure_openaitext-embedding-3-small

Create embeddings

The creation of embeddings occurs on startup and each time a system is (un)deployed.

If you plan to change the model, then make sure to re-create them. It is possibile to manually create the embeddings by calling

POST /marketplace/embeddingsSearch/createEmbeddings

with the following payload

{
"environment": {name_of_environment}
}

Authentication

Witboost MCP server implements the OAuth 2.1 IETF standard. See MCP Auth specification for more informations.

The protocol requires that the auth APIs are exposed to MCP Client that we want to support. You can configure the list of allowed origins:

In your values.yaml add these lines:

ui:
appConfig:
# ... other config properties ...
backend:
...
auth:
...
odcr:
...
cors:
origin: {string | string[]}

where origin is a string or array of strings specifying the allowed origins for CORS requests. This determines which domains can make authentication requests to the MCP server. (ex. "https://claude.ai")