Skip to main content

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

  1. Log in to MCPBundles Dashboard
  2. Click on the bundle you want to use
  3. 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

  1. Save the mcp.json file
  2. Quit Cursor completely (not just close the window)
  3. Reopen Cursor
  4. Wait 10-20 seconds for MCP servers to initialize

5. Verify the Connection

  1. Open the Cursor command palette (Cmd/Ctrl + Shift + P)
  2. Type "MCP" and look for MCP-related commands
  3. 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:

  1. Quit Cursor completely (not just close window)
  2. Wait 5 seconds
  3. Reopen Cursor
  4. Wait 20 seconds for MCP to initialize
  5. Try asking "What tools do you have?"

"Authentication required" when calling a tool

Cause: Provider credentials not connected.

Fix:

  1. Go to Dashboard → Providers
  2. Find the provider for that tool
  3. Click Connect and complete OAuth or add API key
  4. 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:

  1. Dashboard → Bundles → [Your Bundle]
  2. Look for red "Not Connected" badges on providers
  3. Click Connect on each provider
  4. Complete OAuth or enter API key
  5. Wait for verification
  6. Bundle status should become "Operational"

Tools work but return empty data

Cause: Connected to the wrong account or no data exists.

Fix:

  1. Dashboard → Providers → [Provider Name]
  2. Check which account is connected (shown in provider details)
  3. If wrong account, click Reconnect and use correct account
  4. 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:

  1. Call a tool to get real data
  2. Inspect the structure
  3. Generate TypeScript interfaces
  4. Create mock data based on real examples
  5. 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:

  1. Test in a separate Cursor window
  2. Verify tools work
  3. Check credentials are correct
  4. Then add to main config

Next Steps


Need Help?