MCP Server Integrations
Status: Production-ready configurationLast Updated: 2025-12-25
Aligned with: CLAUDE.md Project Values
Table of Contents
- Overview
- Vercel MCP ⭐ NEW
- Sentry MCP
- GitHub MCP
- Intercom MCP
- Supabase MCP
- Configuration
- Troubleshooting
Overview
This project uses 5 Model Context Protocol (MCP) servers to enable AI agents to interact with external services:- Vercel - Deployment management, logs, domains, and environment variables ⭐ NEW
- Sentry - Error monitoring and issue tracking
- GitHub - Repository management and PR automation
- Intercom - Customer support and user communication
- Supabase - Database queries and project management
~/.cursor/mcp.json (global) or .cursor/mcp.json (project)
Authentication: All servers use secrets from Cursor Cloud Agent Secrets (see Environment Management)
Vercel MCP
Purpose
Deployment management, build logs, domain configuration, environment variables, and project insights for deep Vercel integration.Capabilities
- List and manage deployments (preview, production)
- Access build logs and deployment status
- Manage environment variables
- Configure domains and aliases
- Monitor project health and performance
- Rollback deployments
- Access deployment previews and URLs
Authentication
Secret:VERCEL_ACCESS_TOKEN
Setup:
- Go to: https://vercel.com/account/tokens
- Click “Create Token”
- Name: “Sanctiv MCP - Full Access”
- Select scope: “Full Account” (recommended) or specific team
- Set expiration (recommended: no expiration for CI/CD)
- Copy token
- Add to Cursor Cloud Agent Secrets as
VERCEL_ACCESS_TOKEN
Usage Examples
Integration Benefits
With Vercel MCP, agents can:- Debug deployment failures - Access full build logs and error messages
- Manage environments - View and understand environment variable configuration
- Monitor deployments - Check deployment status and health
- Understand infrastructure - See domain configuration and routing
Related Documentation
- Vercel Setup Guide - Complete setup instructions for AI agents
- Vercel Dashboard - Web interface
- CI/CD Architecture - How Vercel fits in the pipeline
- Dashboard App - Next.js app deployed to Vercel
Sentry MCP
Purpose
Error monitoring, issue tracking, and release management for debugging and quality assurance.Capabilities
- Query Sentry issues and events in real-time
- Analyze errors with AI-powered root cause analysis
- Get fix recommendations from Sentry’s Seer AI
- Monitor release health and trends
- Access error context and stack traces
Authentication
Secret:SENTRY_AUTH_TOKEN
Setup:
- Go to: https://sentry.io/settings/account/api/auth-tokens/
- Click “Create New Token”
- Name: “Sanctiv MCP - Full Access”
- Select scopes:
org:read,project:read,event:read,project:releases - Copy token (format:
sntryu_...) - Add to Cursor Cloud Agent Secrets as
SENTRY_AUTH_TOKEN
sntryu_...) recommended for full access
Usage Examples
Related Documentation
- Sentry Integration - Complete Sentry setup guide
- Error Monitoring - CLI tools and verification
GitHub MCP
Purpose
Repository management, pull request automation, issue tracking, and code review assistance.Capabilities
- List and search repositories
- Create and manage pull requests
- Query and create issues
- Manage repository settings
- Code review automation
- Branch management
Authentication
Secret:GITHUB_PERSONAL_ACCESS_TOKEN
Setup:
- Go to: https://github.com/settings/tokens
- Click “Generate new token” → “Generate new token (classic)”
- Name: “Sanctiv MCP - Repository Access”
- Select scopes:
repo(Full control of private repositories)read:org(Read org membership)read:user(Read user profile data)
- Generate and copy token
- Add to Cursor Cloud Agent Secrets as
GITHUB_PERSONAL_ACCESS_TOKEN
gh) authenticated, you can use:
Usage Examples
Related Documentation
- GitHub CLI Setup - CLI authentication
- CI/CD Setup - GitHub Actions integration
Intercom MCP
Purpose
Customer support, user communication, and support ticket management for B2B customer success.Capabilities
- Query customer conversations
- Access user data and attributes
- Manage support tickets
- Search conversations and contacts
- Better context for debugging user issues
- Access user activity and engagement data
Authentication
Secret:INTERCOM_ACCESS_TOKEN
Setup:
- Go to Intercom Settings:
- Click your avatar (bottom-left) → Settings
- Navigate to Developer Hub (or go directly: https://app.intercom.com/a/apps/_/developer)
- In Developer Hub:
- Go to Your Apps section
- If you don’t have an app, click New App to create one
- Name it: “Sanctiv MCP - Support Access”
- Select your workspace
- Click Create app
- Get Access Token:
- In your app, go to Configure → Authentication
- You’ll find your Access Token here
- Copy the token
- Add to Cursor Cloud Agent Secrets as
INTERCOM_ACCESS_TOKEN
EXPO_PUBLIC_INTERCOM_*). The MCP server needs an API Access Token from Developer Hub, not SDK keys from Install settings.
Usage Examples
Related Documentation
- Intercom Integration - Complete Intercom setup guide
- Customer Support - Mobile app integration
Supabase MCP
Purpose
Database queries, schema management, and project information access for backend operations.Capabilities
- Query Supabase databases
- Manage database schemas
- Access project information
- Execute SQL queries (with proper permissions)
- Monitor database health
Authentication
Secrets:SUPABASE_ACCESS_TOKEN and SUPABASE_PROJECT_REF
Setup:
-
Get Access Token:
- Go to: https://supabase.com/dashboard/account/tokens
- Click “Generate New Token”
- Name: “Sanctiv MCP - Database Access”
- Copy token
- Add to Cursor Cloud Agent Secrets as
SUPABASE_ACCESS_TOKEN
-
Get Project Reference:
- Go to: Supabase Dashboard → Your Project → Settings → General
- Find “Reference ID” (e.g.,
qpviktnoleojfskietat) - Add to Cursor Cloud Agent Secrets as
SUPABASE_PROJECT_REF
Usage Examples
Related Documentation
- Supabase Reference - Complete Supabase guide
- Multi-Tenant Architecture - RLS policies
- Edge Functions - Supabase functions
Configuration
MCP Server Configuration
All MCP servers are configured in~/.cursor/mcp.json (global configuration):
Secret Management
All secrets are managed via Cursor Cloud Agent Secrets:| Secret | Service | Purpose |
|---|---|---|
VERCEL_ACCESS_TOKEN | Vercel | Deployment management |
SENTRY_AUTH_TOKEN | Sentry | Error monitoring |
GITHUB_PERSONAL_ACCESS_TOKEN | GitHub | Repository access |
INTERCOM_ACCESS_TOKEN | Intercom | Customer support |
SUPABASE_ACCESS_TOKEN | Supabase | Database access |
SUPABASE_PROJECT_REF | Supabase | Project identifier |
- Open Cursor Settings → Cloud Agents → Secrets
- Add each secret listed above
- Restart Cursor to load MCP servers
Troubleshooting
MCP Server Not Loading
Symptoms: MCP server doesn’t appear in Cursor chat Solutions:- Verify
.cursor/mcp.jsonexists and is valid JSON - Check secrets are set in Cursor Cloud Agent Secrets
- Restart Cursor IDE completely
- Check Cursor logs for MCP server errors
Authentication Errors
Symptoms: MCP server reports authentication failures Solutions:- Verify token is correct (no extra spaces, full token copied)
- Check token hasn’t expired (regenerate if needed)
- Verify token has correct scopes/permissions
- For GitHub: Ensure token has
reposcope for private repos - For Intercom: Ensure using Access Token, not SDK key
Package Not Found Errors
Symptoms:npx can’t find MCP server package
Solutions:
- Verify package name is correct in
.cursor/mcp.json - Check npm registry is accessible
- Try running manually:
npx -y @sentry/mcp-server(replace with your server) - Check package exists on npm: https://www.npmjs.com/
Supabase Connection Issues
Symptoms: Supabase MCP can’t connect to database Solutions:- Verify
SUPABASE_PROJECT_REFis correct (not project URL) - Check
SUPABASE_ACCESS_TOKENis valid account token - Ensure project is active in Supabase Dashboard
- Verify RLS policies allow access (if querying data)
Vercel Connection Issues
Symptoms: Vercel MCP can’t access deployments or projects Solutions:- Verify
VERCEL_ACCESS_TOKENis correct (alphanumeric token) - Check token has “Full Account” scope or correct team access
- Ensure token hasn’t expired (check token settings)
- Verify you have access to the specific project/team
- Try running manually:
npx -y @robinson_ai_systems/vercel-mcpto test
- “Unauthorized” error - Token is invalid or expired
- “Project not found” - Check project name matches exactly
- “Rate limited” - Vercel API has rate limits; wait and retry
- Build logs empty - Deployment may still be in progress
Best Practices
Verify-Then-Rube Pattern (CRITICAL for Rube/Composio)
Problem: When using Rube/Composio for GitHub PR operations, agents may fetch data from the wrong PR if they rely on conversation history or assumptions. Pattern: Always verify context before executing Rube tools.| Rube Tool | Requires Verify-Then-Rube? |
|---|---|
GITHUB_LIST_REVIEW_COMMENTS_ON_A_PULL_REQUEST | ✅ Yes |
GITHUB_LIST_REVIEWS_FOR_A_PULL_REQUEST | ✅ Yes |
GITHUB_LIST_ISSUE_COMMENTS | ✅ Yes |
GITHUB_GET_PULL_REQUEST | ✅ Yes |
SUPABASE_BETA_RUN_SQL_QUERY | ⚠️ Only if querying PR-specific data |
docs/philosophy/lessons-learned.yaml Lesson #17.
Integration with /ship workflow: The ship.yaml workflow now includes a verify_pr_context step in Phase 1 that validates the PR number before fetching comments.
Resolving PR Comment Threads via GraphQL
Capability: ✅ Rube CAN resolve PR review threads usingGITHUB_RUN_GRAPH_QL_QUERY!
How it works:
- Get thread IDs (not comment IDs!) using GraphQL query:
- Resolve thread using mutation with
PRRT_thread ID:
| ID Prefix | Type | Use For |
|---|---|---|
PRRT_ | Review Thread | resolveReviewThread mutation |
PRRC_ | Review Comment | GITHUB_CREATE_A_REPLY_FOR_A_REVIEW_COMMENT |
- Fix the issue in code
- Get thread ID via GraphQL query (look for
PRRT_prefix) - Resolve thread via GraphQL mutation
- (Optional) Reply to comment with ”✅ Fixed in commit xyz”
pullRequest(number: 291) instead of pullRequest(number: $number)).
Full-Fetch Pattern for PR Comments (Lesson #18)
Problem: Using defaultper_page values (often 10 or 30) when fetching PR comments causes agents to miss comments, leading to incomplete reviews.
Pattern: Always use per_page: 100 (maximum) when fetching PR comments.
per_page: 100:
| Tool | Default | Risk |
|---|---|---|
GITHUB_LIST_REVIEW_COMMENTS_ON_A_PULL_REQUEST | 30 | Miss later comments |
GITHUB_LIST_REVIEWS_FOR_A_PULL_REQUEST | 30 | Miss reviews |
GITHUB_LIST_ISSUE_COMMENTS | 30 | Miss comments |
GITHUB_LIST_COMMITS | 30 | Miss commits |
per_page: 10 and saw only 10/38 comments, missing the DEFAULT_ORG_ID violation entirely. See docs/philosophy/lessons-learned.yaml Lesson #18.
Security
- ✅ Use minimum required scopes for tokens
- ✅ Rotate tokens periodically
- ✅ Use read-only tokens when possible (Supabase)
- ✅ Never commit tokens to git
- ✅ Use Cursor Cloud Agent Secrets (not local files)
Performance
- ✅ MCP servers are loaded on Cursor startup
- ✅ Unused servers can be removed from
mcp.jsonto reduce startup time - ✅ Queries are cached by MCP servers when possible
Maintenance
- ✅ Keep MCP server packages updated (
npx -yuses latest) - ✅ Monitor token expiration dates
- ✅ Review MCP server logs for errors
- ✅ Test MCP functionality after token rotation
Related Documentation
- Cursor Configuration - Complete Cursor setup
- Environment Management - Secret management
- Setup Guide - Initial setup workflow
Maintained by: All contributors
Review frequency: After any MCP server changes
Last audit: 2026-01-06