Skip to content About The people and vision powering Probo Blog The latest news from Probo Stories Hear from our customers Pricing Plans and pricing for Probo 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

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?