Cursor Integration
Connect your MCP bundles to Cursor to give your AI coding assistant access to external tools and APIs.
Requirements
- Latest Cursor version
- A bundle enabled in your MCPBundles dashboard
- Credentials connected for the providers in your bundle
Time to complete: 2-3 minutes
Step-by-Step Setup
1. Get Your Bundle URL
- Log in to MCPBundles Dashboard
- Click on the bundle you want to use
- Copy the MCP Server URL (looks like
https://mcp.mcpbundles.com/...
)
2. Locate Your MCP Config File
Cursor stores MCP server configuration in .cursor/mcp.json
.
File location by OS:
macOS:
~/.cursor/mcp.json
Windows:
%USERPROFILE%\.cursor\mcp.json
Linux:
~/.cursor/mcp.json
Note: If the file doesn't exist, create it.
3. Edit the Config File
Option A: If file is empty or doesn't exist
Create a new file with this content:
{
"mcpServers": {
"your-bundle-name": {
"url": "https://mcp.mcpbundles.com/bundle/YOUR-BUNDLE-ID"
}
}
}
Option B: If file already has other MCP servers
Add your bundle to the existing mcpServers
object:
{
"mcpServers": {
"existing-server": {
"url": "https://some-other-server.com"
},
"your-bundle-name": {
"url": "https://mcp.mcpbundles.com/bundle/YOUR-BUNDLE-ID"
}
}
}
Replace:
your-bundle-name
- A short identifier (no spaces, e.g.,marketing-automation
)https://mcp.mcpbundles.com/bundle/YOUR-BUNDLE-ID
- Your actual bundle URL from step 1
4. Save and Restart Cursor
- Save the
mcp.json
file - Quit Cursor completely (not just close the window)
- Reopen Cursor
- Wait 10-20 seconds for MCP servers to initialize
5. Verify the Connection
- Open the Cursor command palette (
Cmd/Ctrl + Shift + P
) - Type "MCP" and look for MCP-related commands
- Or simply ask the AI: "What tools do you have access to?"
Expected response:
"I have access to tools from the following MCP servers:
- your-bundle-name: list_campaigns, create_contact, send_message..."
Using Tools in Cursor
Once connected, Cursor can use your tools when relevant to your coding tasks.
Example Prompts
Fetch data for development:
"Get the latest campaign data from Smartlead and create a TypeScript interface for it"
Automate deployment:
"List my GitHub repos, find the one called 'api-server', and check if there are any open PRs"
CRM integration:
"Fetch the latest 10 contacts from HubSpot and generate a SQL migration to import them"
Cursor will call the relevant tools, get real data, and use it in code generation or analysis.
Configuration Examples
Single Bundle (Minimal)
{
"mcpServers": {
"marketing": {
"url": "https://mcp.mcpbundles.com/bundle/abc123"
}
}
}
Multiple Bundles
{
"mcpServers": {
"marketing": {
"url": "https://mcp.mcpbundles.com/bundle/abc123"
},
"dev-tools": {
"url": "https://mcp.mcpbundles.com/bundle/def456"
},
"crm": {
"url": "https://mcp.mcpbundles.com/bundle/ghi789"
}
}
}
Cursor will have access to tools from all bundles simultaneously.
With Other MCP Servers
MCPBundles works alongside other MCP servers:
{
"mcpServers": {
"mcpbundles-marketing": {
"url": "https://mcp.mcpbundles.com/bundle/abc123"
},
"local-filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"]
}
}
}
Troubleshooting
"MCP server connection failed"
Cause: The URL is unreachable or invalid.
Fix:
- Check the URL is exactly as shown in your dashboard (including
https://
) - Verify you have internet connection
- Make sure the bundle is enabled in your dashboard
- Try copying the URL again
Tools don't appear after adding config
Cause: Cursor hasn't reloaded the MCP config.
Fix:
- Quit Cursor completely (not just close window)
- Wait 5 seconds
- Reopen Cursor
- Wait 20 seconds for MCP to initialize
- Try asking "What tools do you have?"
"Authentication required" when calling a tool
Cause: Provider credentials not connected.
Fix:
- Go to Dashboard → Providers
- Find the provider for that tool
- Click Connect and complete OAuth or add API key
- Try the tool again in Cursor
See Provider Credentials Guide.
JSON syntax error in mcp.json
Symptom: Cursor shows "Invalid JSON" or doesn't load any MCP servers.
Common mistakes:
Missing comma:
{
"mcpServers": {
"bundle1": { "url": "..." } // ❌ Missing comma
"bundle2": { "url": "..." }
}
}
Should be:
{
"mcpServers": {
"bundle1": { "url": "..." }, // ✅ Has comma
"bundle2": { "url": "..." }
}
}
Trailing comma:
{
"mcpServers": {
"bundle": { "url": "..." }, // ❌ Trailing comma
}
}
Should be:
{
"mcpServers": {
"bundle": { "url": "..." } // ✅ No trailing comma
}
}
Fix: Use a JSON validator or VS Code to check syntax.
Bundle shows "Needs Credentials" in dashboard
Cause: Providers not connected.
Fix:
- Dashboard → Bundles → [Your Bundle]
- Look for red "Not Connected" badges on providers
- Click Connect on each provider
- Complete OAuth or enter API key
- Wait for verification
- Bundle status should become "Operational"
Tools work but return empty data
Cause: Connected to the wrong account or no data exists.
Fix:
- Dashboard → Providers → [Provider Name]
- Check which account is connected (shown in provider details)
- If wrong account, click Reconnect and use correct account
- Verify data exists in the provider's actual app (e.g., log in to Smartlead and check campaigns exist)
Advanced Configuration
Environment Variables
You can use environment variables in mcp.json
:
{
"mcpServers": {
"marketing": {
"url": "${MCP_BUNDLE_URL}"
}
}
}
Then set MCP_BUNDLE_URL
in your shell:
export MCP_BUNDLE_URL="https://mcp.mcpbundles.com/bundle/abc123"
Useful for:
- Sharing config across team members
- Switching between staging/production bundles
- Keeping secrets out of version control
Per-Project Configuration
You can also create a workspace-specific config:
.cursor/mcp.json
in your project root
Cursor will use this instead of the global one when the project is open.
Useful for:
- Different bundles per project
- Team-shared MCP configurations
- Project-specific tool access
Cursor-Specific Features
Tool Call Visibility
Cursor shows tool calls in the chat:
- Tool name and parameters used
- Results returned
- Errors if any
Useful for debugging when tools don't behave as expected.
Context Awareness
Cursor automatically uses tools based on:
- Current file content
- Selected code
- Recent edits
- Open files
Example: If you have a campaigns.ts
file open and ask "update this", Cursor might call list_campaigns
to get current data.
Code Generation with Live Data
Cursor can:
- Call a tool to get real data
- Inspect the structure
- Generate TypeScript interfaces
- Create mock data based on real examples
- Write API client code that matches actual endpoints
This is more accurate than hallucinated code.
Limitations
Cursor MCP Constraints
- Concurrent tool calls: Limited by Cursor's rate limits
- Large responses: Might be truncated if tool returns massive JSON
- Internet required: Tools need network access
Bundle Readiness
Cursor can only use tools from bundles that are:
- Operational (all providers connected)
- Partially Operational (some tools work)
If bundle is "Blocked", connect credentials first.
Tips & Best Practices
Naming Bundles
Use descriptive, short names without spaces:
- ✅
marketing-automation
- ✅
dev-tools
- ✅
crm-suite
- ❌
my bundle with spaces
- ❌
bundle-123-abc-xyz-really-long-name
Multiple Bundles vs Combined Bundle
Use multiple bundles when:
- Different projects need different tools
- You want to limit tool access per workspace
Use one combined bundle when:
- You use the same tools across all projects
- Simpler configuration
Testing New Bundles
Before adding to your main config:
- Test in a separate Cursor window
- Verify tools work
- Check credentials are correct
- Then add to main config
Next Steps
- Browse Bundles - Explore available bundles
- Connect Credentials - Set up authentication
- Troubleshooting Guide - Fix issues
- FAQ - Common questions
Need Help?
- Not working? See Troubleshooting
- Questions? Check the FAQ
- Support: Email help@mcpbundles.com