# \[Bug\]: MCP Server in Cursor prompts for optional params instead of calling the tool

**URL:** <https://forum.cursor.com/t/bug-mcp-server-in-cursor-prompts-for-optional-params-instead-of-calling-the-tool/148042>\
**Category:** Bug Reports\
**Created:** [January 5, 2026, 8:58pm UTC](https://forum.cursor.com/t/bug-mcp-server-in-cursor-prompts-for-optional-params-instead-of-calling-the-tool/148042 "2026-01-05T20:58:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ericviana](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/ericviana/32/93638_2.png) [@ericviana](https://forum.cursor.com/u/ericviana)\
**Post date:** [January 5, 2026, 8:58pm UTC](https://forum.cursor.com/t/bug-mcp-server-in-cursor-prompts-for-optional-params-instead-of-calling-the-tool/148042/1 "2026-01-05T20:58:47Z")

</div>

### Where does the bug appear (feature/product)?

Cursor IDE

### Describe the Bug

### MCP Server: Cursor prompts for optional params instead of calling the tool

I’m running a custom MCP server (`@blindpay/mcp`: [https://www.npmjs.com/package/@blindpay/mcp](https://www.npmjs.com/package/@blindpay/mcp)) that makes `instance_id` optional when `BLINDPAY_INSTANCE_ID` is set, and auto-injects it at runtime.

**Issue:** In Cursor, the AI still asks me for `instance_id` instead of calling the tool without it.  
**Confirmed:** Works as expected in MCP Inspector, so this looks Cursor-specific.

**Expected (when `BLINDPAY_INSTANCE_ID` is set):**

- User: “list the receivers for my blindpay instance”
- AI calls `GetV1InstancesReceivers` without `instance_id`
- Server injects the env value and the request succeeds

**Actual in Cursor:**

- AI asks for the instance ID rather than calling the tool

**Actual in MCP Inspector (works):**

- Schema shows `instance_id` is not required
- Tool call without it succeeds; server injects the ID and the request succeeds

### Steps to Reproduce

1. Create an MCP server that dynamically removes a parameter from the `required` array in tool schemas when an environment variable is set

2. Configure the MCP server in `~/.cursor/mcp.json` with the environment variable:  
{  
“mcpServers”: {  
“test-server”: {  
“command”: “node”,  
“args”: [“./server.js”],  
“env”: {  
“DEFAULT\_PARAM”: “value123”  
}  
}  
}  
}3. Restart Cursor completely

3. Ask the AI to use a tool that has an optional parameter (made optional via env var)

**Expected** : AI calls the tool without the optional parameter

**Actual** : AI prompts user for the parameter instead of calling the tool

1. Test the same MCP server with MCP Inspector:  
DEFAULT\_PARAM=“value123” mcp-inspector node ./server.js **Result** : Works correctly - tool can be called without the parameter, and auto-injection fills it in

This proves the issue is specific to Cursor’s AI decision-making, not the MCP server implementation.

### Screenshots / Screen Recordings

 ![532106597-b2f37f42-bf78-4945-91a7-a55296850e0b.png](https://us1.discourse-cdn.com/cursor1/original/3X/5/9/59e0502a831569920228bd2a0cc62a2cf67091ca.png)

### Operating System

MacOS

### Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.2.44  
VSCode Version: 1.105.1  
Commit: 20adc1003928b0f1b99305dbaf845656ff81f5d0  
Date: 2025-12-24T21:41:47.598Z  
Electron: 37.7.0  
Chromium: 138.0.7204.251  
Node.js: 22.20.0  
V8: 13.8.258.32-electron.0  
OS: Darwin arm64 25.2.0

### For AI issues: which model did you use?

composer-1 and sonnet 4.5

### Does this stop you from using Cursor

No - Cursor works, but with this issue

---

<div class="post-metadata">

**Author:** ![deanrie](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/deanrie/32/1263_2.png) [@deanrie](https://forum.cursor.com/u/deanrie)\
**Post date:** [January 6, 2026, 5:18am UTC](https://forum.cursor.com/t/bug-mcp-server-in-cursor-prompts-for-optional-params-instead-of-calling-the-tool/148042/2 "2026-01-06T05:18:32Z")

</div>

Hey, thanks for the report. I can see the screenshot from MCP Inspector. The `GetV1InstancesPayouts` tool runs successfully without `instance_id` (API response status: 200). That clearly confirms that:

- The MCP server correctly handles the optional parameter
- The schema correctly shows `instance_id` as not required
- The issue is on Cursor’s side. The AI isn’t recognizing that the parameter is now optional

I’ll pass this to the team.

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/system/32/99069_2.png) [@system](https://forum.cursor.com/u/system)\
**Post date:** [January 28, 2026, 5:18am UTC](https://forum.cursor.com/t/bug-mcp-server-in-cursor-prompts-for-optional-params-instead-of-calling-the-tool/148042/4 "2026-01-28T05:18:53Z")

</div>

Closed on January 28, 2026, 5:18am UTC

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/colin/32/90452_2.png) [@Colin](https://forum.cursor.com/u/Colin)\
**Post date:** [March 25, 2026, 2:05pm UTC](https://forum.cursor.com/t/bug-mcp-server-in-cursor-prompts-for-optional-params-instead-of-calling-the-tool/148042/6 "2026-03-25T14:05:03Z")

</div>

Hey @ericviana!

I walked through your reproduction steps and can no longer reproduce this. Created a minimal MCP server where a parameter is dynamically made optional via an env var. Cursor correctly recognized it as optional, called the tool without prompting, and the server auto-injected the value.

If you’re still seeing this on a recent build, please raise a new thread!
