Add advanced MCP tool samples
@ahmedmuhsin is already working on this.
Since Apr 14, 2026.
Assessment
This issue has not been assessed yet.
Description
Request
The .NET Azure Functions MCP sample includes advanced MCP tool samples that demonstrate rich content patterns. We need equivalent samples for the Java worker to show developers how to use these features in Java.
Samples needed (based on .NET reference)
| Sample | What it demonstrates |
|---|---|
| GenerateQrCode | Returning a single rich image response (ImageContentBlock) — generates a QR code PNG and returns it as base64-encoded content. |
| GenerateBadge | Returning multiple content blocks in one tool response (IList<ContentBlock>) — combines text plus an SVG image badge. |
| GetWebsitePreview | Returning a text summary + link block (TextContentBlock + ResourceLinkBlock) — fetches a page's title/description and emits a typed resource link. |
| GetSnippetWithMetadata | Returning both content blocks and StructuredContent (JSON metadata) via CallToolResult for clients that support structured output. |
| BatchSaveSnippets | Batch tool inputs (array/object-style input) — performs multiple blob writes in a single tool invocation. |
| Snippet POCO | [McpContent]-decorated class — auto-discovery of tool inputs (when used as a trigger parameter) and structured content serialization (when returned). |
.NET reference samples
https://github.com/Azure-Samples/remote-mcp-functions-dotnet
Ask: Add samples demonstrating these MCP tool patterns in the Java Azure Functions worker so developers have references for implementing rich image responses, multi-block outputs, resource links, structured content, and batch inputs.
- Dominant language
- Java
- Stars
- 103
- Forks
- 74
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing 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 Azure/azure-functions-java-worker
-
[Feature] Support raw Kafka record (KafkaRecord) binding with Protobuf deserializationPossibly taken @TsuyoshiUshio claimed this 165 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 50/100
-
[Feature] Support for reverse propagation of request telemetry tagsPossibly taken @arnabnandy7 claimed this 59 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
[Feature] Support OpenTelemetry BaggagePossibly taken @arnabnandy7 claimed this 59 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
mcp-extension
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Add MCP (Model Context Protocol) resource samplesMay be free again @ahmedmuhsin claimed this 175 days ago, and no pull request is open. Openmcp-extension
Azure/azure-functions-java-worker#862 · 1 assignee ·
All issues in Azure/azure-functions-java-worker
Similar issues
-
[Bug] Logo style setting missing and `classic` style not applied across multiple platforms (v3.1.0)Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Stirling-Tools/Stirling-PDF#8382 · 1 reaction ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
Maintainers usually reply within 4 days
-
enhancement untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
opensearch-project/sql#5842 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
openhab/openhab-addons#21882 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
YunaiV/ruoyi-vue-pro#1273 ·
Maintainers usually reply within 3 days