Authentication
The Probo MCP Server uses Bearer token authentication. Generate a token from your Probo instance and include it in the Authorization header.
How It Works
Section titled “How It Works”- Generate an API token from your Probo instance
- Add the token to your MCP client configuration
- The token is sent via the
Authorizationheader with each request
Generating API Tokens
Section titled “Generating API Tokens”- Log into your Probo web interface
- Navigate to Settings → API Tokens
- Click “Generate New Token”
- Give your token a descriptive name
- Copy the token immediately
Configuration
Section titled “Configuration”HTTP Header Format
Section titled “HTTP Header Format”The token must be sent with every request using the Authorization header:
Authorization: Bearer your_api_token_hereMCP Client Configuration
Section titled “MCP Client Configuration”Add the token to your MCP client configuration:
{ "mcpServers": { "probo": { "url": "https://your-probo-instance.com/api/mcp/v1", "headers": { "Authorization": "Bearer your_api_token_here" } } }}Using Environment Variables
Section titled “Using Environment Variables”For better security, store tokens in environment variables:
Configuration file:
{ "mcpServers": { "probo": { "url": "https://your-probo-instance.com/api/mcp/v1", "headers": { "Authorization": "Bearer ${PROBO_API_TOKEN}" } } }}Environment:
export PROBO_API_TOKEN="your_api_token_here"Token Permissions
Section titled “Token Permissions”Inherited Permissions
Section titled “Inherited Permissions”API tokens inherit the permissions of the user who created them:
- Organization Access: Tokens can only access organizations you have permission to view
- Role-Based Access: Your role (admin, member, viewer) determines what operations you can perform
- Scope Limitations: Tokens have the same access level as the user account
Read vs Write Operations
Section titled “Read vs Write Operations”Tools are categorized by their operation type:
Read-Only Tools:
listOrganizations,listVendors,listPeoplegetRisk,getMeasure,getFramework- All
list*andget*operations
Write Tools:
addVendor,updateVendoraddRisk,updateRisk- All
add*andupdate*operations
Users with viewer roles can only use read-only tools.
Token Management
Section titled “Token Management”Viewing Active Tokens
Section titled “Viewing Active Tokens”See all your active tokens in Settings → API Tokens:
- Token name and description
- Creation date
- Last used timestamp
- Usage statistics
Revoking Tokens
Section titled “Revoking Tokens”Immediately disable a token:
- Go to Settings → API Tokens
- Find the token to revoke
- Click “Revoke”
- Confirm the action
Revoked tokens cannot be restored - you’ll need to create a new one.
Rotating Tokens
Section titled “Rotating Tokens”To rotate a token without service interruption:
- Generate a new token with a different name
- Update your configurations to use the new token
- Test the new token to ensure it works
- Revoke the old token once migration is complete
Security Best Practices
Section titled “Security Best Practices”Storage
Section titled “Storage”- Do: Store tokens in environment variables or secure secret management systems
- Do: Use configuration management tools (e.g., HashiCorp Vault, AWS Secrets Manager)
- Don’t: Commit tokens to version control
- Don’t: Share tokens in chat messages or emails
- Don’t: Store tokens in plain text files
Transmission
Section titled “Transmission”- Do: Always use HTTPS in production environments
- Do: Verify SSL/TLS certificates
- Don’t: Use HTTP for production traffic
- Don’t: Disable certificate verification
Token Lifecycle
Section titled “Token Lifecycle”- Do: Rotate tokens regularly (every 90 days recommended)
- Do: Revoke tokens immediately if compromised
- Do: Create separate tokens for different environments (dev, staging, prod)
- Do: Use descriptive names to track token usage
- Don’t: Reuse tokens across multiple applications
- Don’t: Keep inactive tokens enabled
Monitoring
Section titled “Monitoring”- Do: Review API access logs regularly
- Do: Monitor for unusual token usage patterns
- Do: Set up alerts for failed authentication attempts
- Do: Track which tokens are being used actively
Troubleshooting
Section titled “Troubleshooting”Authentication Failed
Section titled “Authentication Failed”Error: 401 Unauthorized
Possible causes:
- Token is invalid or has been revoked
- Token is missing from the request
- Wrong token format in the Authorization header
Solutions:
- Verify the token is correct
- Check the Authorization header format:
Bearer YOUR_TOKEN - Generate a new token if the old one was revoked
- Ensure there are no extra spaces or newlines in the token
Permission Denied
Section titled “Permission Denied”Error: 403 Forbidden
Possible causes:
- Token doesn’t have permission for the requested operation
- Organization access is restricted
- User role doesn’t allow the operation
Solutions:
- Verify your user role in the organization
- Check if the organization ID is correct
- Ensure you’re using a write tool with appropriate permissions
- Contact your organization admin for access
Token Not Found
Section titled “Token Not Found”Error: Token not appearing in API calls
Possible causes:
- Environment variable not set correctly
- Configuration file not loaded
- MCP client not reading headers
Solutions:
- Verify environment variable is exported:
echo $PROBO_API_TOKEN - Check configuration file syntax is valid JSON
- Restart your MCP client after configuration changes
- Check MCP client logs for configuration errors
Testing Authentication
Section titled “Testing Authentication”Using curl
Section titled “Using curl”Test your token with curl:
curl -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ https://your-probo-instance.com/api/mcp/v1/healthExpected response:
{ "status": "ok"}Using MCP Client
Section titled “Using MCP Client”Test within your MCP client:
You: "List all organizations I have access to"
AI: [Uses listOrganizations tool]If authentication works, you’ll see your organizations. If it fails, you’ll see an error message.
Security Considerations
Section titled “Security Considerations”Token Exposure
Section titled “Token Exposure”If a token is exposed:
- Revoke immediately in Settings → API Tokens
- Generate a new token with a different name
- Update all configurations with the new token
- Review access logs for unauthorized usage
- Investigate how the exposure occurred