Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

MCP Kyvos Sample Client

The mcp-kyvos-sample-client is a sample client implementation that demonstrates how to interact with a Kyvos MCP server. It enables users to send natural language queries using either:

  • SSE (Server-Sent Events) for web-based communication, or
  • STDIO for command-line interaction.

The client supports both Basic Authentication and OAuth 2.0, with credentials and the Kyvos platform URL specified through a JSON configuration file. It uses Azure OpenAI as the LLM backend.

Installation

Install the MCP Kyvos sample client package from pip:

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple mcp-kyvos-sample-client==1.7

Configuration Overview

The client configuration is defined in a JSON file (e.g., mcp.json) or via environment files. There are two primary properties:

  1. clientConfiguration
  2. mcpServers
{
  "clientConfiguration": {
    "AZURE_OPENAI_API_KEY": "your-azure-openai-api-key-here",
    "AZURE_OPENAI_ENDPOINT": "https://your-resource-name.openai.azure.com/",
    "AZURE_OPENAI_DEPLOYMENT_NAME": "your-deployment-name",
    "AZURE_OPENAI_API_VERSION": "2025-01-01-preview",
    "AUTH_TYPE": "basic"
  },
  "mcpServers": {
    "my-stdio-server": {
      "type": "stdio",
      "command": "mcp-kyvos-server",
      "args": [
        "--env-file", "/path/to/.env"
      ]
    }
  }
}

Client Credentials

These settings apply globally to the MCP client and control logging and authentication to Azure OpenAI:

Parameter Description Example Required Default value
log_level Log level. Options: DEBUG (default), INFO "INFO" No "DEBUG"
log_file File path for client logs. "/var/log/mcp/client.log" No -
AZURE_OPENAI_API_KEY API key for Azure OpenAI. "abc123..." Yes -
AZURE_OPENAI_ENDPOINT Azure OpenAI resource endpoint URL. "https://your-resource.openai.azure.com/" Yes -
AZURE_OPENAI_DEPLOYMENT_NAME Name of the Azure OpenAI model deployment to use. "your-deployment-name" Yes -
AZURE_OPENAI_API_VERSION Azure OpenAI API version. "2025-01-01-preview" No "2025-01-01-preview"
AUTH_TYPE Type of authorization the client uses. basic or oauth No oauth
CLIENT_PORT The port on which the client receives the OAuth callback from the server. 3001 No 3000
FOLDER_NAME Folder name to use for getting available semantic models. "Business Catalog" No -

Example:

"clientConfiguration": {
  "LOG_LEVEL": "INFO",
  "LOG_FILE": "/var/log/mcp/client.log",
  "AZURE_OPENAI_API_KEY": "your-azure-openai-api-key-here",
  "AZURE_OPENAI_ENDPOINT": "https://your-resource-name.openai.azure.com/",
  "AZURE_OPENAI_DEPLOYMENT_NAME": "your-deployment-name",
  "AZURE_OPENAI_API_VERSION": "2025-01-01-preview",
  "FOLDER_NAME": "Business_Catalog"
}

STDIO Mode

Runs synchronously over standard input/output, ideal for scripts and pipelines.

Connect with stdio:

Field Description Examples Required
type Server connection type. "stdio" or "sse" No
command The command used to start the server executable. Must be an absolute path or available on the system PATH. "uv", "python", or any command installed via pip. Yes
args Array of arguments passed to the command. ["--kyvos-url", "https://your-kyvos-endpoint", "--verify-ssl", "false"] Yes
env Environment variables for the server. "USERNAME": "user123" No

Example configuration in mcp.json:

{
  "clientConfiguration": {
    "LOG_LEVEL": "INFO",
    "LOG_FILE": "/var/log/mcp/analytics-stdio.log",
    "AZURE_OPENAI_API_KEY": "your-azure-openai-api-key-here",
    "AZURE_OPENAI_ENDPOINT": "https://your-resource-name.openai.azure.com/",
    "AZURE_OPENAI_DEPLOYMENT_NAME": "your-deployment-name",
    "AZURE_OPENAI_API_VERSION": "2025-01-01-preview"
  },
  "mcpServers": {
    "my-stdio-server": {
      "type": "stdio",
      "command": "mcp-kyvos-server",
      "args": [
        "--kyvos-url", "https://your-kyvos-endpoint",
        "--kyvos-username", "user123",
        "--kyvos-password", "secret",
        "--kyvos-prompt-file", "./prompt.txt",
        "--kyvos-default-folder", "/shared/folder",
        "--verify-ssl", "false"
      ]
    }
  }
}

Or via environment file:

{
  "clientConfiguration": {
    "AZURE_OPENAI_API_KEY": "your-azure-openai-api-key-here",
    "AZURE_OPENAI_ENDPOINT": "https://your-resource-name.openai.azure.com/",
    "AZURE_OPENAI_DEPLOYMENT_NAME": "your-deployment-name"
  },
  "mcpServers": {
    "my-stdio-server": {
      "type": "stdio",
      "command": "mcp-kyvos-server",
      "args": [
        "--env-file", "/path/to/.env"
      ]
    }
  }
}

Or set env vars:

{
  "clientConfiguration": {
    "AZURE_OPENAI_API_KEY": "your-azure-openai-api-key-here",
    "AZURE_OPENAI_ENDPOINT": "https://your-resource-name.openai.azure.com/",
    "AZURE_OPENAI_DEPLOYMENT_NAME": "your-deployment-name"
  },
  "mcpServers": {
    "my-stdio-server": {
      "type": "stdio",
      "command": "mcp-kyvos-server",
      "args": [],
      "env": {
        "KYVOS_URL": "https://your-kyvos-endpoint",
        "KYVOS_USERNAME": "user123",
        "KYVOS_PASSWORD": "secret"
      }
    }
  }
}

SSE Mode

Provides a persistent stream of responses from the MCP Kyvos server using HTTP SSE protocol.

Connect with sse:

Field Description Examples Required
type Server connection type. "sse" No
url URL of the SSE server. "http://<machine_ip>:<port>/sse" Yes
username Username for HTTP Basic Auth. "user123" No
password Password for HTTP Basic Auth. "secret" No

Note: Username and password will be base64 encoded and passed as a Basic Auth token in the Authorization header.

Note: The type parameter is optional. If a url is provided, the client will automatically detect the type as sse; if a command is provided, it will detect stdio mode.

Tip: Ensure that the MCP server is running before starting the client in SSE mode.

{
  "clientConfiguration": {
    "LOG_LEVEL": "DEBUG",
    "LOG_FILE": "/var/log/mcp/analytics-sse.log",
    "AZURE_OPENAI_API_KEY": "your-azure-openai-api-key-here",
    "AZURE_OPENAI_ENDPOINT": "https://your-resource-name.openai.azure.com/",
    "AZURE_OPENAI_DEPLOYMENT_NAME": "your-deployment-name",
    "AZURE_OPENAI_API_VERSION": "2025-01-01-preview"
  },
  "mcpServers": {
    "analytics-sse": {
      "type": "sse",
      "url": "http://<machine_ip>:port/sse",
      "username": "user123",
      "password": "secret"
    }
  }
}

For reference on the MCP Kyvos server and its supported command-line arguments, see mcp-kyvos-server.


Running the Client

To start the MCP Kyvos sample client using a configuration file, run:

mcp-kyvos-sample-client --config /path/to/mcp.json

Note: On error like "Your input exceeds the context window of this model" use the command /clear to reset the context. All previous context will be lost after using this command.

License

This project is licensed under the MIT License.

Metadata

Release files for mcp-kyvos-sample-client 1.0.0a3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-kyvos-sample-client 1.0.0a3
File Size Uploaded Provenance
mcp_kyvos_sample_client-1.0.0a3.tar.gz 14.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-kyvos-sample-client 1.0.0a3
File Interpreter ABI Platform
mcp_kyvos_sample_client-1.0.0a3-py3-none-any.whl Python 3 none any Details

Total release size: 29.7 kB

Release files / mcp_kyvos_sample_client-1.0.0a3.tar.gz

Download URL mcp_kyvos_sample_client-1.0.0a3.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
dd14a69d634a1460f9cf28e692666aa1792f92f7d4def76d4d2b92e932f8d30d
BLAKE2b-256 checksum
How to use checksums
e0b76d2ce828851440c06055b20321f82198147022672b9ebda128a97df45359
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.7

Release files / mcp_kyvos_sample_client-1.0.0a3-py3-none-any.whl

Download URL mcp_kyvos_sample_client-1.0.0a3-py3-none-any.whl
Size 15.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0aa4dffe9c71a46012579a09a10b07769cfe5830bda01ab9897a09d67aef506
BLAKE2b-256 checksum
How to use checksums
edc084c2a53c5def7696b0297205f3a4dcd44a83923877a010ed9309c8575d9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.7

Security for mcp-kyvos-sample-client 1.0.0a3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page