Skip to main content
RapidDev - Software Development Agency
mcp-tutorial

How to fix MCP tools not showing in Cursor

If MCP tools are not appearing in Cursor's Composer, check three things in order: your .cursor/mcp.json has valid JSON syntax, the MCP server is actually running and connected (green dot in MCP status), and the Cursor window has been reloaded after config changes. Cursor also has a soft limit of around 40 tools — if you exceed this, some tools may not appear.

What you'll learn

  • Why MCP tools might not appear in Cursor's Composer
  • How to validate your .cursor/mcp.json configuration
  • How to check MCP server connection status in Cursor
  • How to work around Cursor's tool limit
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner6 min read5-10 minCursor 0.40+, all MCP serversMarch 2026RapidDev Engineering Team
TL;DR

If MCP tools are not appearing in Cursor's Composer, check three things in order: your .cursor/mcp.json has valid JSON syntax, the MCP server is actually running and connected (green dot in MCP status), and the Cursor window has been reloaded after config changes. Cursor also has a soft limit of around 40 tools — if you exceed this, some tools may not appear.

Fixing MCP Tools Not Showing in Cursor

You have configured an MCP server in Cursor, but when you open Composer and type @, your server's tools do not appear. This is a common issue with several possible causes. This tutorial walks you through each cause in order of likelihood, from simple config errors to the tool count limit.

Prerequisites

  • Cursor IDE installed (version 0.40 or later)
  • An MCP server configured in .cursor/mcp.json
  • The MCP server package installed or available via npx/uvx

Step-by-step guide

1

Validate your mcp.json syntax

The most common cause is invalid JSON in your .cursor/mcp.json file. A single trailing comma, missing quote, or mismatched brace will silently prevent all MCP servers from loading. Cursor does not always show a clear error for JSON syntax issues. Open the file and validate it manually or with a JSON linter. Pay special attention to trailing commas after the last item in objects and arrays — JSON does not allow them.

typescript
1// Check your .cursor/mcp.json file
2// WRONG — trailing comma breaks JSON
3{
4 "mcpServers": {
5 "github": {
6 "command": "npx",
7 "args": ["-y", "@modelcontextprotocol/server-github"],
8 }
9 }
10}
11
12// RIGHT — no trailing comma
13{
14 "mcpServers": {
15 "github": {
16 "command": "npx",
17 "args": ["-y", "@modelcontextprotocol/server-github"]
18 }
19 }
20}
21
22# Validate from terminal:
23cat .cursor/mcp.json | python3 -m json.tool

Expected result: The JSON validator confirms valid syntax, or shows you the exact error to fix.

2

Check the MCP server connection status

Cursor shows MCP server connection status in the bottom status bar or in the settings. Look for the MCP indicator — a green dot means connected, red or absent means disconnected. You can also check by opening Cursor's command palette (Cmd+Shift+P) and searching for 'MCP' to see server status. If the server shows as disconnected, the server process may have crashed or failed to start.

typescript
1# Steps to check MCP status in Cursor:
2# 1. Open Command Palette: Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows)
3# 2. Type: "MCP" or "Model Context Protocol"
4# 3. Look for server status options
5# 4. Check if your server shows as connected
6
7# Alternatively, check Cursor's Output panel:
8# 1. View Output (or Cmd+Shift+U)
9# 2. Select "MCP" from the dropdown
10# 3. Look for connection errors

Expected result: You can see whether your MCP server is connected or disconnected, and any error messages in the output.

3

Reload Cursor after config changes

Cursor reads the mcp.json file at startup or when the window reloads. If you edited the config while Cursor was running, the changes may not have been picked up. Reload the window using Cmd+Shift+P then typing 'Reload Window'. For stubborn cases, quit Cursor entirely and reopen it. This forces a fresh read of the config file and a fresh connection attempt to all servers.

typescript
1# Reload Cursor window:
2# 1. Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows)
3# 2. Type: "Developer: Reload Window"
4# 3. Press Enter
5
6# If that does not work, fully quit and reopen Cursor

Expected result: Cursor reloads, reconnects to MCP servers, and tools appear in Composer.

4

Verify the server has tools registered

If the server connects but reports zero tools, Composer has nothing to show. Test the server independently using MCP Inspector to confirm it actually exposes tools. Some servers only expose resources or prompts, not tools. Others may require specific environment variables to initialize their tool list. Run the server with MCP Inspector and verify tools appear there.

typescript
1# Test with MCP Inspector
2npx -y @modelcontextprotocol/inspector
3
4# In the Inspector web UI:
5# 1. Enter your server command
6# 2. Click Connect
7# 3. Check the Tools tab tools should be listed
8# 4. If no tools appear, the server has none registered

Expected result: MCP Inspector shows the server's tools, confirming they are properly registered.

5

Work around the tool count limit

Cursor has a soft limit of approximately 40 tools across all connected MCP servers. If you have many servers or servers that expose dozens of tools each, some tools may be silently dropped. The fix is to reduce the number of connected servers or configure servers to expose fewer tools. Prioritize the servers you use most often. If your workflow requires many MCP tools and you need help designing an efficient configuration, the RapidDev team can help optimize your setup.

typescript
1// Example: connect only the servers you need
2// Instead of 5 servers with 50+ total tools:
3{
4 "mcpServers": {
5 "github": {
6 "command": "npx",
7 "args": ["-y", "@modelcontextprotocol/server-github"]
8 },
9 "filesystem": {
10 "command": "npx",
11 "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
12 }
13 }
14}
15// Keep total tools under ~40 for best results

Expected result: With fewer total tools, all tools appear correctly in Cursor's Composer.

Complete working example

.cursor/mcp.json
1{
2 "mcpServers": {
3 "github": {
4 "command": "/opt/homebrew/bin/npx",
5 "args": ["-y", "@modelcontextprotocol/server-github"],
6 "env": {
7 "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
8 }
9 },
10 "filesystem": {
11 "command": "/opt/homebrew/bin/npx",
12 "args": [
13 "-y",
14 "@modelcontextprotocol/server-filesystem",
15 "/Users/yourname/projects"
16 ]
17 },
18 "memory": {
19 "command": "/opt/homebrew/bin/npx",
20 "args": ["-y", "@modelcontextprotocol/server-memory"]
21 }
22 }
23}

Common mistakes when fixing MCP tools not showing in Cursor

Why it's a problem: Having trailing commas in mcp.json

How to avoid: JSON does not allow trailing commas. Remove the comma after the last item in every object and array.

Why it's a problem: Using the project-scoped config when you meant global, or vice versa

How to avoid: Project config is .cursor/mcp.json in your workspace root. Global config is ~/.cursor/mcp.json. Make sure you are editing the right file.

Why it's a problem: Not reloading Cursor after editing mcp.json

How to avoid: Use Cmd+Shift+P → Reload Window after every config change.

Why it's a problem: Exceeding the ~40 tool limit with too many servers

How to avoid: Reduce the number of connected servers or consolidate tools into fewer custom servers.

Best practices

  • Validate mcp.json with a JSON linter after every edit
  • Use absolute paths in the command field to avoid PATH issues
  • Reload Cursor's window after any MCP configuration change
  • Keep total tool count under 40 across all servers for reliable tool discovery
  • Check Cursor's Output panel (MCP channel) for detailed connection errors
  • Test new servers with MCP Inspector before adding them to Cursor

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

I configured an MCP server in Cursor's .cursor/mcp.json but the tools are not showing up in Composer. Here is my config: [paste config]. Help me figure out why the tools are not appearing.

MCP Prompt

My MCP server tools are not visible in Cursor Composer. Check my .cursor/mcp.json for errors and tell me what to fix. Also explain how to verify the server is connected.

Frequently asked questions

Where is the .cursor/mcp.json file located?

For project-scoped servers, it is at .cursor/mcp.json inside your workspace root directory. For global servers available across all projects, it is at ~/.cursor/mcp.json in your home directory.

Can I use both project-scoped and global MCP servers?

Yes, Cursor merges both configurations. Project-scoped servers from .cursor/mcp.json are combined with global servers from ~/.cursor/mcp.json. If the same server name appears in both, the project-scoped config takes precedence.

How many tools can Cursor handle from MCP servers?

Cursor has a soft limit of approximately 40 tools across all connected servers. Beyond this, some tools may not appear in the Composer interface. This limit may change in future Cursor updates.

Do I need Cursor Pro for MCP servers?

MCP server support is available on all Cursor plans, including the free Hobby tier. However, Agent mode (which makes the best use of MCP tools) requires Cursor Pro or higher.

Can I see which tools are loaded from each server?

Check the Cursor Output panel (View → Output → select MCP) to see connection logs. MCP Inspector provides the most detailed view of tools per server — use it for comprehensive debugging.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.