Skip to content About The people and vision powering Probo Blog The latest news from Probo Stories Hear from our customers Docs Documentation for Probo GitHub Explore our open-source compliance tools

Cursor Configuration

This guide shows you how to configure the Probo MCP Server with Cursor, the AI-powered code editor, enabling AI to interact with your compliance data while you code.

  • Cursor IDE installed (available at cursor.com)
  • A running Probo instance with API access
  • API token from your Probo instance

Click the button below to automatically install the Probo MCP server in Cursor. You’ll need to replace YOUR_PROBO_INSTANCE with your actual instance URL and YOUR_API_TOKEN with your token.

Add to Cursor

First, generate an API token from your Probo instance:

  1. Log into your Probo web interface
  2. Navigate to Settings → API Tokens
  3. Click “Generate New Token”
  4. Copy the token - you’ll need it for configuration

Cursor stores MCP server configurations in the Cursor settings directory.

macOS/Linux:

Terminal window
~/.cursor/mcp_config.json

Windows:

Terminal window
%USERPROFILE%\.cursor\mcp_config.json

If the file doesn’t exist, create it.

Add the Probo MCP server to your Cursor configuration:

{
"mcpServers": {
"probo": {
"url": "https://your-probo-instance.com/api/mcp/v1",
"headers": {
"Authorization": "Bearer your_api_token_here"
}
}
}
}

Replace:

  • https://your-probo-instance.com/api/mcp/v1 with your Probo instance URL
  • your_api_token_here with the API token you generated

After saving the configuration:

  1. Close Cursor completely (Cmd+Q on macOS, Alt+F4 on Windows)
  2. Restart Cursor
  3. The Probo MCP server will be loaded automatically

Open Cursor Chat (Cmd+L on macOS, Ctrl+L on Windows) and interact with your compliance data:

You: "List all high-priority risks in my organization"
Cursor: I'll fetch the risks from Probo.
[Uses listRisks tool]
Here are the high-priority risks:
1. Data breach from vendor systems (Risk Score: 20)
2. Inadequate access controls (Risk Score: 18)
...

Use Cursor’s inline chat (Cmd+K) while editing code:

# You're editing a script
def generate_compliance_report():
# Cmd+K: "Fetch all open nonconformities from Probo"
# Cursor generates code using Probo MCP API

When working across multiple files:

You: "Create a risk assessment report using data from Probo"
Cursor:
[Uses listRisks, listMeasures, and other tools]
[Generates markdown report with current compliance status]

Create a .cursor/mcp_config.json file in your project root for project-specific settings:

{
"mcpServers": {
"probo": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch", "${PROBO_PROJECT_URL}/api/mcp"],
"env": {
"PROBO_API_TOKEN": "${PROBO_PROJECT_TOKEN}"
}
}
}
}

Then set environment variables in your project:

Terminal window
# .env file
PROBO_PROJECT_URL=https://project.probo.com
PROBO_PROJECT_TOKEN=your_project_token

Generate compliance documentation automatically:

You: "Create a vendor risk assessment document for CloudStorage Inc"
Cursor:
[Fetches vendor details from Probo]
[Generates formatted document with risk analysis]

Add compliance-aware comments to your code:

# Cmd+K: "Add a compliance note about data handling"
# Cursor adds:
# COMPLIANCE NOTE: This function processes sensitive customer data (PII)
# Probo Classification: CONFIDENTIAL
# Associated Risks: Risk_xxx, Risk_yyy
# Required Controls: Encryption at rest, Access logging

Generate scripts that interact with Probo:

You: "Write a Python script to export all risks to CSV"
Cursor:
[Generates complete script using Probo MCP API]

Create compliance check scripts:

// Cmd+K: "Create a function to check if all critical vendors have recent reviews"
// Cursor generates:
async function checkVendorReviews() {
// Uses Probo MCP listVendors tool
// Checks last review dates
// Returns vendors needing review
}

Configure multiple environments:

{
"mcpServers": {
"probo-dev": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch", "http://localhost:8080/api/mcp"],
"env": {
"PROBO_API_TOKEN": "${PROBO_DEV_TOKEN}"
},
"description": "Probo Development"
},
"probo-prod": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch", "https://probo.company.com/api/mcp"],
"env": {
"PROBO_API_TOKEN": "${PROBO_PROD_TOKEN}"
},
"description": "Probo Production"
}
}
}

Create Cursor commands that use Probo:

  1. Open Cursor Settings (Cmd+, or Ctrl+,)
  2. Go to “Features” → “Custom Commands”
  3. Add a new command:
{
"name": "Fetch Compliance Status",
"description": "Get current compliance status from Probo",
"prompt": "Using the Probo MCP server, fetch and summarize: 1) Number of open risks, 2) Compliance measure status, 3) Overdue obligations"
}

Configure Cursor workspace settings for compliance projects:

Create .vscode/settings.json (Cursor uses VS Code format):

{
"cursor.mcp.enabled": true,
"cursor.mcp.autoLoadServers": true,
"cursor.chat.welcomeMessage": "I can help with compliance management using Probo. Try: 'List all vendors' or 'Show high-priority risks'"
}
// Cmd+L: "Create a React component that displays Probo risks"
// Cursor generates:
import { useEffect, useState } from 'react';
function RiskDashboard() {
const [risks, setRisks] = useState([]);
useEffect(() => {
// Fetch risks from Probo
fetchRisks();
}, []);
// Component implementation using Probo data...
}
// Cmd+K: "Generate a TypeScript client for Probo MCP"
// Cursor creates a complete typed client:
class ProboClient {
private baseUrl: string;
private token: string;
async listRisks(organizationId: string): Promise<Risk[]> {
// Implementation using Probo MCP
}
async addVendor(data: AddVendorInput): Promise<Vendor> {
// Implementation
}
}
# Cmd+K: "Generate tests that verify compliance data integrity"
# Cursor creates:
import unittest
from probo_client import ProboClient
class TestComplianceData(unittest.TestCase):
def test_all_vendors_have_reviews(self):
# Test using Probo MCP
pass
def test_high_risks_have_mitigations(self):
# Test using Probo MCP
pass

Useful Cursor shortcuts when working with Probo:

  • Cmd+L / Ctrl+L: Open Cursor Chat
  • Cmd+K / Ctrl+K: Inline code generation
  • Cmd+Shift+L / Ctrl+Shift+L: Open chat in sidebar
  • Cmd+I / Ctrl+I: Ask about selection
  • Cmd+. / Ctrl+.: Quick actions

Check if the server is configured correctly:

  1. Open Cursor Settings (Cmd+, or Ctrl+,)
  2. Search for “MCP”
  3. Check “Developer Tools” → “Console” for errors
  4. Look at logs in ~/.cursor/logs/mcp-*.log

Verify connectivity:

Terminal window
# Test Probo MCP endpoint
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://your-probo-instance.com/api/mcp/health

If you see authentication errors:

  1. Verify the token in your configuration
  2. Check token hasn’t expired
  3. Ensure the PROBO_API_TOKEN env variable is set
  4. Test token with curl:
    Terminal window
    curl -H "Authorization: Bearer YOUR_TOKEN" \
    https://your-probo-instance.com/api/mcp/tools/listOrganizations

If configuration changes aren’t applying:

Terminal window
# macOS/Linux
rm -rf ~/.cursor/cache/mcp
# Windows
rmdir /s /q %USERPROFILE%\.cursor\cache\mcp

Then restart Cursor.

  1. Use environment variables for tokens:

    {
    "env": {
    "PROBO_API_TOKEN": "${PROBO_TOKEN}"
    }
    }
  2. Don’t commit tokens to version control:

    .gitignore
    .cursor/mcp_config.json
    .env
  3. Use HTTPS for production instances

  4. Rotate tokens regularly

  5. Set appropriate file permissions:

    Terminal window
    chmod 600 ~/.cursor/mcp_config.json
  6. Review generated code before committing

Create snippets for common queries:

// In Cursor Settings → Snippets
{
"Check High Risks": {
"prefix": "@risks-high",
"body": "Show me all risks with residual score above 15 from Probo"
},
"Vendor Review Status": {
"prefix": "@vendors-review",
"body": "List all vendors and their last review dates from Probo"
}
}

Have Cursor check compliance as you code:

You: "Review this data processing function for compliance issues"
Cursor:
[Analyzes code]
[Checks against Probo risk database]
[Suggests compliance controls]

Auto-generate compliance documentation:

You: "Create a SOC 2 control matrix using current Probo data"
Cursor:
[Fetches measures, risks, and frameworks from Probo]
[Generates formatted matrix document]

Need help with Cursor configuration?