# MCP tools with name conflicts aren't routed correctly

**URL:** <https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168>\
**Category:** Bug Reports\
**Created:** [May 13, 2025, 5:38am UTC](https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168 "2025-05-13T05:38:29Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![monday-sun](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/monday-sun/32/41501_2.png) [@monday-sun](https://forum.cursor.com/u/monday-sun)\
**Post date:** [May 13, 2025, 5:38am UTC](https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168/1 "2025-05-13T05:38:29Z")

</div>

When two MCP servers have tools of the same name, the tool call routes to whichever MCP is first in the list.

For example, I’m using a GitHub MCP and the Linear MCP. Both have a list\_issues tool. When the agent calls `mcp_linear_list_issues` we get an error “Missing required parameter ‘owner’ for tool list\_issues” because the _GitHub_ `mcp_github_list_issues` requires an owner. When the order of MCPs is reversed, the GitHub tool always end up calling the Linear MCP.

From debug, the agent also ended up with this assessment: "Certainly. I am using the mcp\_github\_list\_issues tool to list the issues for the pandallel/foundry repository.

Let me try calling it again now.

Called MCP toollist\_issues

It appears the mcp\_github\_list\_issues tool is incorrectly returning Linear issues again, despite being the designated tool for GitHub. This indicates a persistent misconfiguration or routing issue with the tool itself.

Unfortunately, I cannot force it to retrieve the correct GitHub issues under these circumstances."

This is my MCP config  
{  
“mcpServers”: {  
“github”: {  
“command”: “docker”,  
“args”: [  
“run”,  
“-i”,  
“–rm”,  
“-e”,  
“GITHUB\_PERSONAL\_ACCESS\_TOKEN”,  
“[Package github-mcp-server · GitHub](http://ghcr.io/github/github-mcp-server)”  
],  
“env”: {  
“GITHUB\_PERSONAL\_ACCESS\_TOKEN”: “”  
}  
},  
“linear”: {  
“command”: “npx”,  
“args”: [“-y”, “mcp-remote”, “[https://mcp.linear.app/sse](https://mcp.linear.app/sse)”]  
}  
}  
}

System:  
MacOs 15.4.1 (24E263)  
Cursor Version: 0.49.6

---

<div class="post-metadata">

**Author:** ![rbeauchamp](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/rbeauchamp/32/23451_2.png) [@rbeauchamp](https://forum.cursor.com/u/rbeauchamp)\
**Post date:** [May 14, 2025, 6:33pm UTC](https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168/2 "2025-05-14T18:33:03Z")

</div>

Yep, I am seeing the same issue with the same setup

---

<div class="post-metadata">

**Author:** ![henrique](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/henrique/32/35384_2.png) [@henrique](https://forum.cursor.com/u/henrique)\
**Post date:** [May 20, 2025, 11:18am UTC](https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168/3 "2025-05-20T11:18:54Z")

</div>

Same issue but with Jira and GitHub. Had to turn off Jira for it to work.

 ![Screenshot 2025-05-20 at 13.18.31](https://us1.discourse-cdn.com/cursor1/original/3X/7/e/7eec84402933d8277bf29b9c46768efed8b4d232.png)

---

<div class="post-metadata">

**Author:** ![camball](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/camball/32/64333_2.png) [@camball](https://forum.cursor.com/u/camball)\
**Post date:** [June 17, 2025, 8:52pm UTC](https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168/4 "2025-06-17T20:52:01Z")

</div>

Bumping, +1

---

<div class="post-metadata">

**Author:** ![griffithsbs](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/griffithsbs/32/49791_2.png) [@griffithsbs](https://forum.cursor.com/u/griffithsbs)\
**Post date:** [June 18, 2025, 9:27pm UTC](https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168/5 "2025-06-18T21:27:42Z")

</div>

I’ve just released a little package that solves this problem by allowing you to give each server a name and then namespacing the tools it exposes so as to avoid conflicts: [mcpipe - npm](https://www.npmjs.com/package/mcpipe)

For the GitHub/Jira example, if you replace `npx -y jira-mcp` with `npx mcpipe --name jira npx -y jira-mcp` and replace `npx -y @modelcontextprotocol/server-github` with `npx mcpipe --name github npx -y @modelcontextprotocol/server-github`, then:

- Jira’s `create_issue` tool will be exposed to cursor with the name `jira_create_issue`
- GitHub’s `create_issue` will be exposed with the name `github_create_issue`

… and the agent can route requests to the appropriate tool without conflicts.

---

<div class="post-metadata">

**Author:** ![camball](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/camball/32/64333_2.png) [@camball](https://forum.cursor.com/u/camball)\
**Post date:** [June 23, 2025, 8:42pm UTC](https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168/6 "2025-06-23T20:42:05Z")

</div>

This solved my problem—thanks!

Also found out that Cursor allows disabling tools individually by clicking on them, which may solve the problem for others.

---

<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:** [July 23, 2025, 8:43pm UTC](https://forum.cursor.com/t/mcp-tools-with-name-conflicts-arent-routed-correctly/91168/7 "2025-07-23T20:43:04Z")

</div>

Closed on July 23, 2025, 8:43pm UTC

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