MCP Apps: Add ergonomic WithAppTool helper to reduce wiring boilerplate
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- csharp, typescript
- Domain
- api, developer-experience
Research direction
Start by reading the review discussion in PR #1484 and tracing the current WithTools(), WithResources(), WithMcpApps(), [McpServerTool], [McpAppUi], and [McpServerResource] usage. Compare the TypeScript registerAppTool(...) pattern, then clarify whether the desired outcome is a C# WithAppTool overload or an end-to-end documentation recipe. Done means the chosen approach removes or clearly documents the repeated tool and UI-resource wiring.
Written by the indexing model from the issue text.
Description
From PR #1484 review comment by @halter73:
Ergonomics suggestion (worth considering as a follow-up): the TypeScript
@modelcontextprotocol/ext-appspackage exposes aregisterAppTool(...)helper that bundles tool registration + UI resource linkage in one call. Today a C# user has to doWithTools<T>()+WithResources<T>()+WithMcpApps()+[McpServerTool]+[McpAppUi]+ a matching[McpServerResource]with the right MIME type. A combinedWithAppTool(method, resourceUri, htmlFactory)overload — or at least a doc section showing the "complete recipe" end-to-end — would cut the wiring boilerplate significantly.
Consider adding a combined helper (e.g. WithAppTool) that bundles tool registration + UI resource linkage into a single call, similar to the TypeScript SDK's registerAppTool(...) pattern.
- 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
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
t/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
ci-failure-cause test-failure
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
area:auth FE mvp P3
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
klasolsson81/jobbliggaren#1788 ·