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.

Your secret store needs to have the following variable filled. By default this key is the same you configure for Witty. If you need to provide a different embedding model, be sure to update both the apiKey value and the variable name in the secret store, as they need to match.

EMBEDDERENGINE_SERVICE_TOKEN=<embedder_token>

In your values.yaml add these lines:

ui:
appConfig:
# ... other config properties ...
mesh:
...
marketplace:
...
backend:
...
embeddingsSearch:
enabled: true
embeddingsModel:
apiKey: ${EMBEDDERENGINE_SERVICE_TOKEN}
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: ${EMBEDDERENGINE_SERVICE_TOKEN}
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 possible 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 information.

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")