Skip to main content
Glama
blackpwnguin

Claude Code MCP for Cursor

by blackpwnguin
README.md
# Claude Code MCP for Cursor

Use your existing Claude subscription ($20/month) with Cursor IDE instead of paying separate API costs.

## ๐ŸŽฏ What This Does

This MCP (Model Context Protocol) server bridges **Claude Code CLI** with **Cursor IDE**, allowing you to:

- โœ… Use your existing **$20/month Claude subscription** in Cursor
- โœ… Avoid separate **pay-per-use API billing**
- โœ… Keep your Claude usage within your monthly plan limits
- โœ… Get the same Claude experience directly in your IDE

## ๐Ÿ’ฐ Cost Benefits

| Method | Cost Structure | Monthly Estimate* |
|--------|---------------|-------------------|
| **This MCP Bridge** | $20/month (your existing plan) | **$20** |
| **Direct API** | Pay-per-token usage | $30-100+ |

*Estimates vary based on usage patterns

## ๐Ÿ”ง Prerequisites

1. **Claude Code CLI** installed and authenticated
   ```bash
   # Install Claude Code (if not already installed)
   curl -fsSL https://claude.ai/install.sh | bash
   
   # Verify it works
   claude chat "Hello"
   ```

2. **Cursor IDE** with MCP support
3. **Node.js** installed on your system

## ๐Ÿ“ฆ Installation

### Step 1: Clone this repository

```bash
git clone https://github.com/Blackpenguin46/Claude-Code-MCP-for-Cursor.git
cd Claude-Code-MCP-for-Cursor
```

### Step 2: Set up the MCP server in your project

Copy the files to your project directory:

```bash
# Copy the MCP server to your project root
cp claude-mcp-server.js /path/to/your/project/

# Create the .cursor directory if it doesn't exist
mkdir -p /path/to/your/project/.cursor

# Copy the MCP configuration
cp mcp.json /path/to/your/project/.cursor/
```

Your project structure should look like:
```
your-project/
โ”œโ”€โ”€ .cursor/
โ”‚   โ””โ”€โ”€ mcp.json
โ”œโ”€โ”€ claude-mcp-server.js
โ””โ”€โ”€ (your other project files)
```

### Step 3: Configure Cursor

1. Open Cursor
2. Go to **Settings** โ†’ **Tools & Integrations** โ†’ **MCP Tools**
3. You should see "claude-code" in the MCP Tools section
4. Make sure the toggle is **enabled** (green)
5. Verify it shows "**1 tools enabled**" (not "0 tools enabled")

If you see "0 tools enabled":
- Restart Cursor completely
- Check that files are in the correct locations
- Ensure `claude-mcp-server.js` is executable: `chmod +x claude-mcp-server.js`

## ๐Ÿงช Testing

Test that everything works:

1. **Test Claude Code directly:**
   ```bash
   claude chat "What is 2+2?"
   ```

2. **Test the MCP server:**
   ```bash
   cd your-project
   node claude-mcp-server.js
   ```
   
   Then paste this JSON and press Enter:
   ```json
   {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"claude_chat","arguments":{"message":"What is 2+2?"}}}
   ```
   
   You should see a response like:
   ```json
   {"jsonrpc":"2.0","id":3,"result":{"content":[{"type":"text","text":"4"}]}}
   ```

3. **Test in Cursor:**
   - Open a chat in Cursor
   - Ask Claude a question
   - Verify the response comes from your Claude Code subscription

## ๐Ÿ” How It Works

```mermaid
graph LR
    A[Cursor IDE] --> B[MCP Server]
    B --> C[Claude Code CLI]
    C --> D[Your $20 Subscription]
    D --> E[Claude API]
    E --> D
    D --> C
    C --> B
    B --> A
```

1. **Cursor** sends chat requests to the MCP server
2. **MCP Server** translates requests to Claude Code CLI commands
3. **Claude Code** uses your existing subscription to contact Claude
4. **Response** flows back through the chain to Cursor

## ๐Ÿ“ File Descriptions

### `claude-mcp-server.js`
The main MCP server that bridges Cursor and Claude Code. Handles:
- JSON-RPC protocol for MCP communication
- Spawning Claude Code processes
- Response cleaning and formatting
- Error handling and timeouts

### `.cursor/mcp.json`
Cursor's MCP configuration file that tells Cursor how to connect to the server:
```json
{
  "mcpServers": {
    "claude-code": {
      "command": "node",
      "args": ["claude-mcp-server.js"],
      "env": {}
    }
  }
}
```

## ๐Ÿšจ Troubleshooting

### "0 tools enabled" in Cursor
- Ensure files are in correct locations
- Restart Cursor completely
- Check file permissions: `chmod +x claude-mcp-server.js`
- Verify Claude Code works: `claude chat "test"`

### MCP server hangs or errors
- Test Claude Code independently first
- Check that you're authenticated with Claude Code
- Verify Node.js is installed and working
- Look at Cursor's developer console for errors

### "Claude Code error" messages
- Ensure Claude Code is properly installed and authenticated
- Check your Claude subscription status
- Verify you haven't exceeded usage limits

## ๐Ÿ”„ Usage Patterns

### Best Practices
- **Development work**: Perfect for code review, debugging, refactoring
- **Documentation**: Great for generating comments and documentation
- **Learning**: Ideal for understanding new codebases or technologies

### What Counts Against Your Limits
- Each message sent through Cursor counts against your $20/month plan limits
- Same usage tracking as using Claude Code directly in terminal
- Monitor your usage in Claude's web interface

## ๐ŸŽ Benefits Over Direct API

| Feature | MCP Bridge | Direct API |
|---------|------------|------------|
| **Cost Predictability** | โœ… Fixed $20/month | โŒ Variable usage costs |
| **Usage Limits** | โœ… Clear monthly limits | โŒ Surprise bills possible |
| **Setup Complexity** | โš ๏ธ Initial setup required | โœ… Simple API key |
| **Claude Code Integration** | โœ… Uses existing auth | โŒ Separate billing |

## ๐Ÿค Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request

## ๐Ÿ“„ License

MIT License - feel free to use and modify as needed.

## โšก Quick Start Summary

```bash
# 1. Clone repo
git clone https://github.com/Blackpenguin46/Claude-Code-MCP-for-Cursor.git

# 2. Copy files to your project
cp claude-mcp-server.js /path/to/project/
mkdir -p /path/to/project/.cursor
cp mcp.json /path/to/project/.cursor/

# 3. Test
claude chat "Hello"  # Verify Claude Code works
node claude-mcp-server.js  # Test MCP server

# 4. Restart Cursor and check MCP Tools section
```

---

**๐Ÿ’ก Pro Tip**: This setup is perfect for developers who use Claude regularly for coding tasks and want predictable monthly costs instead of surprise API bills!

TDQS

B3.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The single tool has a clearly distinct purpose.

Naming Consistency5/5

A single tool named 'claude_chat' follows a consistent verb_noun pattern in snake_case. No inconsistencies exist.

Tool Count2/5

One tool for a chat interaction is too few; typical chat servers would include tools for getting responses, managing history, or configuring context. This feels incomplete for the domain.

Completeness2/5

The server only offers a 'send message' action. There is no way to retrieve responses, manage conversation state, or clear history, which are obvious gaps for a chat interface.

Maintenance

ActivityStale
ResponsivenessNo issues