Host multiple MCP servers with different HTTP endpoints in one process using keyed services
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
Research direction
Start by examining the existing MapMcp HTTP mapping and dependency-injection registration entry points. Determine how keyed services could support multiple MCP servers and routes, with each endpoint exposing a subset of tools. Done means multiple keyed servers can be registered and mapped to distinct HTTP endpoints in one ASP.NET Core process.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
In my "modulith" (ASP.NET Core) application I want to provide multiple MCP servers/endpoints, so that every endpoint delivers a subset of tools, so that MCP clients are not "overwhelmed" by the amount of tools.
Describe the solution you'd like
I would like to register multiple MCP server as keyed services in dependency injection and call MapMcp multiple times with different routes providing the key used for the keyed services.
builder.AddKeyedMcpServer("key", ...) // etc.
app.MapKeyedMcp("key", "/mcp/key", ...) // etc.
Describe alternatives you've considered
I haven't considered alternatives, because keyed services seems natural for me. Only viable alternative would be "going microservices" and split the application into multiple containers.
- Dominant language
- C#
- Stars
- 4.5k
- Forks
- 814
- Avg merge
- 9d 19h
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from modelcontextprotocol/csharp-sdk
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
modelcontextprotocol/csharp-sdk#1867 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
modelcontextprotocol/csharp-sdk#1840 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
modelcontextprotocol/csharp-sdk#1836 ·
-
enhancement needs confirmation
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
modelcontextprotocol/csharp-sdk#678 · 1 comment ·
-
enhancement needs confirmation P3 ready for work
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
modelcontextprotocol/csharp-sdk#515 · 6 comments · 3 reactions ·
All issues in modelcontextprotocol/csharp-sdk
Similar issues
-
bug frontend good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Type: enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
apache/arrow-adbc#4809 ·