- Home
- MCP servers
- ComplianceCow
ComplianceCow
- python
6
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"compliancecow-cow-mcp": {
"command": "UV_BIN_PATH",
"args": [
"--directory",
"PATH_TO_THE_MCP_SERVER_REPO_CLONE",
"run",
"main.py"
],
"env": {
"CCOW_HOST": "YOUR_CCOW_HOST",
"CCOW_CLIENT_ID": "YOUR_CCOW_CLIENT_ID",
"CCOW_CLIENT_SECRET": "YOUR_CCOW_CLIENT_SECRET"
}
}
}
}ComplianceCow MCP Server is a Python-based microservice that processes structured requests from MCP hosts, enabling dashboard insights, auditable responses, and actionable operations such as ticketing and policy remediation. It provides a secure, transport-agnostic way to integrate ComplianceCow’s governance capabilities with MCP hosts like Claude Desktop and Goose Desktop, delivering context-aware results and automated workflows.
How to use
You run the ComplianceCow MCP Server locally or connect to a remote MCP host using the standard STDIO transport. The server authenticates via OAuth 2.0 using the client_credentials flow. Once configured, your MCP host can send structured requests to fetch dashboard data, assess controls, retrieve resources and evidence, and trigger approved actions.
To start using it, first complete authentication to obtain a client ID and secret, then configure your MCP host to launch the server process in STDIO mode. The server exposes a rich set of endpoints for assessments, controls, resources, evidence, and dashboard data, enabling automated checks, remediation workflows, and auditable traceability.
How to install
{
"mcpServers": {
"compliancecow": {
"args": [
"--directory",
"PATH_TO_THE_MCP_SERVER_REPO_CLONE",
"run",
"main.py"
],
"command": "UV_BIN_PATH",
"env": {
"CCOW_HOST": "YOUR_CCOW_HOST",
"CCOW_CLIENT_ID": "YOUR_CCOW_CLIENT_ID",
"CCOW_CLIENT_SECRET": "YOUR_CCOW_CLIENT_SECRET"
}
}
}
}
``nThis snippet shows how to configure the MCP server to run via STDIO using the host’s UV command and environment variables. Follow the concrete steps below to prepare and start the server.
How to install
Prerequisites: ensure you have a compatible MCP host (for example Claude Desktop or Goose Desktop), Python installed (recommended 3.11 or higher), and the UV package manager installed.
Step 1: Install dependencies and set up the environment.
# 1) Install Python (3.11+)
# 2) Install uv (UV package manager)
# 3) Clone the MCP server repository
git clone https://github.com/ComplianceCow/cow-mcp.git
# 4) Change into the repo directory
cd cow-mcp
# 5) Create and activate a virtual environment
uv venv .venv
source .venv/bin/activate
# 6) Install the MCP server package
uv pip install .
This sequence prepares a Python-based environment and installs the ComplianceCow MCP Server package.
Step 2: Configure authentication for your MCP host.
{ "CCOW_HOST": "YOUR_CCOW_HOST", "CCOW_CLIENT_ID": "YOUR_CCOW_CLIENT_ID", "CCOW_CLIENT_SECRET": "YOUR_CCOW_CLIENT_SECRET" }
Store these values securely and reference them in your MCP host configuration.
Step 3: Run the server in STDIO mode using your MCP host’s command. The example below shows how your host launches the server with STDIO transport.
{
"mcpServers": {
"compliancecow": {
"args": [
"--directory",
"PATH_TO_THE_MCP_SERVER_REPO_CLONE",
"run",
"main.py"
],
"command": "UV_BIN_PATH",
"env": {
"CCOW_HOST": "YOUR_CCOW_HOST",
"CCOW_CLIENT_ID": "YOUR_CCOW_CLIENT_ID",
"CCOW_CLIENT_SECRET": "YOUR_CCOW_CLIENT_SECRET"
}
}
}
}
Then start the MCP host to connect to this server.
## Available tools
### list\_all\_assessment\_categories
Get all assessment categories as a list of category objects with id and name.
### list\_assessments
Get all assessments, optionally filtered by category, returning id, name, and category name.
### fetch\_unique\_node\_data\_and\_schema
Fetch unique node data and corresponding schema for a given question.
### execute\_cypher\_query
Execute a Cypher query for a question and transform the result into a human-readable format.
### fetch\_recent\_assessment\_runs
Get recent assessment runs for a given assessment id with details such as id, name, description, status, and dates.